So You Want To Be A Software Engineer?

So You want to be a Software Engineer

Whether you’re stuck in a career you dislike or re-entering the workforce, transitioning into a career as a software engineer is possible. As long as you’re willing to put in the hard work. Here are some steps to help you get started:

  1. Choose a Language to Learn and start from basics

When getting started, many people get stuck deciding which language (and framework) they should learn. Python and Django? Ruby on Rails? MEAN stack? There are so many choices, but so little time.

Tip: Once you know a particular language/stack well, it is not difficult to pick up a new one. That means that when you’re becoming a software engineer, what you want to focus on is understanding programming fundamentals.

Once you have a solid foundation, you can easily transition to new languages, frameworks, and technologies. The most important aspect of it is that you’re learning how to think like a developer.

2. Build Something

With a basic understanding of a programming language, it’s time to put that understanding to work and find out where your gaps are. The best way to do this is to try and build something.

Don’t get too ambitious at this point–but also don’t be too afraid. Pick an idea for an application that is simple enough that you can do it with some effort, but not something that will take months to complete. Don’t try to do something full stack (meaning, using all the technologies from user interfaces all the way to databases).

For your first real project you might want to consider copying something simple that already exists. Look for a simple application, like a To-Do list app that many tutorials out there start out with.

3. Read Other Developer’s Code

Another important step of becoming a software engineer is to learn how to read other developer’s code. You can do this by browsing through GitHub repositories, and looking through source codes and documentation.

Sometimes, documentation can be wrong, but the source code never lies. By learning to read that code, you’ll be able to grasp what is going on and how a program works. This skill is also important when it comes to debugging, because you’ll be able to identify which piece of the code is throwing errors.

This is often a skill people ignore, but it can really help you to see how experienced developers do things. Don’t just do a fast skim through of the code, either. Dive deep, learn the ins and outs, map out the functionality, and finally, re-code it if you can. This way, you’ll be able to reverse-engineer an existing program, helping you understand that much better how to create one of your own.

4. Build Up Your Portfolio

As you learn new languages, build projects, etc, you should also maintain an online portfolio to showcase your new skills to potential employers. Here are some ways you could do so:

  • Create a GitHub profile
  • Maintain a blog

Or create an IoTalents profile, which will expose your portfolio and social links to potential employers. When you update your skills, potential employers will receive notifications on potential candidates whose skills matches the job requirements. is an integrated platform for online Hirers and IT Workforce (Employees, Contract workers and Virtual Talents) to get intelligently connected and transact. We match companies to awesome talent, through a precise combination of data science and human judgement.