Literally, 10x engineer means 1 engineer which can take 10 engineer roles. This topic has been viral on social media for quite some time. And recently I just joined a local meetup that discussed this topic. So in this blog post, I’d like to highlight some parts of which I think is interesting.
The first one is debugging skill. There’s a famous quote from Edsger Djikstra:
"If debugging is the process of removing software bugs, then programming must be the process of putting them in".
So whenever we add new features, that means we’re adding the possibility of new bugs. One good piece of advice when you get stuck while debugging is to get some sleep. Sometimes it just works for most people. Probably you’re thinking too hard while debugging, and after you wake up from sleep you’ll get a completely new perspective of debugging.
The second one is reading code. Martin Fowler once said:
"Any fool can write that a computer can understand. Good programmers write code that humans can understand."
We should be patient in practicing our reading code skills. This will take time, so be persistent.
The third one is about productivity. If we define in a simple way, 10x engineer can finish a task 10 times quicker than an ordinary engineer. In a day, we have 24 hours. That's actually a lot of time. In this information age, the problem is to manage our attention. Actually, most of the tasks can be completed in a short time as long as we put full attention to the task.
Next is about dealing with people. Engineers love to tinker with machines better compare to talking to humans. But somewhere and somehow, at least engineers have to deal with other engineers.
In problem-solving, the challenges are:
- Communication: getting people to agree on what the problem is.
- Decision: which solution we will try.
- Coordination: how to work together to solve it.
- Commitment: keeping it solved
Last but not least, is about meetings. Engineers tend to be reluctant about meetings. So as an easy step, we should know the types of meetings. Meetings to make decisions, meeting to take action, and meetings to discuss some issues.
In the end, a company doesn’t always need 10x engineer. Like a soccer team. We don’t need 10x goalkeeper but what we need is one goalkeeper, a few defenders, a few midfielders, and a few attackers. As a team, we should work together and win the game.
So, it’s ok if you’re not a rockstar. It’s ok if you're a 1x engineer, but remember to always improve yourself.