The internet is a wonderful place with a ton of information, we are in an era where we can teach ourselves anything, a lot of us on the self learning path no this all too well. However the other side of the coin is that the internet can be a dangerous place, full of opinion stated as fact, full of people claiming that there personal experience and circumstance is the same for everyone, which I hope is pretty obviously false.

The strange thing is, even when we assume it is stupid and false initially, we sometimes start to doubt ourselves when things get repeated a lot or when someone we think highly of has a specific opinion or whatever.

I promise, I’m going somewhere with this, so just bear with me a minute. The first key takeaway is always be critical of anything you hear/read, regardless of who it is from whether that be a credible and reputable company or individual.

What’s Your Point

I guess you’re wondering where I am going with this, well I’m talking about the modern technologies and what we decide to learn as programmers, online you will read a lot about PHP being pointless, go all in on React and a whole host of other ridiculous statements, but this advice is nonsense until you make it about you.

First off you need to decide why you are learning to code, if it is for a hobby and to have fun then by all means go ahead and learn anything, whatever is ‘the shit’ right now, but if your goal is to get a job then you need to do way more thinking and research before you start.

So, You Want to Get a Job?

If a job is your goal then I would advise extreme caution about getting on the hype train that is modern technologies. Yes the likes of Facebook and Netflix are using all the modern tech stacks right now, as are many other companies in Silicon Valley. If that is your goal, to work for a tech giant in the tech capital of the world then shoot, but I would say that is where the minority of us are headed.

If you don’t fancy working for one of the tech giants or moving half way across the world then you need to change your approach.

Here’s what you need to do:

  • Check what companies in your region are using
  • Scour job descriptions
  • Speak to devs in your area
  • Reach out to recruiters

If everyone around you wants .NET or PHP then .NET or PHP is what you need to know. Furthermore if that is the case then don’t just bemoan your bad luck and whine about having to work with a shitty language, take some time to look at it, it’s strengths, it’s weaknesses, the syntax etc. I’m sure a lot of you will find it is not as bad as what a lot of people make out.

So I hope you guys can take this advice on board and pursue the right learning path for your needs, especially when starting out, once you have a few years under your belt you can then be more picky about the tech you work with, look into remote working so that you are able to work with the stack you want without uprooting your whole life etc, but for now, if your goal is to get a job, then learn whatever is popular around you.

I’m Guilty Too!

This post came about because I made the same mistake, I was falling in love with React, Angular and TypeScript, even flirting with the idea of learning Go too, but in reality those really wouldn’t be the most efficient technologies to learn to get me a job.

My current situation is not the best, I need a job as soon as I can, so I decided to shift my focus and with help from my mentor I realised that I was doing the wrong things and needed to make a change, so while I will continue on with learning JavaScript and possibly some React here and there a lot of my focus will now be on PHP and Laravel, which is what is in high demand in my region.

Final Thought

To wrap things up, I just want to say that you shouldn’t worry if this is you, like I said, I was guilty of this and it is important not to beat yourself up about it, the things you have learnt will always be useful and make you a better programmer, so don’t sweat it, just refocus your learning on what is most relevant and you will instantly be closer to getting that first job.