The backstory
When I was at school I didn’t really have much ambition. I liked to draw and paint, so I decided to study Fine Art at college. I didn’t have a career in mind, I just basically felt like I needed to do something, so why not pick something I had a natural talent for? Skip ahead a few years and I am stuck with a pointless art education, working various dead-end jobs in-between stints of unemployment.
I had always had some degree of interest in web development. When I was at college I would make fan sites for bands that I was into using HTML (back when you had to style everything using tables because CSS wasn’t a thing). I’d made various half-hearted stabs at getting into it, but these never really went beyond making a website vaguely advertising my skills with no real plan behind it.
Soon enough my thirties rolled around, and I was working a really soul-destroying job; starting at 6am to go spend my days getting showered with dog turd juice as I slung bags on rubbish onto a truck. The years went by and I got more and more depressed and felt more and more stuck.
I decided to give coding another shot, if nothing else to just give me some semblance of hope, as I grew increasingly fed up with my situation. I learned JavaScript, got up to speed on HTML and CSS and started to make a few simple projects. Made myself a resume that was aimed at web development and started to apply for jobs. Eventually the depression took its toll again and I stopped holding on to that glimpse of hope. I stopped applying after getting rejection after rejection because I felt like it was making me feel worse rather than giving me hope.
But then after I had pretty much resigned myself to my fate, I got an interview for one of the jobs that I’d applied for. Went in, decided to just be myself and speak honestly. And after completing a relatively simple technical test, I was elated to hear that I got the job!
What I did wrong
The first mistake I made was way back when I was finishing school and I didn’t have a plan for my future. Instead of just deciding to drift through life, I should have made a more concrete decision about what I wanted to do, and applied myself. I was already quite interested in computers and the internet when I was finishing high school, so I could have seen a future in it, but I decided to let apathy win the day. I didn’t try hard in my exams and I ended up studying something mostly useless just because…
The second mistake I made, after going down the wrong path was not putting sufficient energy and resources into getting off it. I made half-baked attempts, and didn’t really approach it with the tenacity to succeed. Even in the efforts that got me the job, I ended up giving up because I didn’t have sufficient hope and drive. If I didn’t get the offer I might still be emptying litter bins right now.
Its only really since getting the job that I developed a real desire to succeed. If I could go back to my younger self I would tell him to get his backside in gear and put some effort into achieving something. Really, this is all you need; determination.
What I did right
When I was learning I would always seek to apply whatever it was I learned to an idea of my own. When you are studying and learning to code, don’t just follow and copy tutorials. To some extent you have to follow tutorials to get the basics, but you should always be asking yourself, what can I do with this concept? If you have an idea you should try it out. This is where the real learning comes in.
I believe it was my willingness to experiment and do something a bit different that made me stand out. Everyone makes a calculator app. What can you make that expresses who you are? For me it was an absurd random poetry generator and a portfolio site based around an infinitely looping 3d generated video that I made using Blender.
Whatever it is that gives you a unique edge, that is what you should be doing. Whenever you learn something and that little light bulb goes on and you think ‘I wonder if I can use this to do that…?’ you should do it.
Mindset is key
If you are working a job that doesn’t fulfill you, and you are trying to get out of it. You need to have a better mindset than I did. Don’t do anything half-baked, and don’t allow yourself to give up. You might get hundreds of rejections, but it only takes one to get accepted and your life will turn around. Don’t let depression and lethargy weigh you down. You have to keep trying and stay motivated. The only sure road to failure is giving up.
A note on discouragement
It is especially true these days, with the onset of A.I. that you will hear many voices that try to discourage you. “Programmers are going to be obsolete in X no. of months due to A.I”. There is actually no substance to these claims. You should absolutely learn to utilize A.I. where it is genuinely useful, but in so doing you will quickly learn that it has it’s limits. Use A.I. to accelerate your progress, don’t let people fool you into thinking it is your enemy. If you do this, then you will be ahead of the curve. Even if the doom-sayers are correct you are not going to be useless in an A.I. driven world if you have familiarized yourself with it. So don’t worry. Don’t let the discouragement affect you. There is no reason whatsoever to assume that A.I. will improve exponentially.
The other thing you will find on the internet is opinions. Opinions everywhere you look. People will tell you that this or that coding language is superior, or that such and such should be done in this way instead of that. Everyone has an opinion. Be careful of which opinions you give weight to, or you will quickly find yourself at a loss. The fact is if you are fascinated by a particular thing and you are inspired and motivated to learn because of it, then don’t let anyone tell you that what you are doing is a waste of time. If you love React, do React, if you hate it and would rather do PHP backend, do that. There is no right or wrong way forward. If a language or framework is popular enough for you to have heard about it, the chances are there will be a job out there that will utilize it. So stop worrying so much about someone else’s opinions, unless its about stuff that objectively makes for bad or unsafe code.
In conclusion
The only thing you really need to get out of a dead end job is commitment and unceasing motivation. Tell yourself that you are going to write a little bit of code every day no matter what happens. And that you are going to better yourself no matter how badly things seem stacked against you. Do the stuff that motivates and inspires you. Be careful who you listen to, and ignore all the bros who will tell you that your efforts are futile. Make a commitment to become the best programmer you can be, and don’t give up.