Hide chapters

Hack Your Job Search

Section I: Getting Tactical About Your Job Search

Section 1: 6 chapters
Show chapters Hide chapters

Section II: Standing Out From the Crowd

Section 2: 5 chapters
Show chapters Hide chapters

4. Creating a Resume & Portfolio
Written by Tim Condon

Your resume or CV is the most important document you’ll create during your job search. It summarizes your experience, knowledge and skills for companies so they know why they should hire you. This chapter will help you write a resume that’s clear and helps you stand out from everyone else applying for the same roles.

What You’ll Learn

This chapter covers different areas to consider when putting together your resume to send to prospective employers. You’ll learn:

  • What you should (and shouldn’t!) include in a resume.
  • How to tailor resumes to specific jobs.
  • How automated applicant tracking systems (ATSs) work and how you can get past them.
  • How to build a great portfolio.
  • How and why to craft a great cover letter for each application.

By the time you’re done, you’ll be able to pair your completed resume with the jobs you discovered in the previous chapter to start your application process!

What to Include in Your Resume

Knowing what to include in your resume is hard, especially when you’re applying for your first role in tech. After all, you don’t have the luxury of professional experience in the tech industry yet. However, you can overcome this by using good examples from your education, previous non-technical jobs and other areas.

Remember, everyone applying for the same roles will be in the same position. Creating a compelling resume will help you stand out from other applicants.

Your resume should summarize your professional and other relevant experience and should be no longer than two pages. There’s no single required format, but it should look professional.

Tip: You can find a variety of professional resume templates for free at Canva.

You should ensure that the information is easy to scan and to read. Make sure your font is easy to read, the text is large enough and that there’s ample white space so the page doesn’t feel overcrowded. Use headings and bullet points appropriately.

Remember that the person reading the resumes might be viewing dozens or even hundreds of candidates; make it easy for them to see at a glance that you’re a good candidate.

It’s a good idea to tailor the design of your resume to the industry you’re applying for. If you’re applying for roles in a traditional industry, your resume design should be more conservative. If you’re applying for a design company or a design role, you can have a bit more fun! But in all cases, it should be easy to scan, easy to read and smart. Avoid distracting colors or graphics.

Break your resume down into four distinct areas:

  • Header
  • Experience
  • Education
  • Skills

Next, you’ll look at building each of these sections.

Creating Your Resume’s Header

Your resume header sits at the top of the page and should have your name in the center in a large font. Below your name, include contact information — like your address, phone number and email address. If you have a website or GitHub profile, add it. Your custom LinkedIn URL also goes in this section.

Finally, add a short introduction about yourself in the header. The introduction should be a sentence or two that hooks the resume’s readers so they look at your resume more closely. For example:

Alice is a software developer with a passion for building well-designed and accessible iOS apps. She has a degree in history; she recently completed a coding bootcamp to pursue her passion for mobile development, where she built and shipped a music player app.

This showcases some of your drives (design and accessibility), gives a very brief overview of your experience and a real example of something you’ve built.

Including Your Education

Traditionally, the top section of the resume after the header and introduction is the experience section. However, if you’ve just completed your degree, you might not have any work experience to add.

When creating a resume for your first job in tech, your education section is most relevant to your job search, so you should put it before your experience.

Your education showcases what you’ve learned thus far. Add each education block in reverse chronological order with the most recent educational experiences listed first. What to include depends on your experience, age and what path you’ve taken in education.

If you have a university degree in computer science, then that should be the largest part of the education section. If you have a degree in an unrelated field, definitely include it, but without as much detail, as you’ll add more information for a bootcamp or professional experience. You should also include your high school, but you only need to list the subjects you took and your grades. If you don’t have a degree, then you can include your high school and expand more on either the bootcamp you’ve done or any relevant professional experience.

Your tech degree or bootcamp should provide a high-level overview of all the topics you’ve learned. List the specific technologies and areas you studied. Be sure to provide success stories from projects you worked on. When using group projects, be clear about your responsibilities and which parts you worked on. For example:

Built an e-commerce site for our final group project in the bootcamp. I was responsible for building an API to handle orders and process payments. I worked closely with the web developer to ensure that requests from the website to the API worked correctly and provided what they needed. The project took three weeks and worked successfully. The API was built using NodeJS; orders were saved in PostgreSQL.

This provides a clear overview of the project and what you directly worked on. It showcases your teamwork as you worked with other developers, experience building a complex system and the technologies you used. These are all things that employers will look for when reading resumes.

Adding Your Experience to Your Resume

Even if you’ve never worked a tech job, you still need an experience section. If you’ve had any previous jobs, even part-time while in college, you’ll list them here. Of course, if you’ve had any previous experience in tech jobs or internships, you should definitely include them!

For each job, add your title, place of work and dates in reverse chronological order, with the most recent first. Then, for each job, add a few bullet points highlighting your achievements in the role. Don’t be afraid to take credit for the work you did, even when working as a team. For example, if you worked in a restaurant, you could say:

Worked as a server responsible for ensuring 30 tables were looked after and happy. Handled complaints to the kitchen and ensured they were all resolved.

This shows you worked in a high-pressure environment, interacting with lots of different customers and managing any issues. All these skills are relevant, even in tech. Any experience you’ve gained in any role is applicable. Some skills that companies want to see and things you’ll use in a tech job include:

  • Learning to work as a team.
  • Communicating well with customers, managers and other team members.
  • Writing and organizational skills.
  • Problem-solving abilities.
  • Leading teams and organizing camps.

If you do have experience in tech, either working on your own side projects or doing an internship, you should be clear about what you achieved and the technologies you worked on.

For example, if you did a two-month internship working on mobile apps, you could say:

• Spent two months working on an internal iOS app as part of a team of three. I was responsible for the inventory page, ensuring that the service desk could add, track and remove company assets.

• Used Swift and SwiftUI to build the app.

• Helped automate builds to the enterprise App Store to ensure that changes were released more quickly. I wrote the scripts for CI to automatically build any code changes.

This provides some insight into the work you did and what you already know. You’ll likely be asked about these points in your interview, as they provide interesting discussion topics, so only use what you worked on yourself.

In the example above, even if you’re applying for a role that doesn’t include working on iOS apps, you should still include all of the information about your past experience. Many skills transfer directly to other languages and other tech roles.

Listing Your Skills on Your Resume

The final section on your resume should be a skills section that provides an easy list to look at to see if you match the role. Think of this section as a keyword list that will be used by recruiters, interviewers and automated applicant tracking systems.

You should add all the technologies you’ve worked with, including different programming languages, frameworks and design skills. If you’re applying for roles in a different language than your native tongue, you should also include your language skills.

Finishing Up

Once you’ve put your resume together, it’s a good idea to get someone else to look over it. This can be a friend, a recruiter you’re working with, someone in tech or — even better — a mentor. They can look over it to make sure it makes sense and is readable. They’ll be able to give you advice on any parts that need to be expanded or rewritten. For example, any sections that don’t explain what you specifically did in a group project should be changed to be more explicit about your contributions.

You should also have someone else check each version of your resume when you tailor it for specific roles. You’ll learn about this later in the chapter.

What Not to Include in Your Resume

While you should include as much relevant experience as you can in your resume, there are some things you don’t want to include. Generally, you shouldn’t include any education before the age of 16. And you don’t need to include the award for best Halloween costume from preschool!

You might find that if you’ve had several jobs before changing to a career in tech, you’ll struggle to fit everything onto two pages. If you’re changing careers, it’s a good idea to include all jobs you’ve had since school so you can explain what you’ve done in your professional career, but you don’t need to include earlier jobs.

However, if you’re applying to your first job straight out of university, then definitely include jobs from school and college, as you can use these to showcase your skills in communication and working in a team.

You also shouldn’t include any images or diagrams, as these take up valuable space and won’t do a good job of conveying your experience.

Note: Resume dos and don’ts vary by region. For example, in the US, you don’t want to include a photograph, whereas this is standard practice elsewhere. If you’re applying for a job based outside your region, get a local to review your resume and ask, “Is there anything I’ve included that you would recommend removing?”

Tailoring Resumes

If you follow the steps from this chapter so far, you’ll end up with a strong resume that you can hand out at job fairs or other recruiting events. However, if you’re applying for individual roles, you should spend some time tailoring your resume to the specific job you’re applying for.

For example, in a group project, you might’ve had multiple responsibilities working on the Android app and also the back end. If you apply to a back-end role, then your Android app work should be a single bullet point. However, you should go into detail about the work you did on the back end, the technologies you used and how you tied it all together. Alternatively, if you apply for an Android role, then the back-end work should be a bullet point, and you should go into detail about the UI frameworks you used to build the app, any networking libraries you used and so on.

In Chapter 3, “Decoding Job Listings to Find the Right Roles”, you learned how to decipher job listings and discover the different skills the job might require. You can use this to determine which parts you need to emphasize and highlight in your resume.

Important: A good rule of thumb is to go through the required skills in the job description and make sure you specifically mention as many of those as you have experience for in your resume. This will give you a much higher chance of being noticed compared to submitting a generic resume.

When I was applying for my first jobs, I created a base template that included the information I needed for every application, such as my pre-university education, grades and the summer job I worked for several years in a restaurant. I expanded this to emphasize how I had experience working in a team, juggling several different tasks and demonstrating good communication. As I studied computer science at university, I wrote only a few bullet points about the major topics covered, such as the languages I’d learned and the main modules I’d taken.

Then, when I applied for different roles, I expanded upon my university experience and my side project of building websites, where that information made sense. When I applied for a role building internal support systems for a company, I went into detail about the different sites I’d built and showcased my experience creating web apps. I also expanded on a group project where we had to gather requirements from a number of different groups in the university to build them an app to help promote student societies. This demonstrated my experience working with different groups to understand requirements — a listed required skill on the job ad.

Another job I applied for was working in cybersecurity. For this one, I changed my resume to expand upon the security and network modules I’d taken. The job ad asked for experience working in C and Assembly, so I wrote several bullet points on my final year project where I used these languages extensively.

Create Base Resume Read Job Description To Find Required Skills Tailor Resume to Show Required Skills
Start with a base resume, then craft a unique version for each position you seek.

Remember that some of the people screening your resume might not be technical themselves. Instead, they have a list of keywords to watch out for. By ensuring that your resume closely matches the requirements listed in the job posting, you increase your chances of progressing in the application process and securing that interview!

Managing Applicant Tracking Systems

Applicant tracking systems (or ATSs) are commonly used by large companies that need to track thousands of job applications for various different roles. They differ depending on the company, but usually ask you to answer some questions about your experience — e.g., “Tell me a time when you solved a difficult technical problem” — and to submit your resume. If you’re lucky, you can submit your resume as a PDF or Word document, but be warned: Some systems require you to manually enter details into an online form.

ATSs commonly have a screening function where the system automatically rejects candidates that don’t match the criteria for the role. Whenever you apply to a role that requires you to use an online system to track your application, make sure you read through the job description and use the same phrases and keywords it mentions. Don’t be afraid to copy phrases such as “experience building web applications” word for word in your application.

The skills section of your resume is another good place to list the exact skills you have that the application is looking for. Doing this ensures you have the highest possible chance of getting through the automated screening and continuing to the next stage.

Tip: If you need to answer long-form questions on the sites, write your answers in a local document and save it. Not only does this save you time if the system crashes when you try to submit your answers, but you may also find that different companies use the same underlying ATS and have the same questions, saving you time in your job search!

Building a Portfolio

A portfolio is your chance to show off projects you’ve worked on. This is a great opportunity to stand out from other prospective developers when none of you are likely to have real work experience in tech.

If you’re applying for most developer roles, then you can quickly build a portfolio using a GitHub profile. GitHub is a popular website for hosting source code; if you’ve gone through any online tutorials or courses, it’s a good idea to make the code you’ve written public there. Don’t worry about making the code perfect — no one expects that.

Your profile allows employers to see contributions, discussions on pull requests and issues and the different projects you’ve worked on. This can also make for great topics to discuss in an interview. For more details on projects to include on GitHub, check out Chapter 8, “Building in Public” and Chapter 9, “Learn & Share”.

Your GitHub profile should have pinned repositories showing your best apps or projects that you’ve contributed to. If you’re part of any organizations, then you can make these public as well.

Finally, create a GitHub Profile README. This gives you a space to introduce yourself and describe what kinds of things you enjoy building.

For example, here’s my GitHub profile:

Take the time to design a GitHub profile that showcases your work.
Take the time to design a GitHub profile that showcases your work.

This took little effort to make, and it provides a good place to point people to. It gives me a quick introduction, shows some of the projects I’ve worked on and showcases my contributions.

For most developers, this will be more than good enough. However, if you’re applying to do website development or any kind of design work, you should build a real portfolio website. This should include any projects you’ve worked on and examples of your work.

You can even use your portfolio to display example sites that aren’t real. If I’m looking to hire a designer or web developer, I won’t consider them if they don’t have their own site showing what they can do.

Your portfolio must look good! After all, you can’t expect anyone to employ you to build great-looking websites if you can’t build one for yourself. So, spend a bit of time building a simple portfolio and a couple of example sites, if necessary. You should also add links to your GitHub account, any blogs you’ve written and ways to contact you.

Crafting a Cover Letter

When applying to a job, you should always send a cover letter along with your resume. The only exception to this is when you apply via an ATS and submit everything through the service.

If you’re applying via email, then the email is your cover letter; otherwise, you should write a separate letter.

Use your cover letter to introduce yourself to whoever reads your application. Explain why you’re interested in the job and what you offer to the role.

It needs to make a good first impression, because if it doesn’t, they may not even read your resume. The cover letter only needs to be a few paragraphs — in fact, any longer may put people off! If they have to go through a hundred applications, they won’t want to read several pages of a cover letter.

Your cover letter should be split into two sections. The first section should cover why you want to apply for the job. Go into detail about what appeals to you about the role or the company. It could be the chance to work for a company that built an app you use every day, or it might be that the role uses a specific web framework you’ve been using and working with. You must personalize this section and make it specific to the role and company you’re applying to.

Generic cover letters are extremely easy to spot, and they don’t create a good impression — you’ll likely be rejected in favor of someone who’s explained why they want the role.

The second section should cover what you offer to the role. Pick one or two of the required skills that you satisfy and explain why you’d be great in the role. Selling yourself can be hard to do, but if you persuade the person reading your application that you’re a great fit, you’ll encourage them to read your resume and advance you to the next stage of the process.

Finally, make sure the cover letter doesn’t have any spelling mistakes or grammatical errors in it. Use a website like Grammarly to provide a first pass. Then, ask someone else to proofread it to make sure it’s all correct.

An example of a bad cover letter is:

To who it may concern,

I’m Tim and have just finished my university corse in computer science. I’m interested in the mobile developer role I saw advertised for you company as I want do mobile development. I helped build a mobile app during my course and think I have the skills listed in the job ad. You can see my resume which I have attach to this email.



If I saw this cover letter with twenty other applications, I’d likely reject it without reading the resume for three major reasons:

  1. It contains a number of spelling and grammatical errors, which gives the impression that the applicant didn’t even take the time to ensure it’s right — which won’t make companies want that person to work for them.
  2. It’s generic and doesn’t explain why they want to work for this company. It could be written for any mobile developer job.
  3. Finally, it doesn’t do a good job showcasing the applicant’s skills and what they offer to the role.

Compare that cover letter to a good example:

Hi Sarah,

I’m Tim, and I’d love to have the opportunity to apply for the mobile developer role at Monzo. I’ve been a Monzo user for two years now and would relish the opportunity to work on an app I use every day! I’ve been following Monzo’s engineering blog for a while and especially enjoyed the post discussing building a common design language for mobile apps.

I’ve just graduated university with a 2.1 in computer science; as part of my course, I did several modules on mobile development. I believe I would be a strong addition to the team, as I have already built a few apps and I have a passion for creating great user experiences, just like the Monzo app does. I’ve attached my resume to the email, which provides more details about my experience.

Thanks for considering my application,


This is a much better letter; it’s polite, has no spelling or grammar errors and offers a far more compelling case to consider the application. Several things in this cover letter make it stand out:

  • If you’re sending your application to a specific person, use their name. It makes the application much more personable.
  • By mentioning the company you’re applying to, what they work on and why you want to work for them, you sound much more enthusiastic.
  • The point mentioning the blog clearly shows that this isn’t a copy-and-paste letter and that you already have an interest in the company and app.
  • This letter explains the skills you offer and sounds much more engaged.

Cover letters can be time-consuming and difficult to write, especially if you’re applying to a company you’ve never heard of before. There’s absolutely nothing wrong with applying for a role because it’s just a job. However, by spending a bit of time researching the role and company, then using that research to personalize your cover letter, you have a much better chance of standing out.

Key Takeaways

  • Keep the resume relevant and focused on your experiences in tech.
  • Adapt every time you apply to maximize your chances of progressing through the application process.
  • Relevant skills can come from any experience in education, previous jobs and hobbies — you don’t need tech-specific experience for everything.
  • A portfolio or GitHub account is very useful to showcase your skills and help you stand out from the crowd.
  • Ask a mentor or friend to check your resume for errors and readability.


Action Plan

  • Create a base resume containing all the standard sections explained earlier in this chapter.
  • Tailor the resume to each role by highlighting specific experience and technologies you used to match the job posting.
  • Create your GitHub account and add a profile README. Start publishing your work to showcase it.
  • Build a portfolio website to show off your design skills, if necessary.

Reflect on what you’ve learned: Find this chapter’s worksheet (PDF) in this book’s GitHub materials repo.

Have a technical question? Want to report a bug? You can ask questions and report bugs to the book authors in our official book forum here.
© 2023 Kodeco Inc.