Sam: “So how long have you been a web developer?”
Me: “Just over a couple years”
Sam: “Cool. How’d you get into the space?”
Me: “I took a few online courses and pretty much taught myself to code.”
Sam: *Insert bewildered look* “Oh – do you have a computer science background or something?"
Me: “No. Not at all. I have a business background.”
Sam: *puzzled look*
I can appreciate that to many, learning to code and the concept of entering the technology field seems like a daunting, overwhelming task, especially for someone who has no technical/computer science background, has never been a whiz with numbers and generally wouldn’t even know what “code” is. I would know because I was this person. I want to demystify the path to becoming a developer/programmer. Whether someone is currently in a career and is considering a change of direction, or is being forced to look for new opportunities because of layoffs and other setbacks, breaking into the field of technology is possible.
In this post, I’m going to just start with the mental. I don’t want to get too philosophical or turn this into a personal development piece, but mental fortitude is mandatory. I read a quote recently: “Anything now easy was once hard.” It’s true. Learning to code is hard in the beginning. I’m not going to lie. For me, it’s equivalent to the first few weeks of a new workout regimen. Those first weeks are gruelling, painful, and test your resolve. The same applies to coding.
I can’t begin to explain how many times I wanted to throw my newly purchased MacBook through a window after spending hours/days trying to troubleshoot a problem (and to find out that problem was simply a missing comma/period would often lead me to chug a strong drink). Not having a classroom or mentor to bounce problems and solutions off of compounded these feelings further. But I kept going. Figured things out. And just kept believing that like anything else I’ve been good at, the more I practised, the better and more competent I would get.
Just like with a new workout regimen, after a couple months, you don’t necessarily love the workouts yet, but starting to see the fruits of your labour gives you a drive that keeps you going. You eventually hit a similar stage learning to program. You learn how to troubleshoot your errors and you can actually start building things from scratch, something that was impossible months earlier. Then, you actually start to gain some confidence and competence as the results and the learning curve start to finally level out...a little bit.
In my next post, I’ll explain in more detail some of the resources that I used to get started and moving in this journey. But before we get there, here’s a shortlist of the intangible/non-technical skills I think go a long way in becoming a coder:
Enjoy Googling…a lot – How and what to Google becomes a jiu jitsu-like art and skill that you develop as you try to solve the countless bugs and errors you’ll run into. This was probably the biggest surprise I learned as a developer.
Be Comfortable Never Knowing Everything – Tech changes so quickly and in the world of web development/programming – there are undoubtedly some gurus who know a web language inside-out, but even they will tell you that in this space, you honestly never stop learning and no one knows everything. There’s just too much to know.
Patience / Resolve – A bug in your code may take you a week to solve. It’s greatly rewarding when you do solve it but you have to be willing to trek through sludge to get to that solution.
Dedication – You HAVE TO code almost every day or you lose it. At least from my experience. A week off and it can feel like you’ve gone back a month. It could be simply an hour in the evening after work, but you just have to commit to putting in time daily to get over the learning curve, especially in the early stages.
As daunting as it may seem, it is possible. But you don’t have to take my word for it. If you need one more piece of inspiration to dispel why you can’t be a programmer – check out this blind web developer.