The notion that programmers can be 10 times as productive as their colleagues may be vaguely ridiculous, but there are few people who wouldn't want to be more efficient.
The key to becoming a fabled 10x programmer, according to Trisha Gee, developer advocate at software firm JetBrains, is to practice pair programming, but with a twist.
Pair programming tasks a couple of developers with working together at a single computer, jointly solving problems and devising code, with one dev typing in code while the other reviews it.
"The best way to become a 10x developer is to teach nine other developers to do your job as well, not to get ten times better," she told the O'Reilly Software Architecture Conference NY 2019.
"So let's talk about how you scale your skills by sharing your skills, sharing your experience with other people, my favorite way is pair programming."
SEE: Hiring kit: Python developer (Tech Pro Research)
However, Gee isn't just an advocate for developers pairing up, but also for programmers working alongside other employees who play a key role in shaping software.
"Pair programming is, in my opinion, the best way to share knowledge around the team, particularly for developers, but not just limited to developers.
"When I worked at LMAX, which is a financial exchange in London, we didn't just do it with developers. We paired every day as developers, but we also paired with business analysts, we paired with technical testers. This way at the beginning of a story, we might sit down with a business analyst and a tester, and the business analyst would tell us, the developer, what we were trying to achieve and why we were trying to do it, and the tester would tell us all the ways they were going to try and break it.
"That way we could try and actually create something which suited the business purposes and that was a quality piece of code."
As well as resulting in a better final product, Gee credits the practice with helping her learn more about being a good Java programmer in her first six months at LMAX than in 10 years during her earlier career, due to working alongside such a mix of people.
"I learnt the tools that we were using, the IDEs, for example JetBrains IntelliJ IDEA, I learnt about what our standards were, I learnt about the domain, I learnt about the trade-offs that we took when we were implementing something," she said, adding "it was a really, really good way to upskill".
The key thing is not to get hung up on the idea that having two developers sharing a keyboard is a bottleneck.
"Typing is not the problem with the coding. It's all about the thinking, and all the bugs that you accidentally write into the code."
However it's worth noting that evidence for the benefits of pair programming is mixed, with one of the more recent academic studies being unable to identify a clear link with better quality software. That said, the study didn't examine how pair programming improved the skills of individuals.
And other developers who have regularly practised pair programming add that while the quality of software goes up, in their opinion, so do the stress levels among developers who don't like working in that way, suggesting there should be a limit to how often pairing takes place.
If you're interested in more advice on how to improve as a developer, check out TechRepublic's 10 tips for becoming a better programmer.
- Six in-demand programming languages: getting started (free PDF) (TechRepublic)
- Programming languages: Your best options (ZDNet)
- How to become a developer: A cheat sheet (TechRepublic)
- Want to learn programming? This startup pays you cryptocurrency to study Python (ZDNet)
- 10 popular programming languages developers should learn in 2019 (TechRepublic)
Nick Heath is chief reporter for TechRepublic. He writes about the technology that IT decision makers need to know about, and the latest happenings in the European tech scene.