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.

Forums

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

Blogging

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!

About the author

Flavio Pezzini, Brazil
member since July 3, 2017
With over 17 years of experience developing software, Flavio is an expert senior Java developer and a team leader. He's worked on complex projects for several multinational, multicultural companies such as Dell, IBM, and Deutsche Bank for various industries such as banking, eCommerce, travel, and sports management. He's very good at liaising with multiple teams, mediating conflicts, and mentoring professionals. [click to continue...]
Hiring? Meet the Top 10 Freelance Programmers for Hire in November 2017

Comments

brianm101
Can't really agree with the article - Have interviewed and employed a large number of software engineers over the years - an 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 you 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, reliuable rofesional engineer then a proper CV and interview is the way to go. Its
Juan
brillante!, un resumen perfecto de lo que estoy empezando a ver en la industria, gracias Flavio
papoola
Great article, thanks !
Juan
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.
brianm101
De acuerdo - ¡Preferiría el método CV!
Kagai
Creating a portfolio worth its salt, is pure hardwork. Viva the portfolio
André Marcondes
How ironic is it the fact that, after all the portfolio propaganda, the author of article presents a decorated CV to the audience? hahahahahahahah
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.
Starke
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.....
Keith
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. https://jobmob.co.il/blog/work-portfolios/
swampwiz0
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".
YisraelDovL
This
comments powered by Disqus
Subscribe
The #1 Blog for Engineers
Get the latest content first.
No spam. Just great engineering posts.
The #1 Blog for Engineers
Get the latest content first.
Thank you for subscribing!
Check your inbox to confirm subscription. You'll start receiving posts after you confirm.
Trending articles
Relevant Technologies
About the author
Flavio Pezzini
Java Developer
With over 17 years of experience developing software, Flavio is an expert senior Java developer and a team leader. He's worked on complex projects for several multinational, multicultural companies such as Dell, IBM, and Deutsche Bank for various industries such as banking, eCommerce, travel, and sports management. He's very good at liaising with multiple teams, mediating conflicts, and mentoring professionals.