4 ms·
It's quite unusual to find agency work which rewards good programming. Most agency work involves adding unnecessary complexity and bugs to keep the client comin
by cryptica 5y ago
It's quite unusual to find agency work which rewards good programming. Most agency work involves adding unnecessary complexity and bugs to keep the client coming back for fixes... Then after some time the client becomes dependent on the agency... At that point you can take longer and longer to implement features to bill more and more hours. It rewards bad code. Most software agencies sell labour hours, not quality software; so they optimize for maximizing lock-in (via poorly written code and/or contracts which allow them to retain ownership over the code); this later allows them to maximize billable hours.
I've worked for companies as a software engineer where the CEO insisted on using a third-party agency to host and develop part of their software... When it would have been trivial to develop everything in-house and to host it ourselves on Amazon EC2... I told them it was a bad idea but most of these CEO types are too dumb to understand... I since learned to keep my mouth shut and let them make their mistakes. It's not my business. My goal since then is also to maximize my billable hours.
- Tabular-Iceberg 5y agoI agree that this is how the industry works, intentionally delivering garbage to be able to sell more billable hours. But is it the only viable strategy? What would it take to compete with high quality work instead? Where your repeat business doesn't come from fixing everything you did wrong, but it comes from your reputation of getting it right the first time around? In a market where there's a surplus of consultants but a shortage of programming problems to solve, it makes sense to milk every client you can find dry, but that's not at all the kind of market we're in. You'd make as much money doing four six-month projects for different clients as you would milking a single one for two years. Or more, since you'd get better at it with each project you complete and may be able to ask for a higher rate, whereas churning out garbage one year after the other teaches you nothing and sets you apart from nobody.
- cryptica 5y agoThe 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.
- deleted 5y ago[deleted]