Teaching Yourself to Code - Advice from Those Who Did
HackerRank's survey shows 27.4 percent of developers say they're self-taught. Another 37.7 percent say they supplemented a formal education with an online course, or otherwise taught themselves.
University degrees – although useful in many respect, such as teaching the dry theoretical aspects that are important, but dull – often fail to stay current with developer trends and best practices. Into this space, ‘bootcamps’ and other platforms have stepped up to provide a platform for budding developers to learn their craft.
But, are we really convinced that that will be enough to land the dream development job? We caught up with a now delivery driver turned Head of Development to share his advice on teaching yourself to code - what you should and shouldn’t do to get ahead.
Learning to Code? How Much Time do You Need to Put In?
As a tech recruitment consultancy, we meet a lot of different candidates from an incredibly diverse range of backgrounds - including self taught developers who are amongst some of the most passionate individuals we’ve worked with (we’ve had self-taught developers who were at risk of arthritis in their fingers from putting so much time into development). Although that’s a rather extreme example of the amount of time and effort on show from self-taught developers, high levels of work are commonplace as they often have to juggle multiple other jobs and responsibilities.
Sam Saunders is the IT Manager & Systems Administrator at mobile healthcare solutions company siHealth. A self-taught developer and IT professional, Sam started learning to code while working as a full-time delivery driver in London. He used his evening and weekends to study and build up a portfolio from a few projects he managed to win. Now in a hiring position, Sam has a rather unique perspective on self-teaching developers.
“I'd say sort of a year so part time chipping away at to, to learn and to basically make a few projects and for myself to get sort of portfolio going.”
Tips on Finding A Development Job when you’re Self Taught
There are plenty of routes into a development career, but few have gained as much traction as the self-taught route. Although this route may seem rather straightforward - complete the bootcamp, learn all you can and start applying - there’s more to it. Because, much like a degree, the self-teaching part will give you the nuts and bolts of what you need to do, but it won’t tell you everything else you need to be a successful developer.
We sat down with Sam to discuss his thoughts on what it takes to become a successful self-taught developer.
Become a ‘T-Shaped’ Developer
Developers often specialise in a single language - and this is the recommended approach, but some developers take this a bit too literally. Becoming a ‘t-shaped’ professional means having that specialism without compromising your breadth of knowledge. Not only do alot of these languages have the same underlying principles (meaning if you do the heavy lifting in one you’ll likely have an easier time picking up another) but a hiring manager will want to see excellence in one area over average capability in a few.
For example, you might focus on one systems programming language like C++ but also branch out into functional languages like Scala and other frameworks.
“I find a lot of developers nowadays try to be the master of everything and it will get quite confusing, quite a lot of things overlap. But also be aware that you’re always going to be asked to veer away from your specialism.”
Seek Out A Mentor
Mentoring is an incredibly rewarding experience for both mentor and mentee. Not only do they help you brush up on your technical skills but they can also coach you in the less tangible skills needed to be successful. When you’re teaching yourself to code, the communication, collaboration and guidance offered by a senior mentor is something often missed.
“If you haven't got a mentor and you’re taking on projects, you are literally on your own. It can be quite difficult and daunting.”
The good news is that you don’t need to be in a company to benefit from mentorship. There are tonnes of technical communities out there that are willing to often advice, to coach and to collaborate. You won’t benefit from a specific mentorship programme but you will be able to pick up the skills you’d otherwise neglect while teaching yourself to code.
Find Your Tribe, and Grow Together
As well as looking for direct mentorship, these communities are a great place to find individuals on the same level as you. People you can learn from, learn with and, in some cases, compete against in the same way you might with team mates and university students.
This tribe mentality is something that Sam feels he missed out on more than anything while he was self-teaching.
“I think I also missed that on the sort of interaction with like minded people. When you’re doing a degree, for example, you’re surrounded by like-minded people who you can just talk to, compete with and help guide. Not meeting those people and not sharing that knowledge can be a set back.”
Learn from Rejections
When you’re going it alone, it can be especially demoralising to receive rejections. With no guidance on where to go next or just someone to share frustrations with, it can all become just a little bit too much.
That’s why it’s especially important for those self-teaching to reflect on rejections as much as possible.
“Yeah, I did get quite a lot of rejections initially. And but I felt every rejection, you take something away from it, you realize why they rejected you, maybe you didn't know about a certain thing. So I'd go home, I'd scratch up on those things, and then keep applying elsewhere. And yet just kept at it.”
Don’t be afraid to chase down feedback either. This can be difficult, but there is so much value in it. We advise connecting with your hiring managers on LinkedIn as sometimes HR can be quite unresponsive to unsuccessful candidates. Hiring Managers, especially if they’re technical, will more times than not jump at the chance to help a fellow developer.
Work on Your SoftSkills Too
Active empathy, collaboration and confidence.
These skills are all invaluable for a developer looking to progress in their career. Unfortunately, they’re also hard to develop without having a team of like-minded professionals around you.
Before even considering the workplace, those in degrees will be surrounded by students who support, uplift and compete with each other. These connections often go on to be the most valuable members of a developers network.
For a self-taught developer, who by the very nature of self-teaching will spend time working alone, it’s all the more important you reach out into communities and find other developers. Facing the same challenges, you’ll no doubt find it easy to band together. From there, you’ll be able to work on the softskills employers so desperately need.