Continuing with the task in the #HashnodeBootcamp it's time to talk about portfolios. I'll do it short but concise.
WTF is a portfolio?
Simply, it's a place where you put all of your work. It's important to show what you have done to potential clients or employers.
This is not exclusive to developers, photographers must have a portfolio, designers, architects, engineers, models, and any other type of profession, everything that can be documented can be part of a portfolio.
In the programming world, portfolios are built with projects you have done or participated in. Frontend developers have it easy, they just have to show websites or web applications available online. Backend developers have it kind of difficult because their projects can't be easily shown on a website, however, they can have manuals and documentation on how an application they made works. (That's why it's important to know how to document your projects).
What should a portfolio contain?
A portfolio is a place where you put all of your work. Okay, but how and what. Do I have to put all the projects? Should I make it a website or a book? This is my opinion.
Before you ask, I don't have a portfolio yet, I'm working on it because I want to create on React, and I'm still learning it. The closest portfolio I have is my 50 projects in 50 days website, but with the information below, I'll tell why it's not a good site to make it a portfolio.
1. A basic intro about you
When a client or an employer visits your portfolio, it's like a date, the first impression counts (a lot), so you might want to make a good first impression.
This can be sum up as your name, your role, and a brief description (no more than 140 characters). Because it's what is going to introduce the person to continue reading the entire website (you can double-check with HR recruiters reading hundreds of resumes per day).
2. Your projects
Your projects are the main reason why a recruiter or client will visit your portfolio, so you need to have it organized. Some recommendations I can give you.
- Less is more
If you have 50 small projects like me, a person won't have time to check them all. Just place a few projects, the best ones, no more than five. In that way, you'll make your visitant focus on the best of you.
- Brief description of the project
Along with the project link, you should add a preview or thumbnail, the technology used in it, and the main use case for the app or website. For example, if you make a calculator with a currency converter, you'd like to describe the main function you worked on and the recruiter or client will review that specific function out of the entire project.
- Big projects are better
I have 50 projects that took me 1 or 2 hours, but those are things that don't add extra value if I'm applying for a senior dev role. On the other hand, if I have one big project that has taken me several hours but it does a lot of things, I'm showing that I can handle more than making small websites, I'm showing that I'm capable of maintaining a large project with many requirements.
If you have several mini-projects, I recommend you mix them up and create one instead, that's a valuable skill.
- Open source is great
Open source collaborations show that you can analyze others' code, get involved in large projects, collaborate without any monetary interest, and your skills are valued by others by integrating your code on their projects.
If you don't have any open source collab, that's okay, but it's recommended to try at least once and it will look great in your portfolio or resume.
3. Contact page
Of course, this is one of the things you need to have, you want people calling you to get a job or participate in projects.
Always have the easiest method to contact you, it's good to have your email and phone number on that page, by doing that, people will easily contact you. Having information public is good when you're building your personal brand.
You can have a dedicated phone number for clients or job stuff and a dedicated email like firstname.lastname@example.org or something like that, but if you don't want to do it, add a form with a few fields like name, email, and message to contact your clients back.
Show me what you have
Do you have your portfolio ready? Do you want feedback from me? Please leave a comment, I'll be glad to see it.