“Richard is a 10xer. I’m barely a 1xer.” — Big Head, HBO’s Silicon Valley
At its core, 10x software development is about efficiency.
It’s about eliminating any unnecessary steps to come up with a 10x solution faster.
That’s why the distinction of being a “10x engineer” is held in such high esteem.
“OK, but what is the 10x engineer definition anyway?”
A 10x senior engineer is a software developer who’s 10x times more talented than the average one and is also able to be as productive as 10 software developers.
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 show you how to define a 10x engineer.
And if you take notes and adopt the common traits that 10x developers share, chances are you’ll be able to become one of them and also receive a 10x engineer salary.
Let’s dive in.
A “meme” story of 10x software engineers:
The “10x software engineer” thing started as a meme… as a coder meme by Shekhar Kirani (The 10X engineer concept actually originates in a 1968 document published in Communications of the ACM that showed data illustrating that the best of the best programmers can be 10 times better than the worst programmers.)
Kirani wrote a long 10x engineer twitter thread, that actually turned into an antisocial meme, where people became displeased by his twitter comments and referred to the 10x engineer definition as “a Wendy’s.” The programmer meme went viral for a just few days. Kirani’s post amassed more than 4,600 likes and 5,300 retweets. Since then (July 11th 2019), the 10x engineer Twitter trend has grown hugely in popularity. The 10x engineer meme spread across the world’s top forums and discussions — Reddit, Quora, Hacker News, Wikipedia and more. The “worst meme” some like to call it.
Here are some photos from Kirani’s 10x engineer meme:
A lot of people disagreed with him… a few agreed… and some thought it was a satire. And others think that the “10x developer” concept is just a myth.
Today, more people are eager to learn more about the 10X engineer concept, or the “developer meme” as many would call it, either for career-growing or joking purposes.
Regardless of the code meme, the 10x engineer can actually be a real thing instead of a myth as there are developers out there that can be 10 times more productive than an average developer.
We’ll help you discover the things that are needed from you to transform yourself into a real 10x engineer. And even 10x your salary.
Who Is a 10X Engineer?
Spotting a 10x programmer is not easy, largely because the meaning of a 10x software 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.
OK, so how to know if you are a 10x engineer? Here are the qualities that a 10x programmer should have:
- Curious and always learning.
- Not just great engineers themselves, but they elevate the work of everyone around them.
- They are at Facebook and Google engineer’s level.
- Able to dive in and learn new codebases 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 come up with a 10x 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. The fastest way to level up your engineering skills is to code more and more.
- Looking at the whole picture and can anticipate and avoid problems.
- Have 10x management skills to keep their work organized and streamlined.
- Paid a 10x engineer salary.
How Do I Become A 10X Engineer?
Now that you know what distinguishes a 10x engineer from a regular Joe, how can you improve your skills to become a 10x engineer so you can get to see a silicon valley engineer salary first hand?
1. 10X Developers Constantly Expand Their Coding Knowledge
10x devs 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 programmers are passionate about software development and are always experimenting outside of work to create 10x software.
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.
2. 10X Engineers Know Many Tools That Allow Them To Code Faster
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 programmer can use their vast knowledge of tools to determine which tool will make the task much, much easier and faster to complete.
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.
3. 10X Developers Know How To Plan Their Tasks
You see, the thing with 10x programmers is that they are able to break big tasks into small chunks.
Thus, they can get a rough estimate of how long a project will take to be fully completed. Which allows them to be more efficient with their time.
And honestly, that’s not an easy thing to do.
I’ve seen so many newbies that are unable to break their biggers tasks into smaller pieces due to lack of experience.
The results are disastrous…
They get overwhelmed, mind-boggled, stressed, unproductive…
And when that happens, well, you can easily get fired for not being able to produce quality code.
So how do you prevent this from happening?
Well, the first thing is that you need to find the right tools for your team to use.
You should also avoid complex software… chaotic issue trackers… and inefficient team communication tools.
You’ll only waste your money on these, and instead of helping you, they’ll actually slow down your entire work process… which can put you out of business.
You should be striving for straightforward and intuitive tools so that you can speed up your team’s performance by being able to break your tasks into small chunks and implement them fast so you can receive immediate feedback.
4. 10X Software Engineers Know How To Communicate Well
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.
5. 10X Developers See The Bigger Picture
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 or even 10 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.
6. Prioritizing Is What Makes 10X Engineers To Stand Out!
You don’t want to waste time on irrelevant tasks, right? That’s right.
What’s special about the 10x engineers is that they can organize their time flawlessly.
Surely, that’s not an easy thing to do. But practice makes perfect.
And that’s pretty much how you get to be a 10x engineer — non-stop practice.
Surely, you won’t be able to organize your assignments from day 1 like a pro…
… but if you continue to practice every single day, your productivity will highly improve, and that’s for real.
The ability to clearly see what’s on the table and prioritize tasks is part of the equation too, so don’t ignore it.
7. 10X Developers Understand That 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, right? Correct.
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 10x solutions that will accomplish tasks in fewer steps.
This goes back to thinking about the 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.
8. A 10X Engineer Keeps It Simple Stupid
You’ve heard that before, no doubt about it.
But there’s a difference between just hearing about it and taking action, right?
Even though a 10x engineer has a large set of skills and can write super complex code leaving you mind-boggled… he doesn’t do it.
He doesn’t do it because he knows that coming up with a complex solution isn’t a 10x solution.
If nobody on the team can’t get it, then what’s the point?
Oh, and complex code lines typically tend to cause big problems down the road.
So try to keep it simple. Try to make it understandable for your teammates. Thus you will be able to make your whole team 10x times better… and release great features faster than your competitors do!
You’ll be 10x times more valuable to your entire team and your company in general if you are able to help your teammates to perfectly see what’s on the table and what’s the next important step of the project you are working on.
9. 10X Engineers Know How To 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 software engineer. You’ll just know a 10xer programmer when you see how they produce 10x software.
10. A Real 10X Developer Can Take It To The Chin
Might sound tough, but there is no other way around it.
So many developers these days aren’t able to take responsibility for their own mistakes…
They always blame it on others…
“Johnny didn’t deliver the code on time”, “Mike was working on a different task”, etc.
You need to realize something:
No matter where you are right now and where you have been in the past… it’s all on you.
No one is going to take care of you.
Take responsibility for your actions. Literally, for everything.
Go talk to Johnny and Mike. Don’t just wait for things to get fixed out of the blue. Make something happen.
If you take responsibility for your actions and for everything that is happening around you, you’ll soon realize things will shift into another better direction, and you’ll have a full 100% control over your life.
(I’ve been living by this principle my entire life.)
The point being, even if you make mistakes… take it to the chin, see what’s happening and what you can do about it and continue moving forward.
11. 10x Engineers Stay Humble
You see, there are so many developers out there (and people in general) that once they find a solution to a very complex problem, their confidence and cocky attitude goes through the roof.
And that’s the biggest pitfall you might stumble across. And it’s tough. No one wants to find himself in such a situation.
In order to avoid it, you need to stay humble.
Yes, you might be good, even great, but don’t let pride slow you down.
Continue learning… continue listening to others’ solutions… and never stop innovating.
If you are able to stay humble, your greatness as a developer will absolutely be noticed, and only then will you understand how much do silicon valley engineers make.
Becoming a 10x developer is hard, and there’s no arguing about it.
But if you have the willingness to put in the hard work… and to constantly learn… and to take it to the chin when things don’t go the way you planned them, then you’ll definitely make tremendous progress.
Dedicating yourself to writing code all the time will ensure that 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.
And remember! Being a 10x engineer is not just about you. It’s about your whole team. It’s about bringing your team to the next level and everyone becoming 10x times better than they were before.
Codegiant is looking to hire 10x Engineers? If you’re one, leave us a note at firstname.lastname@example.org