written on 04/10/2021
Let your Projects section shine
The project section on your resume can get quite important if you do not have that much experience, are a new graduate, or coming from a bootstrap. In this article, you will learn how to perfectly summarize your projects, how to polish them, and make them look outstanding for the company you apply to.
Projects are important
It takes 10000 hours to be an expert in a field. That quote was invented by Malcom Gladwell in his bestseller "Outliers: The Story of Success". And that is also true for programming. Professional experience can provide you this time somehow but with personal projects, you can accelerate.
Especially startups will look at these projects a bit more. Startups, in general, will require a more diverse-skilled engineer. A software engineer who is also ok to tinker with Marketing, build solutions for Sales, and just interested in the product, understanding the customer. If you had any project showcasing all of these skills you will be far more likely to get the job.
Another good point for projects is that if you do not have professional experience, you can make an equivalent experience with private projects. This is difficult, especially when learning to program because you want to learn everything and try out everything, but focussing on one idea is more beneficial for your career. Why? Let us see in the next chapter!
What kind of projects?
This is probably a difficult question. When you are in university, you will have a lot of group projects. Most of these projects will finish unpolished. We all know it. The grade is received and the project is "Done". No one will ever work on that. And that is sad and not helpful for projects.
Another kind of project is the projects that you are creating to learn a technology. They are great since they will teach you a valuable skill hopefully. But listing these on the resume? It might make sense when you are looking at your projects. But changing perspective will help you to understand the problem. So let us think we are the hiring manager for a position and look at a project description like this:
Some movie search web app
- Created an application to consume the IDMB API
- Implemented search with all the movies with Vue.js and Node.js
So what does this tell the hiring manager? It states that you can follow a tutorial found online step-by-step. And now ask yourself: Will it help the company to validate your hiring? Probably not. So what let us work backward. What is a hiring manager looking for?
In general, we need to ask ourselves why a company wants to hire someone? The company sees employment as a kind of a business contract. They give money to a person to produce a certain kind of value for the company. Ideally, the company pays them less than what they contribute to the company in profit. But what you can see here as well: The higher the profit per employee at a company the better the pay will be. So how can we increase the value brought to the company? This completely depends on the company. At bigger technology companies every improvement and cost reduction is really good. Did you optimize some super low-level code reducing the computation cost overall in the company by 1%? That is an outstanding achievement because the company will save a lot of money. In smaller startups, this is less important, because these micro-optimizations do not get applied to many projects and services within a company. In those companies, product ideas and growth are far more important. Learning to grow your software with technology skills, building a product and many of these more marketing-sales-like skills are required. So what are some good projects to do ideally?
If you are at the beginning of your career it is more worth it to focus on a real project. Most of the time your first 2 to 3 years will be at smaller companies where you need to have a product sense. For these cases, I recommend picking a problem you have in your life and fixing it with a technical solution. Or a problem other people have. The most common approach is normally to ask around in your family, friends, and similar for a problem they solve in Excel. These types of problems can be almost always optimized within a web app. Create that web app with a landing page and grow it. In most cases, you can even make money from this. A side project making 50 USD per month is worth a lot more than another tutorial about a web framework that you will probably never use. If you struggle with idea finding, I wrote another excellent article covering this exact topic here.
If you target bigger companies with your application, it makes sense to also focus on technical improvements regarding scaling. Ideally, this has something to do with scaling the servers to keep up with increased load within web services, but it is really difficult to focus on that. You should normally get a lot of experience with that in some job you will take because users will be there at established companies.
Presenting the project
How a project appears to the hiring manager is important as we have seen before. The initial part is the description in the resume. So let us have a look at that.
First of all, we need to ask what the project has solved. So as a thought process I am always writing down the #1 reason why people will use the project. For example, I will take one of my side projects getworkrecognized.com: "Help employees tracking their work and creating brag documents to convince their managers to get promoted". Now that is a nice thought that it will happen. Ideally, you can validate that it also worked. Either by users of the projects or even by yourself. So for getworkrecognized, we could write:
- Help employees tracking their work and got more than 50 customers a promotion by helping them to create a brag document with the project
- Helped myself to track my progress at work, create a brag document with this that helped me to go through the promotion process successfully leading to a promotion to Senior Software Engineer
There are of course many more possibilities to actually validate the project, but as long as the hiring manager sees you have some kind of success metric, they will be happy with the project. It shows that you measure your impact and focus on the important bits.
As you can see I have not mentioned which technologies were used. Ideally, you can put them into a bullet point below the initial description. I use a format like this or similar:
getworkrecognized.com - January 2020 → present
- Helped myself to track my progress at work, create a brag document with this that helped me to go through the promotion process successfully leading to a promotion to Senior Software Engineer
- Technologies used: React, TypeSript, Next.js, Express, TypeORM, PostgreSQL
Of course, no hiring manager will expect you to have such big projects. It is more likely you have a smaller GitHub project, but still, you can sell it quite nicely. So do that!
Another point is the actual representation of the project. And with this, I mean the landing page of the project. As you could see in the last example, the project I linked had an URL in the description. If the description is interesting in itself, then the hiring manager is likely to click on it. So it is worth it to spend some time polishing the resources. In most cases, you have two options for these URLs: The GitHub URL or the website of the project. A website can be a lot of work, but it does not matter which technology you use there, a static builder, WordPress, netlify with a free landing page theme. There are many opportunities. Writing a good landing page is difficult though, but there is help. You can, for example, check saaspages.xyz and copy the text of a popular site and change it to your use case. For the design, you can use something like chakra-templates.dev for example. Many more tools are out there but focus on the copy. Make clear what your project is doing. That’s the important part. Show screenshots and showcases if applicable, a picture can say more than 1000 words.
The same process can be applied to a GitHub README. First, start with a general project description on what problem this project solves, add some screenshots or videos of the tool in use, and then describe how to install it and use it. Following the same guidelines as with the landing page.
In general, you should remember that hiring managers are unlikely to click even on the project so you should not spend too much time on it, to be honest. Just make it nice enough that the reason why this project exists is clear and that there are clear instructions on how to use the tool or how it looks. A website/landing page is more impressive than a simple GitHub README, but of course also a bit more work.
Structure in the resume
Where to put the projects section is a good question. It always comes down to how much experience you have and how popular the projects are. In general, we can say that professional experience is more important than projects. Education might be also more important if your projects are not that complex or shiny. Otherwise definitely put your projects in front of your education section. So how does the structure of the resume looks like?
New Graduate (Without experience or internships, good projects)
- General Information
- Projects
- Education
- Skills
New Graduate (With Experience)
- General Information
- Experience
- Projects or education (depends on what is better)
- Projects or education
- Skills
Experienced Software Engineer
- General Information
- Experience
- Projects
- Education
- Skills
With those structures, you are going a safe way in general and signaling to the hiring manager your most important skills first. Of course, these orderings can change case by case but in general, it will give you a good structure.
Examples
The first example was gotten by r/cscareerquestions. I liked the projects and their description. So let us have a look:
In that example, we can see two projects. The first is described well. The only thing that I would leave of is specific names like ESP32 because no one will know them without googling if they do not know about microcontrollers. Otherwise, the description is quite good except that no technologies are mentioned when it comes to programming languages but what I like is the last point that validates the projects by winning an award. This means people liked it and can see the potential.
The second project also starts similarly, and you can also see the reason why this project was created in the last point. It was mainly a project to learn. Otherwise, the person also mentions that they were using C++, which indicates what language the person might be comfortable with.
Another example is the project section of my resume:
You can see that I also have two projects. A small difference to the previous example is that I include links and timelines to the project and for my first project list all the technologies used. A bit of a disadvantage is that I do not mention the impact the project had. Something I have to work on. Otherwise, it shines if people would click on the link in the description because the projects have fully worked out landing pages with extensive examples that are all working.
Conclusion
We could see that projects are an important part of the career of a Software Engineer. You need to invest around 10.000 hours to master a skill. With writing software, it is not different. The more you work on your side projects the more you will learn. And not only with writing software but learning other skills like marketing and similar. It is a super worthy experience and boosted my career a lot. So just start today with upgrading your current projects and start from the README or the landing page, then continue to rewrite your description of the projects in the description of your resume and you are good to go.
You might also like
The #1 tip to familiarize with new JavaScript Codebases
Getting thrown into a new codebase is difficult. But with tools for architecture analysis you can make your journey at your next job's JavaScript or TypeScript codebase a breeze.
The Work Experience in a Software Engineer Resume
The work experience in your resume is the part with the most impact to get hired. Writing this section perfectly will lead to more responses and interviews. See these tips to get to the next level.