I love programming but I hate the programming industry
Scope of the Problem
- Many argue the author dislikes the corporate world and capitalism more than “programming” itself.
- Common theme: companies primarily value short‑term economic impact, not elegance, deep craft, or societal benefit.
- Several note this is not unique to software; most jobs exist to make money for owners, not to provide meaning.
Corporate Incentives vs. Craft
- Widespread view: production speed and feature output trump code quality until technical debt becomes painful.
- Others counter that “code quality vs speed” is a false dichotomy over more than a few weeks; messy systems slow future work.
- Disagreement over “clean code”: some see it as readability and maintainability; others say popular “Clean Code” styles hurt performance and don’t scale.
- MVP culture is criticized: prototypes often ship to production and never get cleaned up.
Types of Employers and Work
- Experiences vary widely: some report bullying into spaghetti code; others describe thoughtful teams, autonomy, and meaningful products.
- Startups are seen both as places where engineers can truly engineer and as equally shallow “ship fast” environments.
- Alternatives mentioned: academia, government, defense, NGOs, civic tech, non‑profits, and non‑software industries (construction, manufacturing) with internal dev teams.
- Tradeoff emphasized: more meaningful/independent roles usually pay significantly less.
Alienation, Capitalism, and “Meaning”
- Multiple comments frame the author’s complaints in terms of alienation and Marxist critiques of capitalism, even if not named as such.
- Some argue you shouldn’t expect deep personal meaning from corporate work; find meaning in hobbies or side projects.
- Others insist it’s reasonable to want work to address real human needs rather than “bullshit metrics.”
Process, Roles, and Hiring
- Scrum, heavy process, and proliferating roles (PMs, scrum masters) are blamed for reducing engineer agency and adding “imposters.”
- Hiring practices (especially LeetCode‑style interviews) are widely disliked and seen as disconnected from real work.
Coping Strategies and Paths Out
- Suggestions include: going indie (e.g., small games), joining small or niche companies, negotiating more autonomy, or explicitly separating “day‑job code” from “artistic code.”
- Several stress managing expectations, doing “good enough” work, avoiding over‑investment in corporate outcomes, and being ready to move on.