Whether you're a freelance developer looking for clients, a junior developer looking for your first development job, or a senior-level developer with years of experience, having a portfolio is essential. Your portfolio will help you showcase your skills and stand out from your peers during your job search.
Watch the video below for a step-by-step breakdown of how to create your own portfolio. (And check out Part 2 to learn how to make it even better.)
Then we'll take a look at what you should include in your software developer portfolio, along with tips for how to build your collection of portfolio projects, where to host your portfolio, and more.
Do you need a software developer portfolio?
Every developer who has completed a few development projects should have a software developer portfolio. While a technical resume may be enough to start applying to some jobs, a portfolio will show that you can actually use all the skills listed in your resume.
Plus, resumes are usually only seen when you are looking for a job, while your portfolio can work for you all the time. You can share a link on your LinkedIn and social profiles like Twitter to let your contacts see what you can do. Through your portfolio, contacts can learn more about you, see your work — and it makes networking and introductions easy. Who knows? Maybe the best job will come when you aren't even looking for it.
Of course, if you haven't created any projects yet you won't need to create a portfolio just yet. But the fact that you're reading this article shows you're in the right spot to start building a strong portfolio as you start creating your own professional-grade projects. If you're learning with Codecademy, you'll find Portfolio Projects built into our Career Paths, giving you the opportunity to start building out your portfolio as you go.
What should a software developer portfolio contain?
Your portfolio doesn't need to be a complete website — it can just be a simple page. In fact, it should be. Recruiters and hiring managers are reviewing a lot of portfolios and have limited time to spend with yours. So if you are thinking of including a TL;DR section, it may contain too much information. However, here are some details you should include.
Information about you
We'll start with what to include in your About section. This is the non-technical section of your portfolio. It's where you'll let visitors and recruiters know a little bit more about you, share some high level experience, and let people know how to contact you. Here are some things to include in this section.
You'll want to describe aspects of your personality. Maybe describe why you got into programming. You can also include any hobbies or activities. There's no need to go overboard, but this is where you can show your personality.
This is the most important part. Make sure that people can contact you from your portfolio page. Include at least your email. Many recruiters like to contact candidates by phone, but having your phone number visible may result in unwanted calls, so that decision is up to you.
You'll want to list your technical skills. Don't list everything — just those skills you are strong in and want to work with again. If you are currently looking for a job, update the skills section to fit the job you want. Want more to add to this section? Learn a new language or skill from our course catalog.
Related social media profiles
The obvious links to have here include your Github, Bitbucket, Gitlab, and LinkedIn profiles. There also might be other profiles you want to add. If you actively answer questions at Stack Overflow, Quora, or Reddit, you should add links to those profiles. Of course, you only want to add links to those if you have a good reputation and focus on technology topics.
Awards, contests, or other recognition
Add links to any articles or books that you have published. If you entered a coding contest and won, add it. If you captured a big bug bounty, add that too.
A link to your resume
Recruiters and HR always want a hard copy, so it is essential to include a link to your resume so they can print it out.
Your work: Project links and source code
What types of projects should you include in your portfolio? You can include a mix of professional projects and personal projects, depending on where you are in your professional journey.
Note: While screenshots or website links may suffice during the initial stages of the hiring process, you'll also to "show your work" (i.e. your source code) to impress the technical people involved. Choose a free software repository like Github, Bitbucket, or Gitlab and add your source code. Make sure to add documentation to your projects to explain what they are as well as how to use them.
If you're more experienced, you'll likely have a variety of projects you worked on for others, whether a client, a job, or a programming course. Link to the projects so recruiters can see your work in action.
Make sure to include projects that utilize technologies that you'd like to work on again. Also include any relevant details about the project, like screenshots, who the project was for, and when you completed it. If the project is a live website, link to it.
If you're new to programming and are looking for your first development job, you may not have related experience other than the projects you completed for a course. That's ok! If your projects section is light, it's ok to add personal projects to boost your portfolio.
Where should you host your developer portfolio?
The first thing you need to consider when you want to create your portfolio is where you will host it. Where you create your software developer portfolio depends on your current skills and your budget. There are plenty of free options.
If you are a back-end developer or full-stack developer, the best option is hosting your portfolio on your own domain. After all, setting up a server, building your own portfolio site, and deploying it are both back-end and full-stack skills. The site itself will be part of your portfolio. Front-end developers who know how to deploy a website should also use this method. When you host your own portfolio on your own domain, the portfolio itself serves as a portfolio project and example of your work!
Another option is using the free hosting available at Github, Bitbucket, or Gitlab. All of these sites provide free code repository hosting and the ability to create static websites that you can use to describe your code projects or for any use you choose. Using one for a software developer portfolio makes perfect sense.
You could also use Dribble, which is a site that hosts web designer portfolios.
How can I add to my portfolio?
The best way to add to your software engineer portfolio projects is to write more code. Building a software developer portfolio can be hard when you're new to software development, but as you create projects you can build your portfolio as you go.
Here at Codecademy, our Career Paths not only teach you how to write code but also give you project assignments that you can add to your software developer portfolio.