When it comes to looking for a new job, a GitHub portfolio is a powerful tool for developers to demonstrate their skills to potential employers. But what should you actually put on your GitHub portfolio? In this post, we’ll break down the role of GitHub in a developer’s job search and what to put on GitHub to land your next job.
What Is a GitHub Portfolio?
GitHub is a software development platform that developers use to create and host applications and code. One of the many ways developers use GitHub is as a portfolio to share samples of their work with potential employers. A GitHub portfolio is a repository, or repo, that contains a variety of files and assets — in this case, work samples.
The purpose of this portfolio is to showcase your technical skills and projects while demonstrating your qualifications for a desired role. While a GitHub is not a requirement for applying to most positions, it can provide an edge when competing against other developers for job openings.
Should You List GitHub on a Resume?
Listing your GitHub portfolio on a resume can be highly effective during the job search process, as it gives hiring managers a way to evaluate your technical and problem-solving skills after a resume review. It can also show that you’re an active participant in the software development community.
There’s a catch, though. Developers should only consider linking to their GitHub if it’s active, relevant to the job description, and strong enough to help their candidacy. Sharing a dated, irrelevant, or weak portfolio won’t do your application any favors.
The main way developers add their GitHub to their resume is linking specific repositories in the experience section as a way of providing work samples. Other potential sections to add a link to your GitHub include contact information, projects, professional summary, or technical skills.
Which Job Seekers Should Use GitHub as a Portfolio?
Any developer looking to make a career change or demonstrate their coding skills can create a GitHub portfolio. That said, developers might find it helpful to build a GitHub portfolio during specific stages of their careers.
It’s worth considering, though, whether building a GitHub is a good fit for the specific speciality you’re pursuing. Front-end and back-end developers, for example, might be better off building their own portfolio websites as that directly demonstrates their skills.
Developers looking to break into the tech industry should consider using GitHub to demonstrate their skills. Top development jobs can be competitive, so any leg up will be helpful during the job search. Because college graduates often have limited work experience, having a portfolio to demonstrate qualifications, technical skills, and projects can prove an effective way to stand out while breaking into the tech industry.
Bootcamp graduates and independent learners
While developers from any background can succeed in the tech industry, bootcamp graduates and independent learners are definitely in the minority. Surveys have shown that 75% of developers worldwide have a bachelor’s degree or higher.
Because they’re starting their careers from a less-traditional career path, bootcamp grads and similar professionals can benefit from building a GitHub profile that demonstrates their real-world skills and qualifications. By compiling their best projects and work in a single place, bootcamp grads and independent learners can strengthen their candidacy and compete with college grads for top roles.
Developers making a career change
When making a career change to a different specialization, even experienced developers will need to demonstrate an aptitude for the new skills they’ll use on the job. For example, an experienced back-end developer looking to shift to full-stack development might build a portfolio that represents their growing competency in front-end skills and technologies.
Another potential reason an experienced developer might create a GitHub is to demonstrate skill in an additional language or technology that’s relevant to their career path but not used in their current job.
What Employers look for in a GitHub Portfolio
The approach an employer takes to evaluate a portfolio can vary widely depending on the responsibilities, industry, and seniority of a position. That said, there are commonalities in the evaluation criteria you can anticipate when building your GitHub profile.
Code performance & program optimization
Code performance is the ability of a program to accomplish a function or provide a solution to a problem. Program optimization is the process of enhancing a system to function more efficiently. Put simply, does the code function the way it should? And does the code use the most optimal solution to perform that function?
Some of the factors a hiring manager might use to evaluate a candidate’s code performance include:
- Rendering performance
- Annotation load performance
- Text parsing performance
- Design optimization
- Efficient algorithms and data structures
- Solution run time
While there are a variety of factors employers use to evaluate portfolios, one they’re sure to evaluate is code quality. How well written is the code in your portfolio?
Code quality is a subjective assessment of whether the code is clean, error-free, and written to address both present and future technical requirements.
Some of the factors a hiring manager might use to evaluate a candidate’s code quality include:
- Reliability: how consistently does the code run?
- Maintainability: is the code easy to maintain over time?
- Testability: can the code support testing efforts?
- Portability: how does the code perform in different environments?
- Reusability: can the assets be used again for other modules or projects?
- Scalability: will the code scale to new or larger projects?
Readability & documentation
Developers looking for roles on technical teams need to be able to create clear, readable, and well-documented code to succeed. Demonstrating this skill in a portfolio shows employers that you’re able to translate your work experience to a collaborative environment. This means that, at a minimum, your repo should include a read-me page explaining the purpose of the work and documentation on how to run the code.
Range & variety
When reviewing a portfolio, potential employers are trying to assess the developer’s ability to solve technical problems with a variety of technologies. A portfolio that demonstrates your ability to work with a range of in-demand languages and frameworks will go a long way in strengthening your candidacy.
Passion & ability to learn
A developer’s career is a journey of continuous learning and improvement. To succeed in a technical role, you’ll need to constantly upskill through on-the-job and self-directed training. Research has shown that 86.7 percent of developers have taught themselves a framework, language, or tool outside of a classroom or course.
For developers, the ability to learn a new language is as valuable of a skill as existing expertise. A strong, active GitHub with a diverse range of projects signals to employers that the developer they hire today will continue to grow and become more valuable to the company over time.
What You Should Put on Your GitHub
Projects from work
Few projects will demonstrate your ability to succeed in a role better than hands-on projects from your previous role. Ideally, you should strike a balance between projects that will translate to a future role and those that demonstrate other desired skills.
It’s worth noting that you should only publish code that you have the rights, ownership, or clearance to publish. Releasing proprietary or restricted code can cause a variety of legal and professional problems that are best avoided.
Repos from on-the-job experience make for a great portfolio, but what if you’ve never had a tech job before?
Candidates looking to land their first job — such as college and bootcamp graduates — might have fewer opportunities to build a portfolio. Developers in this situation can turn to assignments written for bootcamps or college to demonstrate their real-world skills.
Basic programming exercises, such as algorithms, arrays, and data structures, may seem like surprising inclusions in an original portfolio. However, junior programmers might consider adding these solutions to their GitHub profiles.
While they won’t have unique or proprietary solutions, these exercises can provide a helpful foundation for asking the basic algorithmic questions that are common in entry-level job interviews.
Open source projects
Contributing to open source projects provides developers the opportunity to learn new skills and further their careers. This makes open source contributions the perfect projects to include in a GitHub portfolio. Including open source repos in your portfolio provides the opportunity to share work on new or cutting-edge technologies that you might not have the opportunity to work on during your day job.
While open source projects can be great for any developer’s portfolio, they’re particularly useful for developers who can’t share proprietary code for contractual reasons.
How to Improve Your GitHub Portfolio
It’s much easier to build a strong portfolio if you save all of the work that you do. This will give you a range of projects and skills to choose from while creating your portfolio. It’s much easier to select projects from a large body of work than to scrape together repos before beginning a job search.
Always provide documentation
Code is only as good as the documentation that supports it. The same holds true for the code in your portfolio.
Unsure of what documentation to include in your repos? Try viewing your code from the perspective of a hiring manager who’s never seen it before. What explanation and context would they need to understand, test, and run the project?
Work with new technologies
If your GitHub is a sample of your work and progress as a developer, then one of the best ways to improve your GitHub is by gaining new technical skills. Learning new algorithms, platforms, languages, and frameworks will go a long way toward building a great GitHub account.
Resources for Improving Coding Skills