Resumes are good for sharing your professional experience, but are they enough to showcase development work? In this Toptal post, you’ll learn a how to bolster your developer portfolio and create a personal brand that will leave a lasting impression on future employers. (Oh, and did we mention that we’re hiring? Help us build the future of content creation. Visit our Careers page to learn about the positions we have available.)
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.
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?
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.
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.
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!
The original post was published by Flavio Pezzini on the Toptal Engineering Blog.