Optimizing your GitHub and CV to pass technical review
Tags: job, jobhunting, cv, frontend
Published: 2024-01-08 15:27:43

_Article from a September 2021 translation_
[Versión en español](https://dev.to/miasalazar/optimizar-tu-github-y-cv-para-pasar-la-revision-tecnica-35ok)

A few weeks ago I participated in a selection process to find a Junior Front-end to work with me. Quite a few applications came in and I started looking around to see which profiles would fit and which would not. After looking at hundreds of CVs, GitHubs and Portfolios, I realized how many mistakes I am making that could make it difficult for me to get a job in the future.

When you apply to a selection process, if all goes well, a human resources person or a technical colleague from the relevant department will have to review your profile, so anything that can be done to make the information accessible, to explain your thought processes or the justifications behind your code, is a good idea. After all, reading someone else's code is not always easy.

First of all, I want to clarify that I am not HR, nor a Senior Front-End person and I am sure you both have a lot to say about this, but here is what I have observed as part of my personal experience.

* Send your CV as a .pdf, never as a Doc, and make sure it's not too heavy, otherwise it may take a while to load.
* Put your GitHub link in your CV and make it visible and, above all, put the whole link. Maybe the whole link is not so nice, but you save the person who is going to look at your GitHub having to search for you.
* If you are applying for a Front-end position, it is advisable that your CV and portfolios are not hideous. It doesn't have to be a work of art, but at least it should be tidy. The front-end is the visible part of web development, so look at how presentable your CV and portfolio are.
* If the project you are trying to apply for is a front-end project, have your projects uploaded to GitHub Pages or similar so the right person can see what a nice project you have done.
* Write a README for each project you have on GitHub. When reviewing someone's code, it helps to know what the project is about.
* Have a meaningful structure within each repository. There is no one right way to order the files, but make sure they're not all uploaded haphazardly.
* If you have studied in a Bootcamp, a very good option is to have done several projects apart from the ones you have done in it. Bootcamp projects are usually very good, but in the end, many of them look the same, and when a person has seen hundreds of GitHubs, they all look similar.
* Apart from forking other projects, have your own projects on your GitHub. In them, you are not only making a project from start to finish by yourself without any help, but you are also demonstrating your ability to have innovative ideas.
* Having projects on your GitHub with technologies related to the job you are applying for can be very useful, if your repositories are in other languages it is more difficult to determine your suitability for the job. However, if you have a very complete GitHub or similar technologies, the person reviewing can also get an idea. 
* If you have no professional experience but you have personal projects that are very polished, put a section in your CV with the projects explaining them briefly and with a link where the project and its code can be seen.
* The projects you have in your GitHub don't have to be finished, but it would be good if you let people know which ones are in process and which ones are finished. That way the person reviewing them can know what your intentions are even if a project isn't finished.
* Use branches that make sense when uploading your changes to GitHub. This shows organization, order, interest, and also that you have mastered git.
* Put commits that make sense or, at least, that your commits are not rude like 'more fucking js' or 'fixing this shit'.

At the end of the day in a selection process, you have to be able to show your best and demonstrate the strengths that will make you a good colleague in the team. All these little tips can help the technical person reviewing your profile to know exactly what you can do, what your strengths are, and what you can bring to the table.