5 minute read

The Developer Resume Is Dead: Long Live the Portfolio

Flavio is a senior Java developer and a team leader. He's worked on complex projects for multiple high-profile clients.

Have you been googling articles on how to build an outstanding developer resume? Stop right now. It’s a waste of time! Cover letter? That’s a waste as well.

Let me tell you how ancient the practice of using a resume is. According to Wikipedia, It started with Leonardo da Vinci, who sent a letter to a potential employer describing his experience and skill set. In 1481! That’s how ancient it is.

Developer Resumes Are Dead: Long Live the Portfolio

In the past, you’d send your resume over to a potential company. They’d screen the list of resumes and invite people over for an in-person interview. The person with the best sales chops would always get the job. The charming, outgoing extrovert.

Recently, however many of the top companies and startups have changed the rules of the game. Now, you have to demonstrate your ability through a series of challenges. It usually involves completing complex programming algorithms in a very short amount of time. It may also involve the creation of a small project where you will demonstrate your experience with production systems, code quality, code readability (and maintainability), whether you have secured it properly against attacks, and so on. It sometimes it also involves live coding challenges where you’re supposed to write a solution while sharing your screen. Over the last few years, the resume has been replaced with several other ways to demonstrate your skills.

They all revolve around promoting yourself; that is, promoting your “personal brand.” Getting your name out there. Getting to know people in the industry. They will remember your name the next time that architect role opens up in their company.

You have to think of it like this. If you sell a homogenous commodity (the “coder”) in a competitive market, it will be a race to the lowest price (the “benefits”). If there are two barber shops in your street, offering the same quality of haircuts, and one of them charges double, I’m pretty sure they will go bankrupt before the end of the month. You cannot offer the same service as everyone else and expect to charge more. Well—not unless you differentiate. This brings us to the question: How exactly do you do that?

The Portfolio

You are usually reminded of a graphic designer when you think of a portfolio; however, software developers can have portfolios too. Usually, you’d place a pet project, maybe an app that you built, examples of code that you find best demonstrate your ability, or even screenshots of applications you created.

You can create an app and publish it to the marketplace. It does not have to be a complex app; it could be a scheduling app for beauty salons, so long as it’s something that people use. And even if nobody uses it, you went through the process of creating and publishing it, which shows initiative, creativity, and the ability to see a project through from the beginning to the end.

Open Source

Contributing to open source projects is a great way to demonstrate your coding skills. It demonstrates that you can quickly ramp up and understand a business domain. That you are able to produce software of quality and there are a lot of other people using it.

Not only that, your code is available on the internet for anyone to see. It tells how you work in a team, how good your commit messages are, how you’re able to discuss difficult technical solutions with other people, if you can settle for a pragmatic solution, if you favor code readability over mysterious algorithms you think are faster.

It shows the non-coding aspects of your abilities as well, such as how well you collaborate with other people and how good your writing skills are (good commit messages and documentation go hand in hand with good code).

People can see that you are a good professional, instead of you telling them so.


Contributing to StackOverflow, Reddit, Facebook groups, Hacker News, or other online forums can demonstrate your deep knowledge on a subject and your ability to solve problems. It also demonstrates your ability to write and be understood in a community as well as your ability to explain an issue to other people. It allows you to keep on top of the most recent news about your technology of choice. And it provides an ever-growing opportunity for networking. What’s more, by discussing various technologies with other people, you are exposed to different opinions and it helps you get out of the usual echo chambers that are so easy to get locked in


Writing a blog is a great way to demonstrate expertise on a subject, it also allows you to express your ideas and have healthy debates about technology. It allows you to get your name out there and grow a network of readers. If you keep at it and always improve the quality of your posts, over time your audience will grow organically.

And eventually, if you play your cards right, you can then write one or more books based on your blog postings, and perhaps even promote your own video courses. These fall in the famous category of passive earnings, since it’s a way to multiply your earnings without continuous effort being necessary to produce them.

Supplemental Resources

Creating video courses on YouTube or Udemy is a great way to demonstrate your ability to explain abstract concepts to other people. In the daily life of any project, there’s always a need to transmit knowledge as developers come and go. It forces you to understand deeply what you are about to teach. It reinforces your knowledge on the matter. It could also become a source of passive income in the years to follow.

Similar to open source contributions is taking part in hackathons—it’s a great way to demonstrate your skills and get to know people in the industry. You will compete against other people or teams in coding challenges. These are generally time constrained and offer a chance to shine while solving complex problems. They also offer a chance to get your gears moving, of keeping sharp with your knowledge of algorithms and data structures.

Great Personal Portfolio Resumes

Some great developers go the extra mile and create personal portfolios. Here are a few that stand out:

  • Kobi Gurkan: No nonsense, personal site showing off projects and work experience.
  • Charles Han: Possibly the shortest personal site ever.
  • My Toptal Resume: Toptal’s profile is the perfect resume builder, allowing me to show my experience and vouching for my code quality

Now that you’ve read all this, you can start planning how to put all of this in practice! Let me know what you think in the comments below!


Can't really agree with the article - Have interviewed and employed a large number of software engineers over the years - and not one dud - All great! None of this silly write a short program, complete a small project, complete an HR test etc. If the interviewer knows what they are doing they can eek out exactly what they need to know from a conventional CV at the interview. Maybe if you just want an unthinking code monkey, but if you want a creative, reliable, professional engineer then a proper CV and interview is the way to go. If the worst comes to the worst then you can always have the CV as part of the employment contract, if its wrong then grounds for dismissal - but never needed to use that out!
brillante!, un resumen perfecto de lo que estoy empezando a ver en la industria, gracias Flavio
Great article, thanks !
esto me hace acordar a Steve Jobs en el 95, solo un jugador de primera puede reconocer a un jugador de primera división. Quiero decir, desde el punto de vista de una empresa puedo entender que pueden optar por cualquiera de los dos métodos, pero alguien quien está en búsqueda de empleo tiene que estar prevenido.
De acuerdo - ¡Preferiría el método CV!
Creating a portfolio worth its salt, is pure hardwork. Viva the portfolio
Wamalwa Wanyama
This is great inspiration. It has touched me in a great way and changed my way of thinking about self branding. Priceless information. Thank you Flavio Pezzini.
I am working 8 hours a day plus some unpaid a week. Driving to work and home takes about half an hour, and we all know I am lucky with that since a lot of developers have a longer way to their work places. My wife and me have two children and a house to take care of. Nothing exceptional. We have to buy and prepare food, tidy up, garden, play with the kids and read them some stories, be a couple and a family. What you are suggesting is I take half an hour in the evening reading blogs, since I have to stay up to date with what is going on in the developer world (which I actually do), take another half an hour to write my blog, although not all I get to know during my day-time-job is for the public (colleagues would be embarressed to find their problems published, screenshots of the closed source product are an absolute no-go etc.), then I take another - let's say - two hours to work on my open source project (if I also work on it on the weekends I might get 4 men month per year which won't get that project far since I had to do it all, code, docs, design, icons...), and I have to start anew every two years, since the technology of the old project gets obsolete. So, when am I allowed to sleep? What about my employer expecting me to retire from the day and be fit next morning? Why are developers treated differently from other professions? Does an employed baker bake bread in his free time to show that he is into it? Or the lorry driver - does he blog about how someone can improve driving a lorry? I am not a freelancer. I don't have the time to make a little company out of myself with ads and marketing. During my employment I am committed to my employer and my family and friends, not to the public, and not to future employers who want to ease their hiring. I understand that a CV might be misleading and future employers want me to pass a test, or some task to complete. But what you ask for cannot be the solution for millions of developers in the world all publishing nonsense projects on their own just for marketing themselves.
Joe Pritchard
Some of the very best code I've ever written was such that if I posted it in an online Portfolio I'd have some very unfriendly men in badly fitting suits knocking on my door at 5am waving a copy of the Official Secrets Act and an arrest warrant. :) I've hired software engineers via CV and interview (and occasionally a trial period) and been hired that way as well. I do have a portfolio of stuff but most of my freelance clients don't seem that interested in reviewing it. They just want to know whether I can do what THEY want me to do.....
Nope. It's still and will always be the resume. With respect to Sr. Pezzini, you have too much time on your hands, sir. Tell me I'm wrong with some empirical evidence. The interviewer doesn't have time to embark on a research project for every candidate. Typically very little time is afforded the interview. I do interviews for candidates in my discipline (software engineering) and faced with this multi-media portfolio presentation I would wonder if the candidate even had the time to do the work I need him/her to get done. Sorry. This sounds cool, but you made it up. And just as an aside, the hackathoner is the last person you want on your team. Good software just isn't done that way.
Ty Cahill
First off, I'm a contractor and freelancer, so I'm actively talking with companies and recruiters on a regular basis. Yes, some do ask for portfolios, but nowhere near the number implied by this article. I haven't seen it increase noticeably over the past decade--at least not in the U.S. I've done the challenges, sample projects, etc. It's always turned out to be a waste of time. I was never hired based on that. In fact, most times I perform horribly. We always came back to my resume and discussing the work I've done over the years. But companies use these techniques to weed out the unqualified. But that also results in good talent being turned away. (And yes, a lot of bad talent does, too!) I've worked with people who are brilliant at identifying a problem and being able to FIND a solid solution. But they didn't start with the answers, so they'd be disqualified in many of these tests/challenges. There's a reason resumes are so ancient...they work. If your resume is done properly, it becomes your portfolio. It shows what you've done, and what you're capable of. And I'd rather hire someone who's busy getting work done instead of busy "marketing themselves" throughout the work day.
Jacob Share
By showing proof backing up your resume claims, work portfolios don't replace resumes, they bolster resumes. It's also a lot easier for some people to (re)write their resume after compiling a work portfolio, reminding them of their relevant accomplishments.
Great, so someone looking for a job needs to devote part of his free time 148 hours per week to building up all this "extra credit" just to be employable? This is a symptom of an oversupplied labor market, but ... late-stage capitalism - and general programming is a low-friction skill. That said, I have no problem with the interview process being "show me".
Brian Trexler
What I have recognized is that in most recent years there is an alignment with what Falvio mentions. Historically, there was a time where the resume was everything - recruiters and hiring mangers took the time to review and match up candidates with clients. But this is a saturated market - both companies and recruiters are trying to find short cuts in finding good talent. I have also found that doing skills assessment projects/presentation are not helpful - many companies ask you to create the next best thing and you fear that when you do not get the job, they could use that knowledge from your project/presentation to further their cause. Like previously mentioned, there are some candidates that are not good at code testing because they do not feel comfortable under that pressure and sometimes an outstanding candidate falls through the cracks. However, I find that when I talk to a company or recruiter that invests the time to ask the right questions, there is no need for portfolios or coding skill tests. I am now focusing on networking via LinkedIn - reconnecting with previous employers who can speak to my skills and talents. I have also updated my resume using recommendations from Jeff Magnuson who is and independent Marketing and Branding Consultant. Here is a link to one of his articles, "How to Make Your Resume stand out in 2018.
comments powered by Disqus