Every day, more people are choosing the self-taught track to learn programming, with a good portion of them doing so as part of a career change. Others are fresh out of school having spent a small fortune on college degrees. However, regardless of your background, landing that coveted first job can be as challenging, if not harder, than learning to code itself.
So how do you get your first job as a developer without any prior experience?
As someone who was part of the IT hiring process, here are the major things we look for when evaluating potential candidates, especially those with no prior experience.
Show Me the Money!
No, don’t actually show us your money (bribery is generally frowned upon). Rather, show us why it’s worth investing our time and money into you. Remember, you’re still new to the game and have a lot to learn. Problems that might take you an entire week to figure out can take less than an hour for an experienced developer to solve.
So show us what you’ve got — your knowledge so far, what you’ve done to obtain said knowledge, and how you are working to extend that knowledge.
A college degree tells us that you’re able to commit to something and have obtained a certain level of knowledge. However, it doesn’t always prove or show us what you do know.
I’m talking about personal projects. It doesn’t matter how small, just that you have something to show, a sort of proof that you can do what you say you can do. Show us your GitHub, show us your personal website, show us the volunteer work you did for that friend of a friend because you needed something for your portfolio.
We know you haven’t got any prior ‘work experience’. We get it. But you also need to give us a reason to hire you. If you’re part of the millennial or Generation Z crowd that’s being branded as lazy and narcissistic, then it’s even easier to prove yourself otherwise. It’s not that we don’t want to hire someone who hasn’t done any commercial work before. Rather, it’s because we often aren’t given anything to convince us to.
So give us a reason!
Attitude is Everything
OK, so you’re self-taught. Which means a lot of gaps and holes — but that’s alright. With all the frameworks, libraries, updates, new ideas, old ideas, ways of thinking and all sorts of things that aren’t taught during your standard college courses, every developer is essentially also self-taught.
The speed of how quickly a particular developer traverses through this path and its many forks is determined by attitude. It is also the difference between why a developer may stay stuck in a mid-intermediate role for years while a newbie made it up the ranks in less than two years.
Don’t expect promotions based solely on seniority. While it may play a factor, it doesn’t always guarantee a true depth of knowledge and marks the great divide between the quality of developers in the market. A good appetite for learning is what helps you get ahead. An open mind keeps you flexible in the ways you work.
So how do you show this? The easiest way is to participate in conversations. Reddit, tech forums, Facebook groups, Stack Overflow, Medium, Qoura, your own blog— ask questions, answer questions, become active and leave a digital trail for when we Google you up. Help others even when you don’t feel qualified. Ask for help even if it feels silly.
It’s also a way to get yourself connected to the community. Who knows, you might even get recommended for a position by someone you interacted with. It sounds cliche but it does happen. Applicants who come to us through word of mouth and recommendations often have higher standings than anonymous resumes. That small bit of background makes it feel like we already know and can trust you — even if you’re still new the game.
Pack in the Foundations
There are certain foundations in programming that need to be learned but are not often talked about in beginner circles. Learn the thinking behind SOLID principles, along with object-oriented, functional and procedural paradigms.
Practice applying it in your code as much as possible.
Learn to use Git. Learn how to use databases. There’s more to programming than just HTML, CSS and JavaScript. There are certain ways to think, write things, and use code as a communication tool to transmit your thoughts to other developers on the team.
Here’s a comprehensive guide if you’re stuck and need some guidance.
To Get Good, You Need to Get Coding
If you’ve been searching around for a while now and still haven’t landed that first job, keep coding. The more you code, the more experience you’ll actually have and eventually, you’ll unlock a certain invisible badge of achievement based on your cumulative output.
When you’re new, the amount of code you produce does matter. In fact, the more you produce, the better it is for your growth. It may sound like the opposite of what intermediate and senior devs are saying (less is better), but sometimes you just need the volume to understand and notice the mistakes, pitfalls, bad patterns, and inefficiencies. It’s a personal process that everyone goes through as a developer — a sort of rite of initiation that can be experienced on and off the job. When employers hire, they’re generally looking for a junior that requires the least training with the maximum potential for output and growth.
You will always think that what you create now is perfect — but it’s not. Over time, code decays and your knowledge expands. It might be the difference between a week or a month that gives you the ability to see the horror stories you’ve created, laugh at your naivety and feel a little bit better as a developer for it.
Final Words
Smaller companies are more lenient when it comes to experience. However, you still have to prove yourself worthy — just like any other job out there. Try and think about it from the employer’s perspective and ask yourself — “Would I hire me?”
If not, why? What are the gaps? Where are your ‘experiences’ lacking and what can you do to fill the void? This isn’t a catch-22 situation. You are the catalyst to move yourself out of the potentially annoying and paralyzing scenario. Don’t complain about it. Don’t talk about it. Don’t think about it. Don’t even visualize it.
Rather, do the opposite — keep coding, keep creating, keep learning and keep applying. Don’t have any experience? This is your chance to create your own. The point is to keep creating and keep knocking. Eventually, you’ll find yourself knocking on a door that’s willing to let you enter the game in no time.