When it comes to programming, there is the notorious myth of the 10x developer. It is said that a 10x developer accomplishes roughly 10 times as much as the other programmers on the team. It’s quite a controversial topic and there are people on both sides of the issue.
Some people propose the myth of the 10x developer is absolutely ludicrous and others say that the variation from a standard to rockstar programmer is more like 100x or 1000x more productive.
Whether you choose to believe the idea of the 10x developer or think it’s utterly ludicrous, there is a certain set of behaviors that all unstoppable programmers share.
In fact, there are 29 things that these special programmers do differently than everyone else.
If you’re trying to level up as a programmer, pay particular attention to #15and #29
1. Use Google very aggressively.
As a developer, you need to know how to phrase search queries, review other developers’ code, and apply it to the problem that you’re trying to solve.
In 2016, it’s essential to know how to properly research tools using the technologies available on the web.
2. Maintain an obnoxious amount of stick-to-itiveness.
Veteran programmers embrace the experience of being a beginner with new technologies and teach themselves on the fly. Every expert was a beginner at some point in time. And there are so many technologies out there that even an expert in one technology is a clueless noob in another.
3. Acknowledge that micro-decisions matter.
When writing programs, it can often feel like there are a billion decisions you need to make, even when you’re just adding a small feature. For example, things like naming variables, calling functions, naming CSS properties, using a hash vs using an array, and other seemingly small things can have a big impact.
New programmers often don’t pay enough attention to these types of things. But unstoppable programmers develop patterns to help them name variables, and they reach a point where they don’t need to think about it because they always name things the same way.
4. Acknowledge that most major decisions don’t matter that much.
In the process of building out applications, you’ll make major decisions that will impact how you write most of your code. For example, you’ll generally want to use a Test-Driven-Development approach. There are a few different tools that you can use to test your code.
In ruby, for example, you might have to weigh the differences between MiniTest vs. RSpec. People have really strong opinions about these types of decisions. But unstoppable developers think differently and tend to not care too much. They value the habit of writing tests, and they understand that the specific tooling that you use to do so isn’t as important.
Unstoppable programmers do not participate in the flamewars that other developers often find themselves in. Instead, they roll with the punches. Unstoppable programmers are quite zen-like.
5. Always use the right tool for the job.
There are so many different open source libraries, tools, and frameworks out there. Experienced programmers know what to use for each problem that they encounter. They’re willing to stomach the pain of learning something new if it will ultimately allow them to be more productive.
This allows them to narrow their research to 2 or 3 options, then quickly apply the best possible tool to their product immediately to understand how it will work out in their environment.