4 ms·
While this is an admirable approach in theory, I noticed you don't mention how much time (i.e., money) it takes you to implement a high-quality platform relativ
by anchochilis 6y ago
While this is an admirable approach in theory, I noticed you don't mention how much time (i.e., money) it takes you to implement a high-quality platform relative to people with lower quality standards.
There are massive economic benefits to shipping something early but a little buggy or even incomplete. Does it take some of the artistry out of being a programmer? Sure! In fact the ability to compromise on quality, to tolerate a little technical debt, is a sign of maturity I look for when interviewing senior engineers. In software it's possible to waste months and months of engineering time endlessly iterating on the implementation in the name of "quality" while realizing minimal value to the business. For example, obsessively aiming for 100% test coverage, rewriting working code in accordance with a new fad style or framework, adding a new abstraction layer where it isn't required, etc. An engineer who refuses to fix a minor bug in a "crufty" part of the codebase without spending a month rewriting it from scratch is not the kind of engineer I want on my team -- it usually goes hand in hand with a lot of nitpicking on pull requests, overambitious designs, derailing of technical discussions. In other words, ego.
It's not that I don't care about quality. It's just that I've worked with lots of people who equate quality with their own tastes, and they can be really unpleasant to work with.
(Note: none of this is meant as a criticism of you, OP, more a general rant about the flip-side of "quality" in software engineering.)
- ChrisMarshallNY 6y agoMaybe you wouldn't like working with me, then. Not an issue. Problem solved. I'm old, anyway, and I've already learned that's an automatic showstopper. No one wants to work with us older folks. It was pretty jarring, encountering that, as I had always worked on large, distributed, heterogenous, teams, my whole career, and was used to some basic respect. That seems to be something that isn't really practiced, these days. It's all about competing with each other. I had to figure out how to do the kind of work that I need to do, alone. The only viable way, is to work with such a level of quality, that I can close the door on modules as I progress, and leave code of such quality, that I can go back and work on it fairly easily, as needed. It's actually done at a ferocious pace. I'm having to take a break, for a bit, as I'm leaving the rest of the team behind, and they need time to catch up. It's tax time, anyway, and I have a couple of businesses I need to get tied up. Maybe that's not what you want, but it is what some other folks want. It is certainly what I want. I simply won't do bad quality work. It hurts, and I'm a wuss. I don't like pain.