This is yet another dilemma that shouldn’t be. I, for one, have a personal side for it, and it is business value. I have seen the beauties of especially complex engineering that appealed to no customers whatsoever, as I have also seen breadboard prototypes-—that barely worked for a short while—bring amazing first-mover advantage and eventually help raise a company valuation to hundreds of millions.
Too many in the history of tech endeavors have bitten the dust in the pursuit of heaven-sent quality and uber-efficient architectures that grabbed no market, so, at the risk of putting the powerful Union of Scientists of Quality against me1, I will just go ahead and say it: Tech purity is not an end. Good code, superb designs, pristine practices, and ascetic engineering, are all means to deliver better what the business needs, and have zero intrinsic market value2.
Engineers are notoriously bad at understanding the business side of things, and think that as long as you push as contrived tech as possible then money will rain into the bank account. I’ve worked with so many people who, if left to their own devices, would deliver an over-engineered product that doesn’t even meet the customer's needs, mainly because they have not taken the time to understand those needs and instead jumped into the design table right away, often to pull off products that are obsolete at birth.
Every successful startup I know went through a fair bit of iteration. From ugly cubesats to big fleets. From hacky code to complex stacks of software.
In her seminal (at least for me) doctoral thesis3, Caroline Twomey Lamb from MIT discusses engineering culture, and in particular, she talks about personality archetypes. One of those archetypes is what she calls the “technophile”:
The technophile experiences an inherent conflict between the craft nature of engineering and the academic rigor of engineering. Technophiles enjoy engineering in part because of the prestige that comes from working with technology.
That conflict, the conflict between the inherent “crafty” side of engineering and what we are taught at engineering schools, is in my opinion fueling this argument. When technophiles are in charge, they do it for prestige, while they try to resolve that internal conflict of the pristine theory versus the imperfect practice. For a technophile, making contrived tech is more fulfilling than making tech that sells.
Maybe this is an unpopular opinion, but here I am at it again: Cost-effective, somewhat hacky tech that barely works (but works!) and generates money—or helps you mature your idea—is always better than high-end engineering that will make your professor of Circuit Theory proud but will put you on unemployment benefits. But, here, the important factor is time: pursue cost-effectiveness and simplicity at the early stages, get better, improve, and raise your bar as the business grows nice and strong. I know this will be misinterpreted as some sort of “shitty engineering manifesto”. It’s not. I value reliable stuff that works, but there’s a proper time for everything. I value a lot the MacBook I am writing this from, whose tech, like it or not, tracks back to a dusty garage that did not precisely look like a sterilized lab a technophile would be proud of. Millions of lessons learned, patents, and hard work are silently backing me up as I type these words in this product I love using.
The smart way out of this? Avoiding technophiles running the show, let product-minded people do their thing, and practice iterative improvement to increase tech “purity” as you go, while you understand what needs you’re targeting, and while your business case gets more robust with each iteration, which will give you better tools, better offices, better tech, and a consistent payslip every month.
What is so difficult to understand? ∎
What are they gonna do, though? Write me a non-conformance?
Unless you are a quality professional of course, in which case all this will pay your bills
https://seari.mit.edu/documents/theses/PHD_LAMB.pdf