The Ultimate Guide to Finding a Job in Tech
Tags: career, beginners, webdev, productivity
Published: 2019-08-30 14:35:33

---
title: The Ultimate Guide to Finding a Job in Tech
published: true
description: An extensive guide on how to approach your next (or first) job hunt.
tags: career, beginner, webdev, productivity
cover_image: https://thepracticaldev.s3.amazonaws.com/i/ygqadoqa7tcdkk4dsu87.jpeg
canonical_url: https://twitter.com/thecountrycoder
---

# 👋🏼 Introduction

I have been actively mentoring developers, both new and experienced, for just over half a year. One of the main concerns between all engineers usually revolves around finding a job.

If you are already employed, chances are getting there was an exhausting process. Sometimes it can feel daunting to even start to think about having to go through all of that again.

This process is even more intimidating if you are looking for your first job, an internship or looking for a career change. 

**Where do you start? What do you need to prepare? Is there anything I could do better?**

In writing this article I am looking to create an extensive guide that eases people through the journey. 

___


# 🌱 Step One - Preparation

This stage is all about laying the groundwork that you will use for your applications. These are the typical things that people think about and know they should have, but perhaps don't quite know how to enhance to increase their chances.

### 📑 CV/Resume

Everyone needs a good CV/Resume. 

As someone who reads a lot of them, I have come to understand the importance of fine-tuning them to be eye-catching and concise. You would not believe the amount of CV's that are 5 pages long, with size 8 font. I can guarantee you, I'm probably not going to read past the first page.

Without a doubt, one of the hardest parts (but most important) of this is a personal statement. It should reflect your personality and your relevance to the role. The aim is to speak highly of yourself without sounding like you are blowing your own trumpet... for example, I would write:

_"I am an experienced engineer and people manager with over five years of working in a team lead/managerial position. Not following a traditional route into the tech space has given me an unparalleled empathy for coaching people of all ability level and backgrounds. Outside of work I actively mentor new developers, teaching them how to get started and progress in the world of engineering, a cause I feel extremely passionate about."_

The rest of the CV is dedicated to detailing all the relevant experience you have, whether it real-world paid experience, or things you have done online.

If you haven't worked as a developer before, open-source work can be a really positive thing to put here.

On a side note, jobs that you have had in the past ARE relevant, even if they aren't in technology. Communication, teamwork, customer service... ALL RELEVANT.


##### ✅ DO
* Keep it brief - no more than two pages. Preferably one page.
* Keep readability in mind. A size 10/11 font will be fine. If you find it doesn't fit on the page, you have written too much.
* Find ways to make your experiences relevant... Have you worked in a team, interacted with customers?
* Edit it depending on the job you are applying for. Make it personal. How do you fit in with the culture? etc
 
##### 🆘 DON'T
* Be generic and sound like a robot. You want to stand out amidst other applicants.
* Waffle. Keep it straight and to the point.
* Reference online tutorials or courses. It likely doesn't mean a lot to the reader and is wasted space. 

___


### 📝 Covering Letter

Cover letters are equally as hard as a personal statement but are SUPER important.

If you go through a recruiter (we will discuss that later), more often than not they will not allow a cover letter, however, if you are applying direct you should ALWAYS ALWAYS ALWAYS write one. Even if it says it is optional.

I again like to write this depending on the job you are applying for. I have a master cover letter template and then edit it when I understand more about the company I am approaching.

Here is an example, I wrote this in the context of applying to a job role similar to the one I am in now:

_"I am sending my resume in response to the open position for ..._

_My background in managing teams consists of four years working as a Product Manager for a ventilation company, looking after a team of twenty ducting engineers before realising a dream and moving into software. I since progressed to a lead developer position, however always missed the role of coaching and helping individuals grow personally._

_Due to this, I started mentoring budding developers in 2018 and jumped at the opportunity to become Team Manager at my current workplace, a leading Data Science consultancy offering R, Python and JavaScript services. Here I played an integral part in positioning the engineering resource for a strategic change into being a more product-focused company._

_Most recently, I have worked closely with Talent and Development to define an engineering career framework, allowing developers to have a clearer insight into the characteristics and skills the company deems important, enabling career growth._

_I am always keen to seek new challenges, and it would be an honour to work for a company who are actively offering such a ground-breaking service, hold culture and wellness of their employees in such high regard and to help its extremely talented engineers reach their potential."_

You can see that there is a personal touch to the letter. I have referenced what the company do in the last paragraph.

Another tip I have is to reference a talk or a piece of work someone from the company has done. For instance _"I am applying after watching an inspiring talk by ... which really showcased the companies values. I would love to be a part of that"_.


##### ✅ DO
* Keep it brief - no more than half a page.
* Keep readability in mind. A size 10/11 font will be fine. If you find it doesn't fit on the page, you have written too much.
* Add a personal touch, showcasing that you have some interest in the company outside of just chasing a role.
* Edit it depending on the job you are applying for. Make it personal. How do you fit in with the culture? etc.
* Create a benefit that the company will be getting if they take you on. My benefit is that I actively practice coaching outside of my full-time role and I can bring that to a company.
 
##### 🆘 DON'T
* Be generic and sound like a robot. You want to stand out amidst other applicants.
* Waffle. Keep it straight and to the point.
* Talk about yourself in an arrogant way. There is a fine line between showcasing what you can do and boasting.

___


### 🖼 Portfolio

This is a controversial topic that gives people a lot of trouble.

People I have spoken to have put off applying for jobs because they weren't happy with their portfolio. 

Newsflash: I am STILL not happy with my portfolio. I got my current role with absolutely NO portfolio. If I had waited until I was happy, I would still be waiting!

I am a true believer that you should do something simple, and do it well. Just flicking through Twitter and looking at some of the most well-known developers, a lot of them have VERY simple websites with some articles.

I think as a new developer, you are not necessarily going to possess all of the design skills that a designer will have. Therefore, although it is great fun to build something and be ambitious with your projects, I think for job apps you should stick to something really really simple.

An ambitious website that has a massive amount of projects, articles, pictures opens up the ground for things to go wrong. Is whoever viewing your website going to be doing it on a phone? Are they going to be on a 27" Mac... If something goes wrong or looks off, they will likely notice it and remember it.

I know I had an applicant recently whose portfolio still had some placeholder text from where he had obviously used a template and not filled that field... There is nothing wrong with using a template, but I remembered his portfolio for the WRONG REASONS.

There is no shortage of tools to get a good website up and running if you are that way inclined (Gatsby starters anyone?).

So just your name, a brief paragraph about what you do, and some links to social accounts (GitHub, LinkedIn, Twitter etc) will be fine.

Articles are also a really good thing (more on that later too).


##### ✅ DO
* Keep it simple - Unless you are confident you can pull it off.
* Link to *relevant* social accounts.
* Make it responsive. You don't know what screen sizes it will be viewed on.
* Keep it accessible.
* Google Lighthouse test it just to make sure of the above.
* If you WANT to showcase a project, then one fully complete project is miles better than five half-baked projects. Keep that in mind.
 
##### 🆘 DON'T
* Be too ambitious.. it doesn't matter!

___


### 🤳🏻 Social Media - Online Presence

Most people have some sort of online presence. Whether it be Twitter/Instagram/Youtube/Facebook.

These are both good and (potentially) bad. Let me explain.

##### 👍🏾 The Benefit
It can showcase your character and your passion for technology and development.

It can help you interact with other similar-minded people (Networking).

It gives you a creative platform to showcase your talents.

##### 👎🏼 The Negative

It can showcase your character.

It can help you interact with other similar-minded people and start arguments.

It gives you a platform to be an idiot.


In all seriousness though, don't put anything on Social Media that you wouldn't want an employer to see. I know for a fact I will Google a candidates name. If they have 50k followers on Instagram and are using the platform to spread a positive message within the community it is such a positive thing. If they are on Twitter and are starting flame wars then I have to question is this the sort of person I want in my team? Probably not.

One thing I always recommend to people is to document their process. Whether it be discussing the latest course you are doing and what you are finding hard about it, or whether you are documenting the build of a particularly ambitious project, people are going to want to hear about it and you will be surprised at the number of people it helps.

This all works in your favour when you come to apply for a job, as well as helping you improve your communication skills and grow your presence in the industry.

___

### ⚒ Open Source

I will shout about the benefit of Open Source projects until the end of time.

Why is it so good?

Because it gives you REAL WORLD experience, without having to sell your services on a freelance basis.

The number one complaint I find with new developers is they find it hard to get real-world experience, and even junior jobs require it.

*THIS IS THE ANSWER*

Sure, it is intimidating, because you may mess up... But this is one of the most valuable lessons in your journey to developerhood (is that a word? It is now).

Pull requests, branches, Merge Requests, forking - all super important concepts that you probably just aren't going to get that much practice with outside of a project that has lots of contributors.

Even if it is doing something small, like writing a more concise piece of documentation, it is something you can talk about in an interview and experience you can put on your resume!

How fucking cool would it be if you were applying for a job as a Front-End developer who will be working with React when you have actively worked on the React codebase? Fucking cool is the answer 😎

##### ✅ DO
* Choose a project you have an interest in.
* Check through the existing issue list. Even if it's just helping answer a question someone might have, its all good experience.
* Interact with the other contributors. Many projects have their own Discord or Spectrum communities.
* Adhere to good code and Git practices. This is your chance to put it into practice.
* Shout about your new real-world experience from the rooftops.

##### 🆘 DON'T
* Rush the process. Take time and care in your approach.
* Bite off more than you can chew.

___

# 🚀 Step Two - Applying

On first glance, this might seem fairly simple. Surely you just fire up Indeed.com and go through the list?

That's certainly one way of doing it, but I think of it like this. Everyone will be doing the same. The competition will be more fierce.


There are other ways of finding jobs!

### 👀 Good Places to Look You Might Not Have Thought Of

##### LinkedIn

The job section on LinkedIn is actually really good, so sign up if you haven't already and fill in your profile.

You will also quickly notice that there are A LOT of recruiters working on LinkedIn. They will swoop on you like a vulture to a corpse. 

Find the more trusted recruiters to work with. Having someone fighting your corner and pushing you through the process can actually be a really positive thing. I always tell people recruiters are trying to earn their commission, and they do so when they have gotten you in the door and working there. They also have access to jobs that you wouldn't have seen anywhere else.

##### Glassdoor

Glassdoor is primarily a website that allows people to rate the companies they work for. However, they can also rate the interviews they have had at a company.

If the company you are applying for is established, this can be an absolute **gold mine** of information. 

Software engineers will have written about the process so you know exactly what to expect from an interview which gives you valuable time to prepare yourself.

Glassdoor also has a job section which is really good and has a wealth of different jobs for you to check out. It has the added benefit of showing you whether the company is good to work for and what their values/culture are.

##### Google

Good old-fashioned Google.

One technique I have for finding work is Googling local agencies and companies to me. Compile a list of ten companies in your area and their websites and if they have a job section then apply.

Even if they don't have a job section, it would be worth sending them an email and a CV regardless. Just introduce yourself. Especially small agencies may not need someone there now, but they never know when their junior developer might leave and having someone's CV from the local area will be a big help to them.

Of course, this doesn't have to be done locally. Even big companies will have a job section, and often these jobs aren't listed on traditional job search websites.

Compile a list of ten companies you admire, and I am sure you will find at least 4/5 companies that are after someone with the same skillsets as yourself.

### 🦸🏽‍♂️ Which Jobs to Apply For

Sometimes it could seem as though companies are after a superhero!

*A junior dev with experience in React, Node, Kubernetes, AWS, Docker, Svelte, Go, Java, Python.* Bollocks to that!

You have to remember that a lot of these job specs are written by HR teams and not development teams.

For sure, someone has asked me before "what is a perfect candidate" and before you know it you have listed off a list of all these technologies.. but as we all know, that's not realistic.

Apply for these jobs anyways! As long as you have good knowledge of at least a few of the things in their technology stacks, that will likely be more than enough and there is always the option of training and upskilling!

### 🧮 Organising Your Search

Job hunting can quickly get out of hand.

All the job apps look the same, you don't know what you have applied for, and before you know it you have got yourself in a mess!

I have a system for job hunting!

I use Notion, because it allows you to create columns and link directly to a webpage however whatever productivity app you have will be just as good no doubt.

I spend a day or two solely looking for opportunities, linking to all of the positions I like the look of.

When I have applied to them, I move them into the "Applied" column. If I hear back and it's a negative, I move it into the rejection column. I also have a column for jobs that have decided to take things further.

Organising your search can make you much more productive and will let you avoid mishaps like applying to the same job twice!

___

##### ✅ DO
* Apply to jobs even if they don't seem a perfect fit.
* Keep looking continuously. You never know when the perfect role might appear.
* Reach out to your network, as it might throw up some offers.
* Make a list of jobs you have applied for, so you don't apply twice.
* Be upfront with recruiters about your needs/wants.
 
##### 🆘 DON'T
* Apply to anything and everything. At least make sure you have some experience in their tech stack.
* Just stick to looking on one website. You will miss out on a tonne of opportunities.


___

# 🤝Step Three - Interviews

The dreaded interview! Everyone is scared of this stage, and it can be fairly brutal, however, it is important to give yourself the best chance of success.

Importantly, you must remember that not being accepted is not necessarily a reflection on your ability. Interviews are to be taken as learning experiences, and you have to get good at them by practising. 


### 🧠 Research and Prep
As I mentioned above, Glassdoor is a really good place to find a lot of information about the interview process of a company.

If the company is not well established, or not large in size, that might not pull up any answers, however. 

Looking around online for any content revolving around the senior members of the company, or any employee-generated content is really important. Many companies will speak openly about their culture/values and gaining context is a really good thing, even if it doesn't shed any light on the technicalities of an interview.

It has also become more common for companies to store their code tests on GitHub. Whilst I certainly don't recommend cheating, it can be good to practice what a real-life code test is like before you come down to doing the real thing. Below is the code test for Just Eat:

https://github.com/justeat/JustEat.RecruitmentTest

There are other tests out there so practice away!

### 👩🏻‍💻 On the Day

##### What To Wear 
Wear something in keeping with the context of the company. If you know they wear formal clothing, go in something formal. However, even formal clothes should be comfortable. I remember wearing a new suit to an interview once and I was constantly thinking about how much it was scratching my neck and therefore didn't perform to my best.

If they wear informal clothes, then wear something comfortable whilst still looking presentable. I like to wear a jumper, black jeans and smart trainers.

I heard a comment once that you should wear no more than 2 colours, and ever since then, I have always worn black to an interview. I don't know why but I would worry if I didn't have black on now! Whilst I'm not saying that's the right thing to do, you should certainly give at least some thought to what you want to wear so you can pick something that makes you feel at ease!

##### Ask Questions, Even if You Know the Answers

You should ALWAYS ask questions, so make sure you prepare some beforehand. If something is discussed in depth that you were going to ask then obviously don't mention it.

Asking questions shows you have a genuine interest in the company, which is always a positive thing. 

##### Be Polite, Smile 😃 

It goes without saying, but someone has invited you into their company, and you want them to hire you. The least you can do is show them respect and some manners.

Where I work now, they have an agreement with the reception of the building we rent our office space to provide their feedback on the candidate. If they are rude you will fail the interview automatically, regardless of your ability.

Good manners cost nothing!

##### Be Passionate

I have always said that I would take someone who was passionate and less skilled than someone who had no passion for the industry but was really knowledgable.

As a team manager, you are looking for individuals who are passionate about their craft, who will continuously strive to achieve more. Outright knowledge is not the be-all and end-all.

##### Don't Try and Haggle

There is something really off-putting about people who mention salary and terms of work within an interview. You should at least have some idea that this role is a good fit for your needs before you go for an interview, and this is not the time to bring it up unless prompted.

My experience is that this should be left until an offer has been established. If the company want you, you leave yourself more leverage to ask for a slightly higher salary or an extra day of remote working. Don't cut your nose off to spite your face, as some would say!

##### ✅ DO 
* Do your research... again!
* Think of some questions you want to ask beforehand.
* Wear something you feel comfortable in.
* Arrive promptly - about 10/15 minutes before the interview is scheduled.
* Ask for some water if you need it.
* Try and make eye contact. It can be hard, but creating a connection with someone is made easier with eye contact. 
* Treat everyone with respect, not just the interviewer.

##### 🆘 DON'T
* Come across arrogant or unopen to change.
* Go off-topic when answering questions, even if they require a long answer.

___

# 👋 Conclusion

I hope this has been helpful to at least some of you 😆 If there is anything you would like me to add to this article, I will certainly do so. My intention is to keep adding to it over time, so all suggestions will be greatly received!