4 ms·
There is a corollary. You need to learn how to build quality software. You also need to know what level of quality vs completeness tradeoff you need to make. I
by Communitivity 3y ago
There is a corollary. You need to learn how to build quality software. You also need to know what level of quality vs completeness tradeoff you need to make.
Imagine I have a deadline of Jan 15th to demo features x, y, and z to senior leadership (who then will make funding decisions that could impact my project), and I get to Jan 15th with x, y, and not z - or worse, none of them working fully. But the code quality is high, there are no TODOs hanging around, no extra development focused logging, no duplication of code, no leaky abstractions.
That is a 100% fail in leadership's eyes, unless you have a really good story on why z didn't get shipped (and code quality is NOT that).
All those things I listed will have to be addressed at some point, and the longer they go without being addressed the harder they will be to address. But if you need to do that to meet deadlines, then you do it.
Of course, if you are in a place where leadership allows you to work from a backlog and demonstrations and features to demo are scheduled not arbitrarily based on leadership's schedule/interest, but on the features that are newly shipped since the last demo, then you are in luck.
At the end of the day the important thing to remember is that you are not being paid to build software. You are being paid to provide a solution to your customer's problem. Other than CTOs and some forward thinking leaders, they don't care about the software. They care about whether the problem is solved, did it cost me more or less than expected in labor and materiel, and is it compliant with necessary laws/regulations.
- beebmam 3y agoI think that "quality software" is not well defined, so until it's well defined, we're not talking about the same thing.
- idlephysicist 3y agoExactly, there's no point in a startup having _perfect_ code, great test coverage, and an excellent CI/CD pipeline if they've not gotten to market before the cash runs out. Though I think that if leadership are not consulting the Engineers on timelines, instead just dictating the timelines to them, then there is a massive problem afoot.