Friends and acquaintances occasionally ask “How do you become a software developer?” Most of them already have careers in different fields and are interested in software development for different reasons. Some are unsure about the future of their industry and think that IT owns the future. Others are attracted to high salaries. And some are just curious to learn a new thing.

Regardless of their reasons are and whether this is the correct choice for them, I’ve started thinking about the different ways it’s possible to join the industry. When I started, my approach was easy: sit in front of the computer 10 hours per day six days a week and learn everything you can get your hands on. Easy peasy. I was able to pull that off since I was a student and I only had to balance that with my studies and occasional nights out. When you have a family, a job, and other obligations in life, this is a tad more difficult.

Few of us have the freedom to drop everything and pivot into becoming coders.

Yet, there is nothing unrealistic about it. The commonplace mantra states that the journey of a thousand miles begins with a single step. You just need to pick a direction. The Internet provides a plethora of platforms and services to learn to code, and we’ll talk about them in more detail at some point. This story is more about what to learn, rather than how.

How do you figure out where to go?

IT is a huge and wild industry even for people already working in it. And it’s a blank spot on the map with dragons and giant turtles for most of the people outside of it. It’s difficult to figure out what to learn first: web development, mobile apps, VR, AI, or something else?

The good news is that whatever you choose, you’re likely to get something good out of it. It’s true, that at any given moment, some specialties are in higher demand than others, but the global IT market is still understaffed, so there’s a demand for different kinds of specialists. Instead of trying to hop on that bandwagon the current big thing, pick a thing that works for you.

Here are a few ideas on how.

This one is easy. Is there anything technological that you already love? Popular choices would be video games, favorite mobile apps, beautiful websites, or smart homes. All of these things have some code under the hood. Investigate what tools and platforms drive those things. For game development, learning Unity or GameMaker is a popular choice. When building websites, you can’t go wrong with learning PHP or JavaScript.

Focus on what you want to build instead of what tools to learn. Your prior experience with the corresponding products should give you an understanding of what’s considered qualitative and valuable in your chosen area. Basing your studies on something you’re already interested in should give you additional motivation to see your new interest through.

Look for Opportunities at Your Current Workplace

Some jobs have the potential to use coding to help with their responsibilities:

The list goes on.

One of the things coding is good for is automating routine tasks. Look at your day to day work and see if anything could be done automatically. When doing this you’ll feel immediate satisfaction from applying your new skills to solve real-life problems. There’s also a good chance you can do some of this during your regular work hours.

Address a Personal Need

Honestly, this is not my personal favorite approach. For some reason, I prefer to use other people’s software, instead of writing my own. However, when I just started learning, there have been a couple of projects I’ve created for myself. One of them was a web app that helped me memorize words in foreign languages. Another one was a tool to extract transactions from my bank to import them into a personal budgeting tool.

Look back at your ordinary week and see if there’s some repetitive work you can automate. Or maybe create an app or a game for your kids? It doesn’t really matter if there’s a similar product available on the market.

Remember, your not just doing it for the features, but to learn along the way.

Learn From Your Friends

It’s always better to learn from successful people. See if you have a friend or acquaintance who is already involved with the industry and is willing to share their experience. Ask them if they would be willing to mentor you. For a lot of us helping a newcomer is a way to give back to the community that helped us in our time, so we would be glad to help out with advice.

There are millions of online platforms and forums where you can ask for help and get in touch with other specialists, but nothing beats a personal touch. Try to keep this relationship ongoing and use it not just as a source of information, but also as a source of motivation.

Oh, and when you make it, don’t forget to pass on your success.

Cast a Broad Net

I generally don’t advise starting with a particular technology just because it’s in one or another way superior to the other. For me, it’s more important to build what you love than using the perfect tool. However, if you can’t identify your area of interest from the beginning, start by learning something universal.

Consider starting with JavaScript. It’s not the cleanest and the most well-designed language out there, and it’s rightfully hated by a lot of people, but it’s the most common programming language at the moment of writing

There are only two kinds of languages: the ones people complain about and the ones nobody uses."― Bjarne Stroustrup)

Learning JavaScript will allow you to create server-side applications, websites, desktop, and mobile apps as well as do robotics, animations, visualizations, or games. Whatever you start with, the experience you gain will be instantly useful should you decide you pivot in a different direction.

Take Away

To repeat the corny mantra: to become good at something you need to start working on it. Find an idea you’re excited about and start working on it. And if nothing comes to mind, visit https://what-to-code.com/ for some ideas on what to code next.

Good luck!