This category contains 47 posts

An example of the errors of “best practice”

Some time ago I wrote about the error of slavishly following “best practice” without asking why. And I was reminded of this again the other day when a friend forwarded me a blog post by Eyal Guthmann in the Dropbox tech team. The post explains that the team used to try to share as much … Continue reading

Plan for legacy systems

The other day I was looking at some old Elm code, refamiliarising myself with one of the key language concepts (Signals) and found an article to help me. One part in particular caught my eye: To truly add a level of responsive interactivity to our application, we need to understand Signals, Mailboxes, and Addresses. These … Continue reading

The cost of new technology

When a development team introduces new technology to solve a problem, they are adding a long term cost, too, even though it may not be obvious. This is one way that a technical decision is a business decision. Last week I was speaking to a friend about Erlang, a technology designed in the telecoms sector … Continue reading

Follow the business strategy

Many years ago an experienced consultant was telling me about a company who was asking for his help. “They told me they wanted to develop a digital strategy. But they don’t need a digital strategy,” he said, “They need a business strategy.” I’ve always remembered this distinction between a business strategy and a more localised, … Continue reading

Always build for real people’s real problems

I’ve been having fun this week watching some conference talks about my current favourite language, Elm, at Elm Europe 2017. And I enjoyed seeing an important idea discussed—important not just for coding, but for product and project development generally. The lesson is: solve the actual problems experienced by actual people. Don’t generalise—at least not without … Continue reading

Discovering the Elm language

Are you looking for a better front-end coding experience? I’ve just spent several weeks completing my first project with the Elm language. This is my experience. (Spoiler alert: It’s pretty positive.) Background I’m a hobbyist coder. I work with software developers as my day job and envy their skill and dedication; I can sit down … Continue reading

Keeping up to date aggressively

A software developer friend of mine has good advice, which he repeats solemnly: “You have to keep up to date aggressively .” I agree. He is specifically talking about software libraries and platforms. If you don’t keep up to date with minor releases that come out then the changes you need to make for the … Continue reading

Static typing as mistake-proofing

I’ve always been a fan of statically typed programming languages for my own work, simply because it makes my life easier. My mother always told me “the compiler is your friend” and I like the fact that lots of stupid mistakes I make get caught before the machine will even think about running my code. … Continue reading

Legacy systems hide business knowledge

There is more to a legacy system than meets the eye. When we think about legacy systems we typically think about the old technology it’s built with, and how painful it is to maintain that. On second blush we think about the cost of maintaining it, and perhaps worry about the cost of replacing it. … Continue reading

Choosing a technology because it’s popular

In the ideal world a technology will be selected on its own merits alone. But we don’t live in an ideal world, and every technology has to work in a specific situation. So sometimes choosing a technology because lots of other people did, too, isn’t such a bad idea. Some time ago I worked with … Continue reading