One of the most widespread disagreements in computer science might not be as as inconsequential as it would appear.
Developers who use spaces to indent their code make more money than those who use tabs, a survey by StackOverflow has revealed. The choice is largely stylistic — when code is compiled, it doesn’t matter which convention is used, but a fierce rivalry exists between developers who favour one choice over the other. In the hit HBO show Silicon Valley, protagonist Richard Hendrix is aghast when he discovers that the woman of his dreams uses spaces, while he himself uses tabs. He promptly calls off their budding relationship.
He might not have made a wise choice — developers who favour his style of writing code earn lower salaries. A StackOverflow survey of 28,657 developers found that both choices were equally popular — 40.7% developers used tabs, and 41.8% used spaces. But developers who used spaces had 8.6% higher salaries than for developers who used tabs. This effect remained roughly the same across all levels of experience.
Incredibly, the discrepancy remains remarkably consistent even across countries. In the US, India, United Kingdom, Germany and Canada, developers who used spaces made more money than developers who used tabs. The difference was the lowest in Germany, and the most pronounced in India. Developers who favour certain languages often choose one style over the other, but the discrepancy is also present within individual languages.
This seems hard to explain — even StackOverflow confesses it’s bewildered by the result. Both styles are equally popular, and make no difference to the code, but developers who use spaces seem to do better professionally than those who use tabs. Is it that better developers automatically gravitate towards spaces? Or that using spaces somehow prompts them to write better code? Whatever might be the reason, this rivalry isn’t going to die anytime. And in the meantime, you might want to start using spaces if you’re using tabs — StackOverflow says the impact on your salary is equivalent to adding 2.4 years of work experience.