Reasoning about Leverage in Engineering Organisations

Leverage is an important concept for an engineering organisation. When we are debating whether to standardise and on what, which technology tools and stacks to use, whether to add new technology, replace an old system with a new one, which programming languages to use and how many, under the surface we are ultimately talking about or around, the topic of leverage of technology.

Read More

On Rust

Back in 2013, I started a series of posts on programming languages I found interesting. One of the languages I wanted to write about at that time was Rust. As often happens, life got in the way, and it’s only now that I’m coming round to a long overdue post. This is one of a series of posts on programming languages and you can read more about that here.

Read More

On Scala

This is one of a series of posts on languages, you can read more about that here.

Scala's blending of programming paradigms in a single language is impressive. It's fun to write code in and is a good language for leaning into the functional plus static typing paradigm. As much as I like the language, I usually qualify recommending it outright. Scala is the language I find myself most conflicted over - the part of me that likes programming loves it, the part of me that goes oncall has a doubt. 

Read More

On Go

This is one of a series of posts on languages, you can read more about that here.

A grab bag of observations on the Go programming language, positive and negative. It bucks some orthodoxy on what a good effective language is supposed to look like. It makes sensible engineering decisions and is squarely in the category of languages I consider viable for server-side systems that you have to live with over time.  

Read More

On Languages

I have been playing around with Erlang, Scala and Go more and more, to the point where I'm able to draw conclusions about them as production languages.  I don't consider myself expert in any of them, but like most people in my line of work I have to be able to make judgments in advance of deep understanding. I've also spent time to a lesser extent with Rust, not enough to decide anything much. I've been foostering with Erlang and Scala on and off for years, Go and Rust are more recent.

Read More