Being a 10x Developer

Being a 10x Developer

What's a 10x Developer?

Millions of keystrokes have been expended on the topic of 10x developer. Let's start with some definitions floating around on the internet

As you can see from the definitions above, there are varying interpretations and many questions if a 10x developer really exists? Are there developers who can amplify the results 10x?

My opinion is that software development is generally hard if we're doing it for someone else because we often lack that level of motivation and excitement we'd have if we were following our own vision. Who'd like to spend hours in meetings trying to understand others or look forward to modifying other people's code? (I'm not talking about contributing to other people's code here). That can lead to a level of detachment that lessens productivity.

The 3 Things

Nearly every software developer or programmer has encountered code written by someone else that proves the cliché “anyone can code.” Being a 10x developer, 10x coder, 10x programmer, or whatever you want to call it has less to do with excelling at writing code and more to do with knowing exactly what code to write.

In my opinion, there are three things one needs to know in order to achieve the "10x developer nirvana stage". And probably these three things are what distinguishes an average developer from a 10x developer.

1. Knowing the What

In the corporate world, developers tend to work on projects they don't have much passion for and don't understand. For most of them, it is not much of an issue as long as good directions are given and clear expectations are defined, usually by the project manager or product owner.

In the world of agile software development, they simply get the "Post-Its" with a few words on it expecting them to turn that "Post-it" into a working piece of code. Software development is all about communication. And that is where a 10x developer trumps an average one. An average developer would spend hours going in the wrong direction on a project without asking questions, while some developers would like to know most of the things upfront, they would use a lot of creativity and ask the right questions. Such unicorns are likely 10x developers.

The bottom line is that being a 10x developer has less to do with excelling at writing code and more to do with knowing exactly what code to write.

2. Understanding the Why

Ah, perhaps the biggest obstacle in the product development lifecycle! Why do we need to do this? Perhaps this should have been the first thing to mention, but never mind. If you don’t understand the problem you’re trying to solve, it’s really hard to solve it. Generally, what I have observed is that the developers who understand the industry vertical they’re in and the problems they’re trying to solve will be much more productive. Knowing why and understanding the vertical also helps prevent unnecessary work, freeing up time to focus on the things that will make a product or feature more valuable for users.

The problem is that knowing why isn’t good enough. You need to have a passion for the problem and understand it inside out to truly be a 10x developer. I believe that most 10x developers are also product people at heart, endowed with a good product vision.

3. Knowing When to do What

Timing is everything. Especially when talking about software development. All software development work items fall into these three categories:

  • Things we have to do
  • Things we need to do
  • Things we want to do

We have to get this new feature done for a client. We need to fix bugs in our software. We want to work on technical debt or some cool new product feature. It’s always a balancing act. 10x developers are good at juggling priorities and understand when to invest time into architectures versus slinging spaghetti code to make something work. Remember, your users don’t care how your software works or how fancy the architecture is. They just want it to work. 10x developers understand this.

Conclusion

I have writing code for almost 7 years now and I still feel that I am on my path to be a 10x developer. I know the things I am good at and when I work on the things I am good at, I can complete them at a seriously good pace.

10x developers are not a myth. They do exist and most likely they are development managers, architects, tech leads, or chief technology officers. If they are not yet, they surely are on the path to be. Also, you cannot be a 10x developer all day long. If you know the "what, why, and when" of your work, you can be a 10x developer for some part of the day and that can make a big difference. Upwards and onwards to the "10x developer Nirvana path!".