3 ms·
The only area I could find where this 'clean and maintainable code' approach is appreciated is in open source. In open source, it's not about money (it's rarely
by cryptica 5y ago
The only area I could find where this 'clean and maintainable code' approach is appreciated is in open source. In open source, it's not about money (it's rarely the primary motivator); it's about meeting goals so developers try to be extremely economical with their limited free time.
I don't think it's possible for the commercial software industry to optimize for good code so long as engineers are paid hourly and the industry has monopolistic dynamics which externalize fanaticism and internalize complacency.
To make it work in a commercial context, developer remuneration would have to be based on results (over a medium to long term of at least 6 months) and there would need to be a genuinely competitive environment where everyone has equal opportunity to prove themselves to the market (not prove themselves to management). It has to be tied to user feedback somehow. This is pretty much what happens in open source but would be hard to implement in a commercial setting.
- Tabular-Iceberg 5y agoYes, you'd probably need to either do fixed cost projects where developers get a share of the profits, or simply giving them bonuses on completion of each project to give a financial incentive to do more projects faster. But then again each project has a marginal cost, so it may still make more sense to do as few as possible, even in a market where demand exceeds supply. But if we're going to screw the customers, why not gold plate everything instead? Even if the developers aren't rewarded with money, doesn't that make for a much more pleasant work environment? If the objective is taking as long as possible to accomplish the task, isn't it more rewarding to build a sparkling jewel than a ball of mud? It may even be somewhat less unethical, since the customer at least gets a quality product out of it, instead of garbage.