Is the 10X engineer a myth?
The reality is that some people are better at programming than others.
In my prior position at a tech company, I’ve been in awe at how some people in my team seem to know how to do everything.
Even during my time at university, participating in hackathons and internships, I was able to meet a few very talented developers who I’ve learned a great deal from.
In this article, I will go over some misconceptions people may have about the 10X engineer. After we look into what a 10X engineer is not, we’ll go over some of the best advice I can give for you to become a 10X engineer yourself.
What is a 10X Engineer?
Many developers would argue about the actual definition of a 10X engineer. But for the sake of clarity, let’s try to define a simple definition now.
A 10X engineer is a software developer who is able to be as productive as ten of his peers.
The idea of the 10X engineer might have originated earlier than you think.
A research paper from 1968 called “Exploratory, experimental studies comparing online and offline programming performance” first proposed the idea that some of the best programmers perform an order of magnitude better than the worst programmers. While this is not the definition agreed upon today, the idea of the 10X engineer soon spread outside academia.
A few years later, the classic book The Mythical Man-Month further illustrated the idea of the 10X engineer. The author Fred Brooks suggests that software development teams could be structured like surgical teams.
In this team, you would have a chief programmer or “surgeon” with supporting programmers or “nurses.”
While this analogy is easy to understand, I believe it’s a bit simplistic and outdated when applied to the current state of software development.
Team dynamics in a tech team is very different from a surgeon’s. This idea of a single person doing most of the work or only the most challenging work has mischaracterized what I believe a 10X engineer should be.
As the idea of the 10X engineer spread throughout the tech sphere, a majority of managers often misinterpret what we mean by “10X”.
A common misconception is that 10X engineers produce ten times the amount of code than their peers. This is simply not true.
While a 10X engineer could feasibly produce more code than their colleagues, quantity is not the right metric. Imagine a programmer who spends a thousand lines of code performing what could be done in less than a hundred. Similarly, a 10X engineer does not code ten times faster!
Another misconception about 10X engineers is that they are great simply because of their coding knowledge. Again, this is another case of looking at the wrong metric.
What makes a 10X engineer so valuable is how he adds ten times the value to his team and organization. A 10X engineer is indispensable because of their ability to use their coding knowledge and align it with the needs of the company.
Managers should look for engineers who can solve problems and work well with others. Beyond coding knowledge, 10X engineers should be able to elevate the work of everyone around them.
Five Ways to be a 10x Engineer
This section is for you if you are a manager looking for your next hire, or simply an engineer who aspires to be a 10X engineer.
Here are some of the key habits and traits of a 10X engineer:
They know how to make the most of their tech stack
Knowing your tools is perhaps the most obvious advice I can give you. However, many developers can still improve their workflow by learning how to work efficiently.
Most 10x engineers I’ve worked with know their way around the terminal. While it may be a bit of a learning curve for beginners, understanding how to make shell commands on-the-fly will help you do your job much quicker in the long run.
10x engineers can also benefit from being a bit lazy. Let me tell you what I mean.
Imagine having to manually perform a series of commands every day to push new commits to production. A 10x engineer should avoid doing repetitive tasks. They make the extra effort to automate as much of the day as possible.
The best engineers should also think in the long term. If you’re working for a startup, it might be tempting to focus on quick-and-easy solutions. However, these solutions may not scale up down the line.
They never stop learning
A great developer never stops learning. The best engineers find time out of their busy workday to try out new concepts, languages, and frameworks that they can try to apply to their work.
A 10x engineer should maintain a healthy sense of curiosity. They often ask themselves, “Can this be done better?” or “Is there a simpler or more efficient way to solve this problem.”
Thus, a 10x engineer must master the art of learning itself. Learning how to learn is the best way to stay afloat in a quick-paced environment.
They know how to best spend their time
A great software engineer is great at making decisions, particularly about what to do with their time.
10X engineers rarely need to work more hours than the average engineer. Engineers should know when to push back and say no to certain requests. They should know which tasks to do themselves and which tasks to delegate.
Effective engineers should master how to discern whether a task is worth doing quickly. One mental model to keep in mind is the Pareto principle.
The principle states that 80% of your work’s value comes from 20% of your effort. In other words, not all tasks are equal.
They look for proper mentorship
A great engineer can learn so much from a seasoned veteran of the industry. 10X engineers often find themselves looking for mentorship in and outside work to further their knowledge.
Similarly, 10X engineers will benefit from taking a mentorship role to their own teammates. The entire team is lifted up by being open to his more novice teammates.
They understand the business
In plain words, software engineering is just a way for computers to solve a real-world problem. With that in mind, an effective engineer must become an expert at the problem they are trying to solve.
As an engineer, it’s a smart idea to make an effort to gain an understanding of the business or industry you are part of. A 10x engineer should be an active participant in meetings with other departments.
If the engineer spends effort understanding what other departments do in the context of the business, they will become an effective communicator. Effective communication will help prevent your team from misunderstanding business requirements and project specifications.
Hopefully you now have a clearer picture of what a 10X engineer looks like. You should also have an understanding of what a 10X engineer is not.
The advice above is, of course, just a general guideline that can apply to any software engineering role. If you want to find out how you can be the best DevOps engineer, full stack developer, or data scientist, your best option is to find opportunities to learn and build.
Think about whether your current position is a good learning environment. Perhaps you want to spend more time working on side projects that will allow you to explore technologies outside your current tech stack. These are just some of the tips that you can follow to gain an advantage in tech.
What do you think is the most helpful advice for aspiring engineers?