How to become a software engineerWritten by: dc admin on 31 Jan 21 | Post last edited: 08 Feb 21
Have you ever wondered what it takes to become a Software Engineer?
Well, we have brainstormed and decided to write a post following the combined effort of two software engineers working for TheDigitalCrunch to outline what the general path is to become a professional in this industry or as the title suggests, a "software engineer".
You might be surprised, or you might be put off the idea. Either way this should clear things up for you a bit!
What Is a Software Engineer?
To summarise what a software engineer does – essentially they are an IT professional who supports the design, development (writes the code), testing and maintenance of various software solutions for any specific business requirement.
There isn’t too much difference between a software engineer and a software developer, companies tend to view them as the same thing. If you plan to search for a job of this type then make sure you are looking for both of these terms.
Where do you start?
We would suggest to start by learning some programming languages, a fairly easy one to learn would be Python. There are endless possibilities with this language (as well as others), the documentation online in sites like stack overflow is huge. If you are not sure on how to do something in python a quick google search will usually help you out. There are also hundreds of libraries and packages to support your workflow – whether this be a web application you are building or some handling of data science work you might be involved with – you will always be comfortable there are many articles online to help out. We would recommend picking up on these by signing up to an online platform.
One of the better platforms worth considering would be TeamTreeHouse.com. This site is a great option to get started and they also offer a 7 day free trial. If you don’t want to continue after this then just cancel following your free 7 days. The courses and coding bootcamps on there are interactive and will aim to get you a good understanding of many topics of programming languages.
Whilst it may seem overwhelming to get to grips with the vast amount of programming languages and technologies – you will soon realise that you don’t need to be fluent in all of them.
For the most part you will just need some basic understanding as you might only need to understanding the basics, for example you might want to understand how to schedule a python script to be run on a Linux operating system. In this example you would need to know how to navigate in Linux and set up a “cron job” using some basic commands with VIM and bash. Some other programming languages and technologies you try to get familiar with are:
Python, Go, Typescript
Powershell, bash, git, cli
Cloud computing (AWS, GCP, Azure)
Some database knowledge will go a long way (NoSQL, SQL, Cloud databases etc)
Terraform, Cloud formation
Understanding of the DevOps process
The best advice a software engineer can give to others looking to gain a similar role for their career is to never stop learning and keep practicing.
For many hiring companies, there are no longer requirements for you to have a computer science degree or 10 years experience. All that is usually required is demonstrable knowledge and a passion for this type of work and, following those courses online will put you in good stead to becoming a software engineer.
Build your portfolio of work
A great place to store all of those projects during your learning is the most popular global verion control system (Microsoft owned) GitHub. It’s a free and open platform for you to version control your work which in turn enables you to build up a portfolio of the great pieces of work you can build in your learnings. We would strongly recommend doing this – Learning github is also a quick thing to learn which is also worth doing as you will 99.9% need this skill in any software IT type role.
Some companies and IT governing bodies offer certifications which can also go a long way as they will highlight to hiring companies that you are competent in specific areas. For example you can become a ‘AWS Certified Developer’ at associate and professional level which would show you are comfortable working and developing applications for and in the cloud.
Some IT professionals like to go to ‘meet-ups’ with other like minded individuals wher you can discuss topics, or share knowledge and also to make new friends. This might also help support you to get your foot in the door of hiring companies.
LinkedIn – always ensure you have visibility of your agenda and work on the linkedin platform. This is a great way to show your capabilities and show off those certifications and accomplishments. Be sure to also link your GitHub pages to show your work too!
You can offer your work on sites like Fiverr. If you take on a project to build a website for example you could also outsource the front-end or graphic design elements to a graphic designer on here too. It's really a good place to begin your work as a software engineer.
Applying for a role and nailing a coding interview
Always ensure you have an up to date CV Resume, and this is kept in line with your LinkedIn profile. You can start to apply for roles on LinkedIn or other areas. It would be worth also speaking to various friends and family to see if they have any contacts in their respective companies who might support you joining in their IT department.