Of course, you don’t need a portfolio of projects to get a job in software. I’ve gotten all my jobs without a portfolio, and I’m betting the vast majority of software developers are in the same situation.
Assuming that is true, then, is it worth the trouble to build a portfolio?
I came across one very good case study in the freeCodeCamp forum. A Brazilian started studying computer science in 2014. Later (2017), they finished studying at freeCodeCamp, and with some help from their portfolio website, they got a full time job as a full stack developer. This is especially notable because they had some very finicky requirements: only remote positions, only doing full stack or back end work, and so on.
How much was the portfolio a factor? It seems to have been helpful, but it didn’t seal the deal. The person said that they got plenty of interviews, but the result was always: “Great portfolio, but we need someone with more experience”. After this happened too many times, they stopped emphasizing their portfolio work, and instead began to focus on soft skills (knowledge sharing, consistency, meeting deadlines, etc). When they finally got a job, they said, “The person who hired me mentioned that the reason they wanted me over someone they knew and/or had more experience was basically because i paid attention to their job announcement and had proof that i was a self learner.”
That’s a nice anecdote. It supports the idea that a portfolio can help get your foot in the door. I’ve found some threads on Hacker News where hiring managers make claims that they both do, and do not, pay attention to developer portfolios when hiring.
Here is a list of “developer portfolio” links on HN over the years:
(1) Hello HN: I am quitting school for freelance, here’s my portfolio (Dec 7, 2010)
(4) Build your portfolio by working on interesting projects (Mar 28, 2015)
(5) Show HN: My first portfolio site – Full Stack Engineer (May 15, 2015)
(6) Ask HN: Does a college degree hold more power than a strong portfolio? (Jun 5, 2015)
(7) Ask HN: Beginning freelance web developer: no clients – portfolio? (Apr 29, 2011)
(8) Ask HN: What makes a great freelance portfolio? (Jun 9, 2014)
If you’re planning on building a portfolio, I think you’ll want to thoroughly read each of the threads above. Below are some informative snippets that will give you a general idea of what I discovered.
In this HN thread, user ivanzhao presented his portfolio as an example of his skills. He got some feedback, both harsh and helpful, from the crowd at HN. Critiques recommended that he validate his site, that mouseover events are not usable on mobile devices, and that the site was not responsive. He got several remarks from users who said they’d probably never hire him based on their distaste for his portfolio, but there were also several remarks requesting his contact info and a rate! Note that this dude is the founder of Notion – so he went from quitting grad school in 2010 to founding Notion (circa 2013), which is a pretty cool story!
In a different thread, a high school student had worked on “open-source projects to create a portfolio demonstrating proficiency with a range of tools, languages, services, and paradigms”. The student wondered how this corpus could be leveraged to get a job. a-saleh indicated that he found starter jobs using family and friends (apparently no portfolio was involved). kafkaesq recommended accepting student work, even if it’s “for peanuts”, and trying to aim for work that can go into a portfolio. chetanbhasin said “Luckily, for most Software engineering roles, a good portfolio is far more important than an obscure number for the years you have worked.” ps5 gave support for having a portfolio, saying “Build and host a web app that uses some real-time public-facing data… That’s how I got a job as a very junior developer.” innocentoldguy confirmed this: “My company recently hired a young student right out of high school. What made him stand out was a few apps he had published on the App Store…” DEinspanjer expressed interest in looking at the student’s portfolio if it included work in Angular. eli said that they’ve hired “several people with no formal experience, but some awesome open source work.” So there are several posts in this thread which suggest that a portfolio project is useful for entry-level or junior-level positions. Other people in the thread suggest that it’s far better to get a college education rather than aim for work straight out of high school. The entire thread is definitely worth reading if you are looking to break into software development or web development, even if you’re not a high school student.
In another HN thread, someone asks “What portfolio items are most impressive to you when hiring developers?” Now things get more interesting! kasey_junk asserts “The best devs I know dont have portfolio pieces. They tend to work on problems that the people employing them pay a lot of money to prevent being public…So for me portfolios are for junior devs & graduate students looking to leave academia…” Later, they said that they mostly use “network based hiring” (i.e. it’s not what you know, but who you know!). corobo indicates that they do find portfolios useful when hiring, and concludes “Associated blog posts that explain how your code works and why though? I’d put your name to the top of the “get this person in” list on the spot“. edoceo appears to find portfolio projects useful when hiring and says “I’ll also look at your wiki and issues, to evaluate communication.“
In this other HN thread, iandanforth says they’re hiring and would definitely like to see a code portfolio in evaluating candidates. And here’s a comment from yet another HN thread where portfolios are discussed: eranation says they pay attention to portfolio work when hiring for a specific task or language, but are more interested in seeing a breadth of experience (CS degree) when the work involves algorithms and data structures. In the same thread, morgante says that as a hiring manager, they consider someone with a strong portfolio and a CS degree to be a stronger candidate than someone without the portfolio.
A contrary opinion comes from tptacek, a user with a good reputation at Hacker News. He says, “If you’re aiming for the most lucrative work, the conversation you want to be having with prospective clients has very little to do with anything you’d put on a developer portfolio, and a lot more to do with (a) being able to speak the language of business (ie: making a credible benefits-focused pitch and understanding how ‘customer service’ principles apply to our kind of work) and (b) being able to tailor a case study or two to a client.” That doesn’t sound like total condemnation of having a portfolio, though… Just that it’s not the #1 thing to focus on.
It could be that I have a little bit of a bias, but my impression is that the software community does consider a portfolio to be a plus when looking to hire a developer, especially for freelance and/or more entry-level work. If you have no trouble getting work, then it may not be worth putting the time in to build a portfolio. If you feel like you could use a boost in your job search, but can’t figure out what kind of project to work on, you may want to read through all the above links at Hacker News! You can also take a look at my list of potential portfolio projects for some ideas to get started.