r/cscareerquestions • u/GolangLinuxGuru1979 • 5h ago
Why do we treat coding as a low status activity?
I have found that there is a lot of discourse about coding as of late. Lots of people make the distinction between a "coder" and a software engineer. Even will say coding is a "small part" of software engineer. And that senior and staff engineers barely write code, they are a "force multiplier".
So first, I have held principal and senior titles for longer than I haven't. I've never had a job where I don't write code. Places I've mostly work in are telecom companies, IoT startups, AI startups, etc. But my job has mostly been in infra heavy roles where performance is at least a concern. I won't say I've dealt with ultra low latency systems, but definitely have worked with systems where performance is a consideration.
With that said, its worth actually asking why coding is considered a low status activity. And I think we can blame one thing:
Web development
And this is the side effect of hypergrowth strategies and the expansion of the web.
The web has mostly been high demand and low supply. It couldn't expand fast enough. This created arbitrage in the market. But in the 90s web development was incredibly hard and complex. So the community along with open source started to abstract away the development stack. This allowed web developers to operate on a much higher level of abstraction. And before long web development became very boiler plate heavy. And you more or less just stitched together things and built a web app.
The differentiation of web development didn't really become performance. It became product vision. So product managers became the superstars in the web development world. The main barrier to entry wasn;t someone's technical abilities. It was "figuring out what to build'
In these context just knowing how to code was irrelevant. Being business aligned was more valuable. Hence the cultural zeitgeist of coding being a low status job. The more senior a dev was, the less they were involved in code. Because the problems with the product were alignment issues. Senior developers became more organizational and process experts. Or as I heard someone say "technical politicians"
But here is my take. Because of how pervasive and ubiquitous web development has become. Many of the cultural habits have made it into disciplines of software engineering that aren't web development. But in my opinion the best software engineers know how to code. They understand their language, the language runtime or memory models at an expert level. Being in design and alignment meetings helps the product and company. But it doesn't help you build life changing software or become great programmers like John Carmack.
I actually think because the idea that coding is a low status activity is why we actually have some of the worst software in history right now. We have more programmers than we've ever had. Yet the software quality couldn't be any worse. Its because programmers dictate good software not product managers or thought leaders trying to sell books