“Richard is a 10xer. I’m barely a 1xer.” – Big Head, HBO’s Silicon Valley
At its core, programming is about efficiency. It’s about eliminating any unnecessary step to complete the desired function faster. That’s why the distinction of being a “10x engineer” is held in such high esteem.
A 10x engineer is an engineer who’s so talented and so precise, that they are able to be as productive as 10 engineers.
Contrary to what every engineer tells you, there are not many 10x engineers. Like the billion dollar startup, they are unicorns. In this guide, we’re going to teach you how to identify a 10x engineer, and show you how you can hone your craft to join the exclusive 10x engineer club.
How to Distinguish A 10x Engineer
Identifying a 10x engineer is not easy, largely because the definition of a 10x engineer is variable depending on who you talk to. Based on our research, here’s a list of common traits that were brought up repeatedly when describing a 10x engineer.
- Curious and always learning.
- Not just great engineers themselves, but they elevate the work of everyone around them.
- Able to dive in and and learn new code bases with faster ramp up times.
- Great at recognizing patterns and replacing procedural code with simple, beautiful methods.
- The best at debugging code. They don’t need to waste time, because they ID problems quickly and have a solution faster than your average programmer.
- Extremely well versed in a broad range of languages, tools, and algorithms.
- Able to quickly recommend the best technical solution based on risk vs. benefit.
- Always coding. Not just at work, but on their own time.
- Looking at the whole picture and can anticipate problems, and build to avoid them.
How to Become a 10x Engineer
Now that you know what distinguishes a 10x engineer from a regular Joe, how can you improve your skill set to become a 10x engineer?
- Expand Your Coding Knowledge
10x engineers aren’t experts in just one language. They are knowledgeable in many different languages. Understanding many different programming languages is valuable because it gives you a deeper understanding of the different solutions you could use to fix a problem.
10x engineers are passionate about programming and are always experimenting outside of work. They have a genuine desire to learn new languages, even if they might not use it daily. This increased knowledge of code will help them when it comes to debugging other people’s code. Instead of rewriting someone else’s codebase, which many programmers would prefer to do, 10x engineers can quickly assess the problems with an unfamiliar codebase and fix them. This can’t be done with limited coding knowledge.
- Know As Many Tools As Possible
A 10x engineer is naturally curious and always learning new bits of information. This is helpful, because it opens the mind to alternative options. Instead of being stuck in one method or technology (which is dictated by the tools you know), a 10x engineer can use their vast knowledge of tools to determine which tool will make the task much, much easier.
It’s the right tools that make a 10x engineer so efficient. With the right tools, the 10x engineer can do the work of “10 engineers”, because they are so much more efficient with their time and execution. While an average engineer might be fumbling their way through a process, a 10xer has already streamlined it and is two steps ahead.
- Improve Your Communication Skills
No one lives in a vacuum. Excellent products and great companies are not built by one person. Teams build excellent products and collectively make up great companies. In order to be a 10x engineer, you have to be able to work together with many different people. Even people that aren’t as skilled as you. If you’re unable to work with others, even if you’re a wonderfully talented engineer, you won’t get far.
Not getting along with your team doesn’t just make for an unpleasant work environment, it will actually have an adverse effect on morale. If you’re a “cancer to the team,” you’re not going to last long. Like in basketball, great players aren’t just great themselves; they make everyone around them better as well.
- Think Big Picture
You might be tasked with working on a singular feature for a much larger product. It’s easy to focus solely on your task, but a 10x engineer is going to think about the bigger picture. Expand your mind and look at the real problem you’re trying to solve. It isn’t about today, it’s about 5 months from now.
A 10x engineer is thinking three to four steps down the road. They’re determining if the current process and strategy will lead to difficult problems later. What works today with your 100 customers isn’t going to work when you have 1,000,000 customers. A 10x engineer is thinking about ways to prevent a technical catastrophe in scenarios like this. You’ll save time and money down the line if you’re not constantly rebuilding features. The vision of the product should be taken into account from the beginning, and is exactly what a 10x engineer would do.
- Understand All Solutions Are Not Equal
If you want to get to Los Angeles from New York, the most efficient way to get there is a direct flight from JFK to LAX. You could also take a flight with a layover in Atlanta, Georgia. Or, if you’re feeling adventurous, you could drive across the country in a car to get to Los Angeles. The point being, just because you found a solution to a problem doesn’t mean it’s the best solution.
A 10x engineer will figure out the “direct flight” option to each problem. Instead of writing over-complicated code, a 10xer will implement elegant solutions that will accomplish tasks in fewer steps. This goes back to thinking big picture. When you’re looking at problems from a high level, and can anticipate future problems, then you’re not going to hack together something that just works today. Efficiency will reign supreme.
- Build and Break Stuff
Sometimes the best way to learn is to build. 10xers are building stuff in their free time, and they love it. The extra hours working on their own projects allows them to experiment with different languages, databases, and tools. The more code they’re exposed to, the quicker they’re able to read and process it. It takes 10,000 hours to become an expert in anything.
Stop thinking about how to become a 10xer and just go out and build stuff! While you’re at it, break it too! The fastest way to becoming a 10xer is to get your 10,000 hours of programming in. This will enable you to perfect your skills and increase your ability to consume and process technical information. No one became an expert overnight, nor between the hours of 9-5. If you really want to become a 10x engineer, you’re going to have to dive in and learn.
10x engineers don’t actually call themselves 10x engineers. They go out and crush it. They build great products, solve hard problems, and make everyone around them better. They’re not just better, they’re faster than your average engineer. You’ll just know a 10xer when you see how they work.
If you dedicate yourself to writing code all the time, and improve your skills in these six areas, you are going to be one hell of an engineer. Anyone will pay top dollar to hire you. Why wouldn’t they? You are a unicorn.