“Is it … Soft Mother? Or … Wire Mother?” (2019) Marshal Law Pat Mill’s and Kevin O’Neill’s Marshal Law: Fear and Loathing was a revelation when I first read it. Marshal Law Pat Mill’s and Kevin O’Neill’s Marshal Law: Fear and Loathing was a revelation when I first read it.
Lessons in Interactivity, Redux (2021) The following is a rewrite of a post I wrote nine years ago. I’ve updated it to reflect the past decade, changed it where I was wrong, and clarified where I was unclear. The following is a rewrite of a post I wrote nine years ago. I’ve updated it to reflect the past decade, changed it where I was wrong, and clarified where I was unclear.
The Single-Page-App Morality Play (2021) Progress in web development is meaningless if nobody can sustain it. Progress in web development is meaningless if nobody can sustain it.
Software Crisis 2.0 (2021) An essay on our industry’s core expertise: failed software projects. An essay on our industry’s core expertise: failed software projects.
Nobody gives a hoot about groupthink (2021) How tech is breaking collaboration People want what’s bad for them; managers want what’s bad for the organisation. How tech is breaking collaboration People want what’s bad for them; managers want what’s bad for the organisation.
The Open-Source Software bubble that is… (2021) … and the blogging bubble that was. Disclaimer: For a while there, I was paid to work full-time on Open-Source Software (OSS) software in the Open Educational Resources… … and the blogging bubble that was. Disclaimer: For a while there, I was paid to work full-time on Open-Source Software (OSS) software in the Open Educational Resources…
Ways of reading… (2021) … without the influence of community. I realised quite a while ago that my web reading habits are very different from most others. … without the influence of community. I realised quite a while ago that my web reading habits are very different from most others.
You are what you do… (2021) …not what you say or write. What to do when our idols fail us Basecamp was, for many of us, the role model for sustainable, humane, and successful management practices.… …not what you say or write. What to do when our idols fail us Basecamp was, for many of us, the role model for sustainable, humane, and successful management practices.…
10x Devs Don’t Exist, But 10x Orgs Do (2023) One of the most persistent myths in software development is the notion of the hero developer—the rock star, the machine, the great programmer—who gets things done. They… One of the most persistent myths in software development is the notion of the hero developer—the rock star, the machine, the great programmer—who gets things done. They…
Small is Successful (2023) A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be… A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be…
Generative “AI” is tech’s Hail Mary pass (2023) I’m not one for using sports metaphors in my writing because my disinterest means I lack the context necessary for a nuanced use of a metaphor. But, in this case, I… I’m not one for using sports metaphors in my writing because my disinterest means I lack the context necessary for a nuanced use of a metaphor. But, in this case, I…
Fear Of Missing Out is lethal… (2023) …when somebody invents a footgun The first and often the biggest business risk that arises from a new invention is hasty action. Whenever somebody invents a new widget… …when somebody invents a footgun The first and often the biggest business risk that arises from a new invention is hasty action. Whenever somebody invents a new widget…
Authorship (2023) I’ve always been a bit of a film buff. Some of it’s part of my upbringing. My dad thought it was important to make sure we didn’t just watch new movies, so, as soon as… I’ve always been a bit of a film buff. Some of it’s part of my upbringing. My dad thought it was important to make sure we didn’t just watch new movies, so, as soon as…
1. Introduction This is Yellow: Principles (or useless aphorisms) for software dev. Laying out “the rules” or “how it should be” has been a popular pastime among intellectuals and… This is Yellow: Principles (or useless aphorisms) for software dev. Laying out “the rules” or “how it should be” has been a popular pastime among intellectuals and…
2. Fear is a signal One of the worst things you can be as a software developer is fearless. The other worst thing you can be is terrified all the time. One of the worst things you can be as a software developer is fearless. The other worst thing you can be is terrified all the time.
3. Just-in-time research Just-in-time research will always beat trying to keep up with the web development or the software development news treadmill. This is a mistake I keep doing or have kept… Just-in-time research will always beat trying to keep up with the web development or the software development news treadmill. This is a mistake I keep doing or have kept…
4. Technology changes slower than you think Technology changes much more slowly than you think. This might seem like an almost heretical notion, considering everything that’s changed becomes of technology in the… Technology changes much more slowly than you think. This might seem like an almost heretical notion, considering everything that’s changed becomes of technology in the…
5. Always maximise your understanding Every decision you make when you’re working on a software project should be about maximising your understanding of that project. We often make the mistake of having… Every decision you make when you’re working on a software project should be about maximising your understanding of that project. We often make the mistake of having…
6. Gall’s Law One of my favourite laws – one of those principles that seem to be universally applicable – is Gall’s Law. People who have worked with me in the past are probably very… One of my favourite laws – one of those principles that seem to be universally applicable – is Gall’s Law. People who have worked with me in the past are probably very…
7. Analogue Here’s a controversial take from somebody who works in software and the software industry. Analogue tools are sometimes better, faster and cheaper than anything digital. Here’s a controversial take from somebody who works in software and the software industry. Analogue tools are sometimes better, faster and cheaper than anything digital.
8. Don’t tinker Tinkering is endemic to, well, businesses everywhere, in that we make a decision, we see the results, then we change what we did and see another result. Repeat until… Tinkering is endemic to, well, businesses everywhere, in that we make a decision, we see the results, then we change what we did and see another result. Repeat until…
9. Correct and incorrect If it’s at all possible, you should try to make sure that incorrect looks different from correct. This might sound obvious, but it’s generally not the practice. You can… If it’s at all possible, you should try to make sure that incorrect looks different from correct. This might sound obvious, but it’s generally not the practice. You can…
10. Loose coupling Loose coupling done right can be a superpower. But it has to come from the system that you’re using: the programming language, the platform or the software system. Loose coupling done right can be a superpower. But it has to come from the system that you’re using: the programming language, the platform or the software system.
11. Widely used standards A topic related to late binding or loose coupling. As a general rule, you should always prefer widely used standards, over widely used conventions, over seldom used… A topic related to late binding or loose coupling. As a general rule, you should always prefer widely used standards, over widely used conventions, over seldom used…
12. Premature optimisation Premature optimisation is a form of tight coupling or early binding, generally speaking. That’s why it’s usually the root of all evil. It ties your system together in a… Premature optimisation is a form of tight coupling or early binding, generally speaking. That’s why it’s usually the root of all evil. It ties your system together in a…
13. Avoid state management Avoid managing state as much as you can, no matter what kind of software you’re making. There’s a reason why the one universally applicable debugging or problem-solving… Avoid managing state as much as you can, no matter what kind of software you’re making. There’s a reason why the one universally applicable debugging or problem-solving…
14. UX bugs versus complexity Bugs hurt the user experience more than complexity helps it. What I mean with this is we need to think of the end user and the software they’re using to do their job as… Bugs hurt the user experience more than complexity helps it. What I mean with this is we need to think of the end user and the software they’re using to do their job as…
15. The two questions The two most important questions in software development are “what do I need to do?” and “how do I know I’ve done it?” These questions work on a more granular level than… The two most important questions in software development are “what do I need to do?” and “how do I know I’ve done it?” These questions work on a more granular level than…
16. Don’t try to solve every problem Absolutely do not try to solve every problem you can think of before you really have to. This ties in with the whole test-driven development thing. The test defines the… Absolutely do not try to solve every problem you can think of before you really have to. This ties in with the whole test-driven development thing. The test defines the…
17. Throwaway prototypes Ambitious work in software development requires prototypes that get thrown away. That’s just a hard fact. Ambitious work in software development requires prototypes that get thrown away. That’s just a hard fact.