The 10X Developer

By Guy Y.

Mar 14 2019

What is a 10X Developer?

A “10X Developer” is

An individual who is thought to be as productive as 10 others in his or her field.
The 10x developer would produce 10 times the outcomes of other colleagues.

But in the field of software development it’s hard to define what 10 times the outcomes means.

How can we measure one’s productivity in this realm?

  • 10X more LOC (lines of code) – Many times hugh code blocks can be replaced by smaller and more elegant solutions.
  • 10X more efficient code – But at what cost? This could lead to premature-optimization, which, as its name suggests, certainly has shortcomings.
  • 10X more bug fixes – Lots of minor bugs are not the same as one major bug.
  • 10X more experience – But what kind of experience? Personally, I would rather team up with a competent junior developer than with an incompetent veteran any day.
  • 10X more work hours – No one can maintain this breakneck pace for long.

Therefore, one could argue that there is no such person as a 10X developer – it’s a myth!
On the other hand, some contend that such hyper-productive developers have been spotted from time to time. They even claim there are 100X monsters lurking among us!

Nevertheless, we can all agree on the idea and reality of efficient developers.

Pareto principle states that 80% of the effects come from 20% of the causes.

I believe that a 10X developer is simply an efficient individual. This is a person who provides 80% of the value, and 20% of the effort.

And I believe anyone can become an efficient worker.

Moreover, I believe that such individuals, when placed under the right care, can turn any group into a 10X team.

10X is not the forever elusive unicorn; rather it’s a work culture based on two pillars: communication & auto-didacticism or one’s ability to self-learn.

But it does entail a nemesis: perfectionism.

Understand the task

An efficient developer knows how to prioritize tasks while breaking them down into manageable sub tasks.

In order to do so, we must be able to separate the wheat from the chaff.

At any time and for any task, we must always keep an eye on the big picture, which helps us answer the three big Ws.

  • What needs to be done.
  • Why it is needed.
  • When should it be done.

With answers to these key questions, we can more easily set goals and determine milestones for any project.

We can distinguish our “must have” features from our “nice-to-have” ones.

For example, let’s say a client asks us to build a landing page with a login.

This is the “what” in our equation, or at least part of it.

But before diving in – communicate. Make sure you understand where the value is.

Why & when is the feature needed?

  • Maybe the client has a big presentation in a week.
  • Maybe the login doesn’t need to work at all, but it’s extremely important that the design is responsive and works across devices and browsers.
  • Maybe all the client cares about is passing a security review, which requires a robust login process.

Time management

An efficient developer knows to manage his or her quality time.

Some are early risers; some are night owls.

Some get to the office and get cracking right away, while others zombie-walk till the first dose of coffee kicks in.

Know thyself. When is the best time you are focused? In what part of the day do you produce your best work?

Guard those hours jealousy.

  • Reduce interruptions. Put the phone on silent and out of reach. Don’t worry, the dancing kitty clip grandma just sent you will still be hilarious in an hour or two.
  • Push back meetings. Mark busy hours on your calendar.
  • Know when and what is good enough. In many cases the “perfect” solution is worse than the “bad” one.

Know the basics

An efficient developer knows how to avoid common pitfalls that would require fixing later on.

You don’t have to be an expert full of theoretical knowledge, but you should be
able to design a solution and explain its reasoning.

Use tools and automation

An efficient developer knows how to use his or her tools.

An efficient developer is in a sense impatient. He doesn’t waste time on mundane tasks.

  • If you find yourself repeating a manual operation too many times, write a script for it.
  • Define custom snippets.

Keep learning

An efficient developer stays updated.

Progress waits for no one. If you’re not catching up, you’ll be left behind.
Make it a habit to learn something new every day.

You don’t need to become an expert on every new framework that pops up.
Just know enough to handle small talks without being clueless.

Share & support

An efficient developer shares his or her new-found knowledge.

Never be the smartest one in the room.

Being an efficient developer is great, but working in an efficient team…

Leave a Reply