Landing your first coding job
Published: 2022-07-25 09:35:09

For those who choose to switch to a career in coding, the one thing you're told often at the start is:

> "_Companies are always looking for developers_"

or

> "_Developers get paid a lot_".

Both statements are **true**. What they don't tell you is getting your foot in the door is very difficult. If you're looking for a coding job right now, you'll be competing with recent graduates with computer science degrees. For those who have computer science degrees and no commerical experience, it's also tough for you because most companies want developers with experience not graduates who are green.

### My Journey

Before coding, I worked as a recruiter. This experience offers me a slightly different perspective on job hunting. Despite this advantage, my job hunt was a much longer than it needed to be.

However, once I made a few minor adjustments, in the space of 2 weeks I:

- Began interviewing with **4 separate companies**
- Got to the **final interview stage** for all 4 companies.
- Given **3 job offers** (all of which met or exceeded my salary expectations).

In this article, I'll explain the lessons I learned during my job hunt and provide tips on how to avoid the mistakes I made.

## 1. Your CV and LinkedIn are more important than your Github

Do not become obsessed with having an amazing Github portfolio.

How much time do you spend exploring repos on Github? Most people won't. Most companies do not have time to scan through multiple projects and code to see if you are a viable candidate. By no means am I saying do not have a Github, you 100% need to have one. Having projects with good README files, should be more than enough.

Having a good [**LinkedIn**](https://www.linkedin.com/) profile along with a good CV is better than having a flawless Github profile. Your CV and your LinkedIn profile should have the same information. To avoid career gap questions, remove only include the years on each of your experiences.

On you LinkedIn profile, complete some of the skills tests for your coding languages. The answers for the tests can be found [**online**](https://github.com/Ebazhanov/linkedin-skill-assessments-quizzes). When recruiters or companies search, they will filter for candidate who have passed particular skills tests (for example python or javascript), and it will make you stand out.

### My experience

I found success when I kept my CV to one page. For my LinkedIn and CV, I removed any experience unrelated to coding. A fresh start showed companies and recruiters exactly what I was looking for. This doesn't mean you need to do the same but if you work experience includes customer service (for example waiting or retail), I personally don't think it's necessary to include it.

I used [**`FlowCV`**](https://flowcv.com/) to write my CV. I highly recommend it, It's free and easy to use. For **LinkedIn** try and visit the profile of other coders to see the best practices.

## 2. Learn full stack development

Regardless of your preference for front or backend, learn the basics of both. You can specialise in one but learning both will greatly increase your odds of landing a job.

If there is a frontend developer job, why would they hire someone who only knows frontend over a person who knows both? A full stack developer can eventually switch over to the frontend or backend when their colleague is on holiday, absent or quits.

- For **frontend**, I recommend at least having a fundamental understanding of **react**., it's the most popular library for frontend development.
- For **backend**, I recommend having a fundamental understanding of **Express Js**. It's one of the most commonly used frameworks for the backend in javascript and it's very easy to learn. I also recommend learning **Postgres** and **MongoDB** for data storage.

Remember a fundamental understanding is all you need, learn how to read the code. **You do NOT need to be a master of it.**

### My experience

I learned a few node js backends cause a lot of companies now want all of their code to be written in one language, that language being javascript. Node Js backends such as **`Express`**, **`Koa Js`**, **`Nest Js`** and **`Hapi Js`** are all **VERY** similar. Learning all of them meant I cast a wider net when it came to finding a full stack job.

## 3. List projects as experience

No one wants to hire someone with no experience. Would you as an employer want to hire someone who has never done the one thing you're hiring them to do? It's a big risk. Remember that you have experience. Every project that you've done is experience. List even the smallest projects that you completed as experience and explain your role during that projects.

You've have:

- faced problems during coding.
- overcome issues and you learned something along the way.
- built websites or servers from scratch

Try to do some pair programming and work on projects with friends or experienced coders. This will help you gain knowledge of how teams work. Create an organization page on **`Github`** and a company page on **`LinkedIn`** to display your project.

### My experience

I personally had some freelancing experience, so when quizzed about the projects on my CV I didn't have to lie about having commercial experience. But if you don't have any commercial experience at all, explain your projects as experience rather than personal projects.

## 4. Companies love female coders

Unfortunately, for men (including myself) this isn't something you can control. One thing I noticed is companies **LOVE** women in tech. That's not to say that companies will hire any women who applies but there is an unwritten advantage for women in tech.

Coding (and tech in general) is a male dominated field, companies love diversity as it offers a different perspective on their products. Women are also more likely to be extrovert and this contributes to a better and more balanced team environment.

### My Experience

As a man, I didn't have this advantage, but I know a lot of women who switched to coding as a career and found jobs very quickly. That's not to imply men won't find jobs, theres more than enough jobs to go around right now!

## 5. Find ways to skip recruiters

Anyone who has written a HTML tag will get a call from a recruiter. Tech Recruiters exist because the jobs exist. As a former recruiter, I can tell you I've called candidates who had terrible CVs and experience in the hopes they had somewhat of a good attitude.

Now don't get me wrong not all recruiters are terrible but most recruiters don't know anything about coding. Recruiters won't appreciate your ability to style a component, build a server or write complex deployment logic. For this reason recruiters will avoid sending their clients any candidate they don't think looks good on paper. Do not waste all your time waiting for recruiters to get back to you, most of them won't.

The best chance for you to land a job is speaking directly to company CTOs (chief technical officer) or project managers. This will greatly increase your odds as you can display your passion and using technical programming words in conversations.

Find websites that allow companies to contact you directly. Here are three companies that worked very well for me.

- [**Hired**](https://hired.co.uk/) - This platform allows companies to find candidates that are being promoted once their profile is complete. This platform also has skill badges for almost every type of coding. If you can only sign up to one platform choose this one.
- [**Otta**](https://app.otta.com/) - This platform is amazing cause it provides a lot of information on the companies you are applying for. Otta provides everything from salary for particular roles, company size, tech stack and response rate to applicants. Companies can also contact you directly via message to arrange interviews.
- [**Snap Hr**](https://snap.hr/) - This platform is similar to the others and has a one click apply button. Again, you can let your skills shine directly to companies through your profile whilst also seeing what the company has to offer.

### My experience

After speaking to about 15 recruiters, 2 of them manage to get me interviews because I built I good rapport with them. In fact, 2 of my 3 job offers came from recruiters. So I'm not saying avoid them at all costs, what I'm saying is try and speak to companies directly through platforms like **Hired, Otta, Snap Hr** or **LinkedIn**.

- [**Hired**](https://hired.co.uk/) - My company reached out to me through hired and within 10 days I got my offer. During the process, my company asked me to complete a hired skills test for fullstack development, which I scored 92%. What I realised is that once you complete the assessments on hired, your profile becomes more appealing to companies. My first interview request came 2 weeks after my profile was being promoted but I received an additional 2 interview request (in a couple days) after I completed my skills test.
- [**Otta**](https://app.otta.com/) - I got 2 interview requests from Otta, by that point I had already accepted my offer from hired. Replies from Otta are very quick and you'll find that companies will want to give a reply on this platform as they don't want to hurt their response rate score.
- [**Snap.hr**](https://app.otta.com/) - I never got an interview from this platform but I know a lot of people who have found jobs from it. So don't let the fact I didn't utilize it to its full potential deter you from using it.

## 6. Prepare for your interviews

There is only so many things you can control during the interview process. Be prepared, have a good attitude and most importantly remember your value. Don't come across as desperate or arrogant. The goal of an interview is to make the interviewer like you, their willingness to hire you is based on your likability as much as it is your qualifications.

Here is my article on [**`How to ace a coding interview`**](https://dev.to/kachiic/acing-a-coding-interview-57ci/edit). In this article I go into more detail about the process and how to give yourself the best chance.

### My experience

Here is my interview processes. I interviewed with 4 companies:

- One company I got through **hired**.
- One company I got through a slack channel **advertisement**.
- Two companies I got through separate recruiters.

I got the the **final interview stage** of all 4 companies:

- One company had **two interview stages**: a general interview and a technical/culture interview).
- One company had four interview stages: a general interview, take home test followed by pair programming, a second pair programming session and a final culture fit interview. (This is the company where I failed at the final stage).
- Two of them had three stages: a general interview, technical/live coding and a culture fit interview.

I got 3 offers from 4 companies. You might be wondering how I was so successful during this process, the answer is I predicted which questions I'd be asked and prepared answers accordingly. Demonstrate knowledge but remain humble and open to collaboration throughout.

## 7. Understand your value

Every single interview I've been in, I've wanted to impress the interviewer. But one thing people don't often understand is that interviewers want to impress the interviewees too. I've conducted hundreds of interviews and the candidates I was most excited about knew their own worth.

When asked "are you interviewing for any other companies?", never say no. Even if you aren't interviewing with anyone else, it instantly increases your desirability. Companies do not want the developer who has been siting on the shelf for months, they want the candidate that every company would be lucky to have.

If a company knew you weren't interviewing with anyone else, what do you think their response would be when asked:

> **"_How long will it take you take to get back to me with a response?_"**

They can reply with any number they want - a day, week, month or year. They can interview other candidates and if they can't find anyone, they'll get back to you.

But how about asking this instead?

> "_**Thank you for your time today! How long will it take for you guys to get back to me? I have some final stage interviews scheduled and I really don't want to miss out on a chance to join your company. Would it be possible to get back to me within the next day or two?**_".

This question was warrants a very different response. The suggestive language implies that you are in demand, if the company do not adjust their schedule or speed up their timeline for you, they might regret it.

### My experience

After each interview during my job hunt, I've walked away from each of them thinking they would be lucky to have me. The reason I was able to feel this was because I understood my value. This doesn't mean you don't have to do any work, in fact I made sure I acknowledged what each company offered:

- One company offered great career progression.
- One company offered great company perks.
- One company had an amazing CTO who would be great to work under.

I also explained what I had to offer - which was a keen attitude to learn, being a team player and great coding skills. By recognising my value, I got the offers I wanted.

## 8. Continue learning

Don't spend all your time job hunting, spend maybe 2-3 hours a day. Spend some time sharpening your skills and learning new ones. You'll notice a pattern when reading job descriptions. Maybe all the companies you want to apply for need someone with experience in **MongoDB**? Well then start learning **MongoDB**. Don't let your skills plateau.

### My experience

I spent a lot of my time revising the fundamentals of javascript. I made sure I could solve any technical question thrown at me during my technical interviews. So I reenforced my knowledge on algorithms and data structures. Although they didn't pop up during my interviews, it doesn't mean they wont pop up in yours!

## Summary

Getting your first coding job isn't necessarily about being the best, it's about making the best impression. If a company is open to speaking to you, then they either have a position they need to fill or they like you enough to potentially hire you. Either way understand your value. Display your skills on job site profiles, LinkedIn and your CV.

Good luck on your Job hunt!