Pareto Principle in Software Engineering

I’ve read this piece recently by Casey Cobb about how we can use the Pareto Principle in software engineering. The Pareto Principle, or the 80/20 principle, is how for example 80% of car accidents are caused by 20% of drivers. In this piece Casey goes into how we can use this knowledge in software engineering to ship code faster. https://projectricochet.com/blog/software-development-pareto-principle-and-80-solution Applying the Pareto Principle to software then the following must be true:...

March 20, 2023 · 4 min

Book: Software Craftsmanship

Book: The Software Craftsman: Professionalism, Pragmatism, Pride Author: Sandro Mancuso At the title of the book says, we should treat coding as a craft rather than just another job. We should be deliberate about the code we write but also about everything in our careers from the companies we work for, the learning we do right to the time we should search for a new job. So many people, not just software engineers, go through life without fully considering these decisions ahead of time....

March 15, 2023 · 6 min

Why the Dutch love cycling

Go seemingly anywhere in Amsterdam or more widely in the Netherlands and you’ll find it that seemingly everyone cycles. Certainly more than most other western nations. But why is this so? Weather and landscape play a factor. Having nice weather, basically just not raining, and flat roads to cycle on do play major roles but I think the more important one is that the infrastructure is there. Look around and you see segregated cycle lanes that don’t just end randomly like they do many other cities....

February 21, 2023 · 3 min

Cloudflare redirect

In this article I will walk through how to create page redirects in Cloudflare. The redirect I’m creating here is one to go from one page to another so for example to go from /blog to /posts. In many cases it may be more preferable to set these redirects up in Cloudflare as you can avoid extra requests going to the site which results in lower load and cheaper running costs....

February 7, 2023 · 3 min

State of the blog

At the start of this year, 2023, I set out the goal to write 100 blog posts by the end of the year. I knew this was an ambitious goal but it seemed vaguely achievable. One hundred seems a large enough number but twice per week shouldn’t take up too much of my time. It allows enough slack that some weeks can be less while others the volume increases to meet the goal....

January 31, 2023 · 4 min

Kubernetes Multi Cluster

Kubernetes itself is great for scheduling within a single cluster but if we have many clusters, spread across geographies, we start to need something above the cluster level. This is where Kubernetes Multi-Cluster comes in in allowing us to manage apps across clusters. Ask nearly anyone who uses kubernetes what they prefer between treating applications like cattle or pets nearly all will say cattle. Pets require special individual attention but cattle are managed within herds, at least that’s what the metaphor explains....

January 17, 2023 · 5 min

Perfect vs Good Enough

When is a task done? Every team has a different definition depending on, amongst other things, their release process and what happens after a piece of code gets completed. Even members of the team have different ideas of what makes a task done, that’s why it’s important to have a team agreement of what is their “definition of done”. Here however I want to focus on the part before the task gets marked as done and look at the actual code itself....

January 6, 2023 · 3 min

Never-Ending Pull Request

What I’m calling a “never-ending PR” here is a PR that is attracting lots of discussion and comments from different people. Once one comment gets resolved another one opens up. Eventually it gets to a point where we just want to do whatever we can to resolve all comments and merge the PR, even if we don’t agree with what has been suggested. PRs should have limited but concrete scope. That is the task should be well understood and be manageable in size....

January 4, 2023 · 3 min

Take Ownership

Very early on in your career when you start out as a software engineer the path ahead is fairly straightforward. Everything hinges on your technical ability. You must get a good technical understanding of the code and be able to solve problems. Your aim is to become an independent contributor where people can rely on you to get a specific task done. This can only take you so far however. Eventually you will start being evaluated based on your impact to the business....

December 26, 2022 · 3 min

Books I've Read

This is a list of books I’ve read or attempted to read. It is ordered from most to least recent. The further back it goes the less I remember about them. I’ve but an asterick (*) beside the ones I thought were good The Alchemy of Air * - great book about a technology that’s not thought about but crucual to the modern world (fertiliser) Happy City * - interesting read about what makes cities great Boom, Bust, Boom - about copper and mining industries and the real world impacts of the mines A Philosophy of Software Design The Hard Thing About Hard Things * - good but more suited for those starting a business, though I still took something away from it and his biography at the start is good The Millionaire Fastlane - kindof a clickbait book but it’s an easy read and I like keeping finances on my mind The Software Craftsman - I liked this as a reminder to take pride in your work The Prize: Oil industry * - good book, almost a history of the modern world as oil has been so apart of it Sam Walton: Made in America - good but obviously bias as is an autobiography Exactly: How Precision Engineers Created the world * - a book for the engineer in us all The World for Sale * - good book on commodity traders and how they operate The Hobbit How To Win Friends And Influence People American Prometheus (Oppenheimer) - read the introduction but found it a bit tedious....

December 26, 2022 · 10 min