Category Archives: software-engineering

The Logical Fallacy

Nary a week goes by without seeing a post by a programmer, for programmers, on the subject of logical fallacies in arguments. This week’s, courtesy of hacker news, is not egregious, enlightening, or indeed different in any way from the … Continue reading

Posted in brute-force, software-engineering | 3 Comments

Why 80?

80 characters per line is a standard worth sticking to, even today. OK, why? Well, back up. Let’s examine the axioms. Is 80 characters per line a standard? Not really, it’s a convention. IBM cards (which weren’t just made by … Continue reading

Posted in software-engineering | Tagged | 1 Comment

The ABC of Software Engineering Research

About this paper The ABC of Software Engineering Research by Klaas-Jan Stol and Brian Fitzgerald, published October 2018. See link for full citation. Notes There are too many ways in which terms describing research methods in software engineering get used, … Continue reading

Posted in academia, software-engineering | Tagged | Leave a comment

More speed, lower velocity

I frequently meet software teams who describe themselves as “high velocity”, they even have graphs coming from Jira to prove it, and yet their ability to ship great software, to delight their customers, or even to attract their customers, doesn’t … Continue reading

Posted in Business, performance, process, software-engineering | 4 Comments

Coming to terms with fewer terms

I was on a “Leadership in Architecture” panel organised by RP International recently, and was asked about problems we face using new techniques like Microservices, serverless and machine learning in the financial technology sector. The biggest blocker I see is … Continue reading

Posted in software-engineering | Leave a comment

What’s better than semver?

Many software libraries are released with version “numbers” that follow a scheme called Semantic Versioning. A semantic version is three numbers separated by dots, of the form x.y.z, where: if x is zero, all bets are off. Otherwise; z increments … Continue reading

Posted in software-engineering | 4 Comments

To become a beginner, first become an expert

We have a whole load of practices in programming that only really work well if you’re already good at whatever the process is supposed to help with. Scrum is a process improvement framework, but only if you already know how … Continue reading

Posted in advancement of the self, software-engineering, TDD, tool-support | 2 Comments

Reasoning about reasoning about software

Functional programmers like to claim that you can’t reason about mutable state programs. Some thoughts: the first half of the book A Discipline of Programming by Edsger W. Dijkstra tells you how to do it. That half of the book … Continue reading

Posted in code-level, software-engineering | Tagged | Leave a comment

The Atoms of Programming

In the world of physics, there are many different models that can be used, though typically each of them has different applicability to different contexts. At the small scale, quantum physics is a very useful model, Newtonian physics will yield … Continue reading

Posted in learning, philosophy after a fashion, software-engineering | 15 Comments

In which new developer tools are dull

Over on lobste.rs I said that I don’t hold out much hope for another “blue plane” style event in developer tools. In one of Alan Kay’s presentations, he referred to the ordinary way of things as the pink plane, and … Continue reading

Posted in software-engineering, tool-support | Leave a comment