So, you’ve decided to learn how to code. The questions is now, where should I begin? What language should I learn? With so many languages and stacks out there, the decision can be pretty daunting. Just a little over a year ago today, I also decided to make the big leap into software development. At the time, most blogs and articles I read told me it doesn’t matter what language you learn, just choose one and the others will come easily; “the important thing is to just start coding.” Though this is great advice in many respects, it’s also not the best. Let’s break down what you should consider when choosing a language.
What do you want to build?
I often get asked about choosing the “right” path in programming. What career should you pursue, cyber security, web development, iOS, AI? A decision like this is entirely up to you. There is no right answer, just your own.
There is a need for programmers for all types of projects. You will need to do research and potentially shadow people to see what projects you want to build. I personally love being able to create something, such as a website, that people use and enjoy. Or perhaps you want to develop games? Other people like to break a system or learn how to protect it, so ethical hacking or cyber security is for them. Once you learn what you want to build, do research on good ol’ Google to see what languages you should be learning to build that exact thing. Here is a general breakdown by specialty (not exhaustive, but gives you a general idea. I still recommend reading the rest of this article to make your final decision):
- For data science, look into Python or R.
- For AI or machine learning, look into R, Python, or Java.
- For mobile development, choose Kotlin for Android and Swift for iOS. I don’t recommend using wrapper frameworks like Flutter or React Native.
Build upon your current career
I currently have a friend studying urban planning and she is very interested in the data driven decisions for city planning. She recently told me that this discovery taught her she would need to look into programming languages to boost her resume and help her pursue her dreams. The perfect languages for data analysts would be Python and SQL, which is exactly what she intends to learn to help her meet her goals.
In your research, you may find there are multiple languages and frameworks you could use for building a website or a mobile app, for instance. So let’s talk about how to narrow it down.
It’s all about demand
“.NET because that has the most jobs in the area. And once you learn one stack, it’s easy to pick up the other ones on your own.”
After hearing all these articles telling me how the MEAN stack was new, exciting and used by startups, I was also set on going with this lucrative and new stack. But here’s the issue: just because something is shiny and new, doesn’t mean it’s the best option. The most important part of all the hard work and time you will be committing to learning how to code is getting that job (unless you plan on freelancing). So, hop onto your computer and go job hunting.
Consider location when choosing a language or stack
Once you’re on a job engine site, start doing job searches by language. To put my instructors advice to the test, I went home that same day and entered a search for C# and then .NET. I then also did a search with keywords for the MEAN stack. He was right. There were by far more jobs for .NET then there were jobs for the MEAN stack in my area. That also made me wonder, then, why would you also teach MEAN if it’s not as in high demand? I researched and noticed that the MEAN stack was more popular in Silicon Valley and with start ups in almost any city. This is because the stack is open-source unlike .NET so there is less cost involved for the business, which is important for start ups.
Now you have to consider some factors. Where will you be applying for jobs? If you are willing to relocate just about anywhere, then you can choose almost any language or stack. You will have more flexibility. If you are looking to narrow your job search to your local area, base your decision off the job market there.
You can always branch out later
Just because you choose a language or stack now does not mean you are stuck with it for life. Technology is always changing and you will always need to update your skill set and learn new skills or languages.
Like I mentioned before, I got into the .NET MVC stack because my primary goal was to land a job. Now, not only have I helped develop websites, but I’ve also built data streaming pipelines for 20th Century Fox. And now with my new job, I am learning NodeJS, ReactJS, and PHP Laravel for our website as well as Swift for our mobile iOS apps! You will never be tied down to your first language as long as you want to learn something new.
To sum it all up…
In the end, the language you choose is going to be highly dependent on a mix of these factors:
- What do you want to build? What languages do you need to know to accomplish your goals? Google and job engines will have answers for you.
- What languages are in demand? Include location in your research of where you’re willing to work/live. Demand varies by location. This is only a factor if you’re looking for a job. If you’re freelancing, you can choose anything you want!
Remember this is only your first step to starting your career. What you choose now is not the end-all, it is only getting your foot through the door. Once you learn one language, the other ones will come more easily and jobs will expect you to learn new languages now and then for work. You’ll never be bored!
You may also want to check Stack Overflow’s 2018 Developer Survey just get more insight in the tech field like developer demographics, life outside work, and technical questions. It’s mainly an interesting survey to gain insight into the field and individual developers as well as see any trends.
Good luck and happy coding! 🙂
Originally published at techgirlrising.com on September 15, 2018.