Today's article comes courtesy of Syk Houdeib, a front-end developer based in Madrid. He career-changed into web development from an unrelated field, and likes to create content for those on a similar journey. Find him on Twitter @Syknapse!
There's a lot that you can do to improve your chances of getting that first job in tech. Your programming skills are not the end of it. Without experience, you will need to take steps to convince employers that you deserve a chance. Here's how I did it.
I took a nervous sip from my drink as I sat down in the bar with a group of developers. This was the last step in my interview process. To meet the team and see if I'm the right culture fit. I couldn't believe I'd gotten that far! I had no experience as a programmer and had only started coding a few months earlier.
I was worried about getting technical questions that would reveal my lack of experience.
To my pleasant surprise, the technical stuff that came up all centered around my GitHub projects. They'd taken a look at what I had there and they were commenting what they saw. That was comfortable for me, I could talk about these projects.
So how did I manage to make it that far in the job search process without previous experience?
So you are on your way learning the skills needed to become a developer. It's important to know that learning your programming language and other related tech is not enough to get a job. You need to make yourself visible for employers and then give them a reason to want to talk to you.
The good news is that there are solid steps that you can take to dramatically improve your chances. You want to start taking care of these as early as possible. So by the time you are ready to start searching, you already have a good base to build on.
In this article, I want to share with you the cornerstones of what is needed to get a job. We'll focus on the things that will help you tell a story employers want to engage in.
Let's start from the beginning. You need a good resume.
That's the first thing an employer is going to see. Even though you might not have relevant experience to show, you still need to pay a lot of attention to your resume. Sometimes a busy employer might only skim over a resume. You have a few seconds to try and catch their eye and get them to want to look into more details.
Keep it simple and concise. There's rarely a reason to have a resume longer than a single page.
Get referrals. Something that'll make a big difference is to get someone from inside the company to refer you.
This will give your resume a real chance to be seen. Reach out to people you know or old contacts. Not all of us have friends working for top companies, but there are solutions. For instance, I recently discovered Rooftop Slushie where you can receive referrals from developers who work at companies such as Google. Developers can recommend developers better than recruiters can. They know what they're looking for in colleagues.
Get your resume reviewed by other people. We are usually terrible judges on how we present ourselves. Some of us have over-inflated egos and others low self esteem, and this shows in your resume. Get people you trust to have a look for you.
Keep all tech-related stuff at the top. Other experiences and education lower down. You might not have any tech experience, but you should mention something about personal projects you did. Or anything else that gives the employer a sense of your progress as a developer.
Don't put an endless list of previous experiences. Choose the ones that are most important, highlight the things that show what kind of person you are. Put the things you want them to bring up in the interview.
Don't embellish and don't use gimmicks (skills progress bars, I'm looking at you*). Present the information in a visually appealing but not a distracting manner. The best example I saw recently is by my friend Vanessa. She had a simple two-column bullet list of technical and soft skills she had. Right at the top. Clear and effective. Here is the stuff I know at a glance. When we get to the interview we can get into the details.
*My own resume still features the dreaded progress bars. I have all the intention to remove them soon :)
I mentioned GitHub in the introduction to give a sense of how important it is for a budding developer. If you don't have a GitHub account yet, create one today! Seriously. This is your resume, your portfolio, your work experience, and everything you know about code rolled into one.
Push everything you do to GitHub. It doesn't matter if it's a tutorial or a tiny project. An active GitHub account shows you're serious and demonstrates your progress. It's what any serious employer will look at in details to determine if they are interested in moving the selection process forward or not.
One thing that worked really well for me was to create a learning tracker on GitHub where I track the skills I'm developing and the resources I use. I still use it all the time, it's become a central reference point for me. And I can imagine this would be very useful in the selection process. Because it would have a much more detailed account of your learning than you should squeeze on a resume. Plus it helps you stay active on GitHub even when you don't have code to push.
Build your own site to showcase who you are and what you do. The process of doing so is a great learning experience. Don't be intimidated, you only need basic HTML and CSS skills to get started. You can always improve it and add to it as time goes by and you acquire more skills.
This should be the one-stop to find everything about you that you want the employers to see. Links to your GitHub and relevant social media. Projects you worked on. Anything noteworthy or interesting to share.
It's also a great place to give a sense of your personality and what kind of person you are. A resume is concise and dry and GitHub is all about the code, 'bout the code. So this is your first chance to add the missing dimensions. You don't need to go overboard with the design, but it needs to look good.
What I learnt building my portfolio became the backbone of my knowledge. And the evolution of it over time is a way for me and others to see my progress.
Build projects. No matter how simple.
When I heard this advice early on in my learning experience it always sounded scary. I can't "build things" before I've learnt how to code!
Well, it's mostly the other way round. You learn to code as you build things. You learn in context to what you are trying to do.
But I suppose the word "build" makes it sound serious. The thing is, we are not talking about creating the next social media app! It doesn't matter how simple or even pointless a project is. The act of of working on it and trying to find answers to solve the problems you have is the best learning experience. And it gives you the stuff to put in your GitHub and portfolio.
And it could become the central talking point in your interview. This is what I learnt, this is where I got stuck, this is what I'm working on.
You already know how this was my saving grace in that final phase of my interview.
Use the power of Twitter and Linkedin. If used correctly, they can be great tools in helping you throughout the journey of learning and looking for a job.
Find the active communities in your area and connect with them. Tech communities can be small in most places and people get to know each other quickly. This might play a vital role in helping you get your foot in the door.
For me, Twitter was central to my job hunt. As a complete outsider, finding the local communities gave me a ton of useful information and connections. And besides, people can be occasionally nice on Twitter, which is good. (That's a blatant stereotype, most people I know on Twitter are adorable!)
Go to meetups and tech conferences. Network, talk to people.
If you are a beginner and you feel you know nothing, you'll think you are totally an imposter. You haven't earned the right to go to tech events. But here's the thing. No one is going to suddenly stop you in the middle of the crowd and ask you to speed code a new app live in front of everyone to prove you belong there! Most people are respectful and nice (again, this seems to be a running theme!).
And even if you find yourself in a technical conversation that you don't understand, saying that you are a newbie is not going to cause a warning siren to go off. I always found people very interested in what I was learning and how I was doing it. You get encouragement, you get to see the tech community up close, you'll hear some talks even if it all sounds gibberish to you.
But most importantly you'll meet people and that's very important in helping you find a job.
Apply to jobs
I mean it's obvious. But you need to apply to jobs to get one. There are three things you need to know.
You don't decide when you are ready for the job. The employer does. So stop agonizing about when you should start applying. You'll never feel ready. Once you have a couple of projects in your GitHub account start applying, and let employers decide if you are ready or not.
Don't look exclusively for junior positions. Don't be intimidated by the long list of technical prerequisites in the offer. If a company has an offer out, it means they are hiring, and that's what you are looking for. The offer is their hyper idealized candidate. It doesn't mean that they would never consider you. They just might. I wouldn't send hundreds of applications though. Job hunting is time consuming. So taking the time to research and prepare an application is a better time investment.
You will get rejections. You will get silence. It's normal. It's not a reflection on your future chances of getting a job. Keep working, keep improving. Figure out what steps in the hiring process needs polishing. Ask for advice. And keep coding. Every day you are improving your skills you are closer to convincing an employer to want you on their team. Perseverance is the key.
Write a compelling covering letter. Tell your future employer why they should hire you.
It's your big chance to get their attention. Don't send a generic one. Research the company, understand what it's about. Visualize the person who'll be reading this. And tell them something that'll make them want to read more.
Never forget that it is a normal person on the other side who is just as susceptible to getting bored or excited as the rest of us. If they are sifting through a bunch of applications they would have read what a great team player everyone is, and how well they all can handle pressure. You need to tell them something else.
In my cover letter to Lola Market, I told them that I knew the position they advertised was for a senior. But I explained how I was changing careers and looking for the team to help me make the transition. My CTO, the one who gave me the job, tells me how it was this that got them curious to start the interview process with me.
This was an interview process that went through several phases. And all the steps I mentioned played a role in pushing me forward in the process.
A process that culminated in that bar as I sipped nervously on my drink hoping with all my heart that they would say yes.
And they did! They gave me my first developer job. And it was such a proud and exciting moment. All the hard work, it was totally worth it.
I really hope you too can experience this life-changing moment soon. Hopefully this article shines a light on the steps you need to take on the path towards that goal. Good luck to you, and keep pushing.