sea's blog → Algebra, Lisp, and miscellaneous thoughts

Table of Contents

Rigorous Engineers and Sloppy Developers

Introduction

I have observed that the software industry has a cultural divide (among many):

Quality Above Quantity: The Software Engineer

On one hand you have rigorous software engineers who take their craft seriously. The goal is to define a strict and rigorous engineering culture where quality necessarily comes before quantity.

These sorts of people embrace stricter typing, CICD pipelines, formal verification where possible, and are happy to slow the development down in favour of reater refactoring and polish.

To these people, software is a form of art unto itself, and deserves master craftsmanship. The actual problems that it solves are secondary.

Quantity over Quality: The Software Developer

On the other hand are the software developers. They focus on quantity over quality. The goal is to produce software to fix the problem at hand, and polish it later. They don't particularly take their craft seriously, and see it only as a means to an end.

That is to say, to a software developer, software is a way to solve other people's problems. It is not, in itself, worth much.

I do not like these kinds of people.

Analogy with Mathematics

It does seem like this divide mirrors that of the Applied and Pure mathematicians, who see mathematics as either (Applied) a tool to be used for real world problem solving or (Pure) an art in itself to be pursued for its own sake.

These camps, I suspect, will never get along. However it's noted that works from either camp do prove useful in the other sometimes.

However as the bugs pile up and sloppy software spreads through society and causes more and more harm, the world might start to consider whether those elitist purists were onto something with all their rigour.