The fall and rise of the 10x programmer
I’ve worked in tech for nearly 15 years now, and it’s been remarkable observing the generational shifts in what skills are valued as a software engineer.? The veneration of the 10x programmer used to be common, recruiters looking for ‘rockstar’ engineers who could churn out reams of code and deliver features fast with minimal intervention or oversight.? These engineers tended to be lone geniuses, whose egos often require that they work alone.
The reality of hiring these 10x engineers skewed towards individuals who were highly technical but lacked depth in: communication and collaboration as well as software that lacked documentation, maintainability and operability.? I can’t count the number of times I’ve arrived at a company to find dozens of engineers trying to decipher the package that a 10x engineer wrote, who eventually had to be fired because the calculus of damage to the business vs damage to the engineering culture finally tipped against them.
Calculating the impact of an engineer and what truly makes them ten times (10x) the median productivity is often measured in terms of immediate output:?
These metrics incentivize short term thinking, and result in work that delivers to the letter of the requirements, but becomes technical debt as soon as the engineer leaves the team, or the company.? The impact of having a single toxic engineer write ten times the amount of code of others on the team while being the only person who can understand or maintain it, is disproportionately damaging to the future of the team and the company.?
There are engineers who have 10 / 100 / 1000x times the impact of others, but the attributes of these engineers is not what we’ve historically valued.? This is primarily because we’ve allowed the idea of a 10x engineer to be defined by the companies we work for who want to deliver features next week. But as individuals who care about the craftsmanship of software engineering, I’d encourage you to define your impact at the scale of your career, both at your current company as well as future ones.?
Documentation
Clear, concise documentation that is geared toward the user of your feature / service / system is an art form that is underrated.? Putting yourself in the shoes of the different types of person need to achieve something is a totally different way of writing documentation than how engineers typically write it for themselves.? I wrote a piece of documentation on how to setup Artifactory access at my current company that’s been viewed 5000 times.? It’s mostly still in its original format, and I’ve had maybe a dozen engineers thank me for writing it. ?
Documenting your code is a core competency of any engineer.? The key for well written documentation is whether you find that people are having to frequently ask you about how it works.? By writing clear documentation (and paying attention to code hygiene), you will find that other engineers don’t need to bring you into conversations in order to make progress.? This reduces disruption in that you do not have to context switch into code you haven’t looked at for a while, and they do not have to wait for you to be free before they can make progress.
Code Hygiene?
Clear, well-formatted code that is easy to grok and extend gives a team so much more breathing room when working with code you’ve written.? The intellectual overhead it takes for another human to get up to speed on your work has a cascading effect for as along as the code exists.? Spend some time thinking about the engineers who are going to inherit your work, and who they are going to be lamenting or celebrating by looking at the commit history.?
At one company I worked at, we had a Slack emoji which was literally :wtfrob: referring to an early engineer who made a lot of design decisions that were making an organization of 150 engineers miserable.? This kind of impact is not only negative from a productivity perspective for the engineers who are dealing with your code in the years to come, but your name is forever attached to this code as well, so it could literally impact hiring decisions if you become particularly infamous!
Version Control
When you leave at a company you will leave a lot of commits in version control, and usually some messages associated with those.? Having good hygiene around the messages you attach to commits in the history seems like a small and potentially insignificant discipline.? However the history of the decision making process around why we changed a piece of code is often lost to the annals of Slack, so understanding that this line was changed because of a bug explained in a Github Issue from 2003, can save a future engineer hours of work at the cost of a couple of minutes of writing this down.
领英推荐
Automation
One important talent for highly impactful engineers is identifying what are the common pain point for an organization and finding a way to resolve this for everyone.? These kinds of automation can be small or large, but by creating a tool which saves all engineers at a company maybe ten minutes a day.? This kind of impact starts to snowball. ?
For example, implementing something like pre-commit which ensures that only properly formatted and linted code is merged into the main branch is a huge unlock.? Engineers are no longer arguing about formatting conventions as this is now centrally managed.? People who run formatters are now finding that they are changing huge parts of the code base which aren’t related to the pull request because the formatter picked up other files that needed to be changed.? This adds cognitive overhead when reviewing code.
By creating central tools that automate tedious tasks, this allows you and others to streamline those tools so that if an improvement is made to it, this can be rolled out to everyone. ?
Mentorship
An underrated skill for the prospective career 10x engineer is the kind of impact you can have by mentoring more junior engineers.? Working with the next generation of engineers, is not only rewarding in of itself, but the investment of your knowledge and expertise is not going to end with your mentee.? They are also going to end up mentoring more engineers, and your impact cascades through their network and career as well.? Not to mention, they may well be hiring you in the future!
Contributing to open source
I’ve mostly been talking about the impact you can have within the context of a company, but increasing your impact wider leads us to consider open source.? Let’s consider pre-commit again.? This tool was primarily written by a single engineer, and has 12k stars and 800 forks on Github.? This kind of impact can’t even be quantified accurately.? Is there a tool which you’ve been wanting to build or a project you’ve wanted to add to?? This kind of work is some of this highest impact from a raw human live’s affected.
Energy Multiplication
Have you ever worked with an energy multiplier?? They are beacons of joy, whose presence just gets people excited to work with them.? This is a hard skill to acquire, some people just seem to be born with it.? They’re a pleasure to work with and can motivate large groups of people to all work in the same direction.? While I think it’s not easy to learn to be an energy mulitplier, the least we can do is try to avoid being an energy dampener.? No one ever intends to be this person, but it can happen if you are jaded, overworked, stressed etc.?
Energy dampeners have a cascading negative effect on teams and entire cultures depending on how prominent they are.? They create bottlenecks, establish knowledge fortresses, point out problems without coming with solutions, despair about the past, present and future.? If you find yourself inadvertently in this position, you should consider examining what makes you happy at work and try and do more of that (somewhere else if necessary).
Anecdotally I’ve found that many people considered to be the old style 10x engineers, are huge energy dampeners.? They produce prodigious amounts of code, at the cost of no one wanting to work with them.
—
In an industry that often rewards quick wins and immediate results, it’s easy to get blinded by the results of short-term hyper-productivity. However, true impact is not measured by the number of lines of code written or the speed at which features are delivered. Instead, it’s defined by the longevity and sustainability of the work you leave behind, the clarity of the paths you pave for others, and the positive influence you have on your team and wider community.
As you navigate your career, I encourage you to think about the long-term consequences of your work. Prioritize maintainability, invest in documentation, and consider how your code will be impacting others years down the line. Take the time to mentor others, contribute to tools and processes that benefit the many, and strive to be an energy multiplier within your team.
By focusing on these longer-term goals, you’ll not only build a legacy of quality and craftsmanship but also position yourself as a true leader in the field—someone whose impact transcends the immediate and resonates for years to come. The real 10x engineer is not just a rockstar for today, but a cornerstone for the future.
Founder I Talent Acquisition
7 个月This is a great read, Hugo. Thank you!