跳轉到

How to Become a 10x-Engineer

Common Mistakes Junior Engineers Make

1. Not investigating tooling enough

Abraham Lincoln once said “If I had 8 hours to chop a tree, I’d spend 7 sharpening my axe.”

A junior engineer will spend 8 hours chopping with a dull axe. The senior engineer spends an hour picking the right chainsaw.

And 5 minutes cutting the tree.

A common mistake junior engineers make is that they dive head-first into coding. They stick with only the tools they know, and try to fit it for every situation.

If an average engineer only knew how to use a hammer, they would also use it to dig a hole.

They spend almost no time looking into other alternatives — or whether it’s possible to do the job writing 0 code at all!

Using the right tool is the difference between laboring for weeks, and finishing a task in 10 minutes. That’s where the 10x difference accrues.

2. Not asking for help

Some junior engineers have this misconception that a senior engineer is like a lone genius. If they keep at the problem, they’ll eventually get a solution.

But this is a rather naive way of thinking. A lot of times the difference is that they were missing context — information that they couldn’t possibly deduce themselves.

So instead of just asking for help, they stew over the code base, looking at the same lines of code over and over, when a 5 minute question to a teammate would have resolved the issue instantly!

Sometimes it is clear that extra context is needed in order to continue. For example, it’s often not clear:

  • why the code base was structured the way it was
  • which API to call from another team
  • how deployments work

These are examples of contextual situations where you’re better off asking for help than digging any further into the codebase. Don’t be afraid to ask for help!

3. Not delivering business value

10x engineers are investors first and foremost.

They understand that their work is an investment — and the payoff of their investment has to vastly outweigh the cost of the time spent. They understand opportunity cost: time spent building one feature means time not spent building another feature.

Engineers must weigh opportunity costs — “Of all the features you could build — is this feature the best use of your time?”

They understand that code is a means to an end — a business end. And if they can achieve their goal with no code, even better! It’s less work to write, and less code to maintain — a win-win situation.

A lot of new engineers lose sight of these business goals. Here are some examples:

  • “There’s this new technology out that’s really cool. Let’s spend five days integrating this into the website” (no alignment with product)
  • “I don’t like the way the code is structured. Let’s spend next sprint refactoring” (opportunity cost — is this a better use of time than building revenue-generating features?)
  • “This platform is so legacy — let’s migrate to a new platform” (does the migration help you move much faster, or is it just an incremental improvement?)

How to Become a 10x Software Engineer

1. Constantly expand your 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. Find tools That allow you 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. 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.

4. Prioritizing the most important task

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.

They use the best issue trackers to manage their tasks… to communicate effectively with their teammates… and are also productive while writing code.

5. 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.

6. 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?

That’s 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!

7. Realize 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.

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.

Reference