3 ms·
As an engineer who cares deeply about quality as an ethical imperative - save it for your hobby projects. There's no such thing as 100% quality in engineering.
by solatic 3y ago
As an engineer who cares deeply about quality as an ethical imperative - save it for your hobby projects.
There's no such thing as 100% quality in engineering. Never has been, never will be. Engineering is about delivering requirements, on-time, and on-budget. Trying to deliver more than the requirements either impacts budget or it impacts delivery time, every time, and the requirements are poorly defined to begin with.
The way you swim against this tide isn't by shaking your head at the idiocy of whoever you inherited the code from - it's by setting a positive example for your teammates, mentoring them, helping them grow, trying to raise the bar a little bit on every code review before everyone's patience runs out and you have to merge in what you got. Help everybody make the best of the time they get to put into the project, instead of living in some fantasy land where you can polish forever and never deliver.
- ramblerman 3y ago> As an engineer who cares deeply about quality as an ethical imperative Nothing you said after that matches this statement.
- solatic 3y agoReality is a bit more complex than the ivory tower. Real-world ethics is about balancing competing interests, not using ethical concerns as a bludgeon to never deal with messy compromises.
- ramblerman 3y agoI get that, but what you said is 100% the same as what an MBA might say on the topic. And maybe that's the right middle ground, but don't pitch it from the perspective of a software engineer who is fully comitted to quality, because your pitch is far more jaded.
- solatic 3y agoWhat, I'm not allowed to be an engineer who also has an MBA? I switched majors from Computer Science to Computer Engineering because engineering was about dealing with real-world constraints so that we could make an actual difference in the real world. I got the MBA because I understood that the "constraints", i.e. the budget for the project, is only meaningful within the context of how much revenue the system brings in, i.e. how do you build systems that are long-term maintainable because they bring in the revenue to pay for salaries for engineers to maintain them. So yeah, I have an MBA, and I care about long-term maintenance. I care about quality, and I care about delivering on-time and on-budget. I don't see an inherent contradiction between these aims. Half the value of the MBA was in helping me realize how much scope ought to be reduced so that the system can be delivered on-time and on-budget while not compromising on quality of what remains in scope. But more to the point - this only assumes that you have "perfect" engineers doing perfect work to begin with. In reality, your bottleneck is usually the people working on the system. Very few places are swimming in a proverbial ocean of 10x engineers. So engineers who care about quality would do better to focus on the actual bottleneck for quality and build up their peers instead of tearing them down.