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. After 12 months of programming, here’s what I’ve learned.
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 an being picked up by start ups, 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. So, hop onto you computer and go job hunting.
What factors to consider
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 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.
So 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.
Here is my list of factors to consider, starting with greatest priority.
- Go with your passion. Some people may place this at the top of the list. The reason I placed it as lowest priority is because the most important factor is to get a job so you can acquire experience first. The most important factor is to get your foot in the door and your greatest chance is by meeting the requirements of skills with the highest demand. Once you do have that job, you can easily learn any language or stack on your own and then apply for those jobs later. I am currently a software engineer for a consulting company doing full stack web development with Java and AngularJS. But, as I mentioned before, I have the greatest interest to do mobile development. That’s why I am finally taking the time to learn Swift so I can start getting into mobile development.
Now, if finding a job is not your most important factor, than maybe you can go with your passion with little regard to the job market. I would take the advice I am giving and suite it to your own needs and what you think is best to help you succeed. Not everyone is the same. But, I think the factors I have listed out will help guide you in making the right decision for yourself. Let me know what you think in the comments! Any other advice? Questions? I’d love to hear from you. Good luck coding!