4 ms·
To borrow a reference from Alex Crompton, building software is both "Math hard" and "Bodybuilding" hard. Coding itself is then recursively "Math" hard and "Body
by barrenko 6y ago
To borrow a reference from Alex Crompton, building software is both "Math hard" and "Bodybuilding" hard. Coding itself is then recursively "Math" hard and "Bodybuilding" hard.
Math hard is when to get something to work it's really hard "mentally" to achieve/produce/figure out, but when it works it's not a problem anymore and you can explain it to kids (like Pythagorean theorem). Bodybuilding hard is when there is clear and simple "process" to achieve a thing, but it's really hard to stick to it, because to not do so is way easier.
In coding e.g, it's boring to refactor and optimize code and not put all stuff in one place and write shitty functions.
In actual software development/management (one level "above") it seems it's really really hard for the team/company/PM/CEO to fight bloat. It's hard not to go for building new stuff and adding features. There is nothing to talk about and waste meetings on and add administrative and marketing staff early on if you're not working to "add new features". Mainly because there is no definable primary feature, no actual purpose for the software, no really good coders, and in 99% of cases no actual product and / or underlying business.
- ritchiea 6y agoBeyond it being "hard" to fight bloat, it's against the individual interests of most of the company. Let's say you have a job at Google or company X or wherever, you're a PM/dev/designer/manager/productGuy. You don't get promotions and earn more responsibility for saying "we don't need that feature." You get promotions for that cool new thing you shipped and hey if it ruins the UX or slows the app down or whatever, who cares if it's UX or your career what do you care about UX your career is dependent on MORE bloat. Incentives are totally misaligned but I can't imagine the situation will change anytime soon.
- marcus_holmes 6y agoThis. Also, feature design is "playtime" for most founders/devs/designers/productGuys/managers. Thinking up cool new stuff that your product can do is fun. And, once thought up, it's hard to put that feature aside. "Wouldn't it be cool if it did this..." is easy and fun. Managing the ensuing bloat and complexity is hard and not fun. I've done it a hundred times, little driveby features like Dark Mode that take a couple hours to implement (but no customer asked for). Then 3 months later it breaks randomly from a dependency update and it's another 2 hours to fix it. Then it adds half a day to creating a new feature that people actually did ask for. And so on. The cost of that little thing adds up and up. I'm starting to think that product design time should be handed out as a reward, rather than seen as work.
- cutemonster 6y agoWhat could be ways to motivate product managers to remove bad features
- marcus_holmes 6y agoThat is a really good question! As devs we know it's a good thing, but try explaining to the average manager why we're going to spend dev time removing features instead of adding new ones. It'll be a hard conversation ;)
- aikinai 6y agoManagers (both product and engineering) know it too; that’s just not how their incentives are designed (as mentioned above). Though I don’t have an answer for how to align incentives correctly in a modern company. If you have one visionary who owns the product forever and happens to care about UX, you can do it. But that’s not how companies work today.