-
The Right Way To Use Story Points
When working in software projects, it’s usually a good idea to estimate the overall effort, as it helps coordinate and plan initiatives across a company. Although there are different ways of estimating software tasks, in this article I will discuss Story Points, and what to do and not to do when using them. Story Points…
-
Project Triangle And Software Quality
The project triangle says that the quality of a project is determined by three factors: Cost, Scope, and Time. We can choose two of them, but not all. There are three possible combinations: In a concrete example, let’s pretend that certain features of a project (Scope) are planned to be completed in two months (Time)…
-
Working across timezones
Working with people is difficult. Working with people across different timezones is a challenge. Working with people in opposite timezones requires commitment from all parties. One of my first experiences collaborating with someone on the other side of the planet was the best example of how things should not be done. My worst experience Sometimes…
-
Debunking Myths in Back-End Software Testing
In today’s article I want to debunk what I believe are some myths and misconceptions about testing, based on a broad experience of writing automated tests for back-end applications for nearly two decades. I will start by explaining key concepts about automated testing that will serve as a foundation, before discussing these myths. If you…
-
Blameless Culture
A few years ago I watched a very interesting documentary about World War 2. Amongst the new facts I learnt, what surprised me the most was all the chances that Hitler had to win the war, and how the Nazis’ blame culture was one of the factors that contributed to their defeat. Hitler’s generals were…
-
Coding with AI
AI is not leaving us anytime soon. Learning how to use it properly is a must-have skill for software developers. I do not consider myself an expert, but I have experimented with this tool long enough so I could share some insights into how to make the best of them, and when it’s best to…
-
Work/Life Balance
What is really Work/Life balance? When I started my career, I thought it was very simple: respect working hours, don’t answer calls or messages outside of these hours, don’t think about work, and don’t do anything work-related during my personal time. It took me many years to realise that not everything was truly black and…
-
New Year Goals
This article will be published either on New Year’s Eve or on the New Year, depending on where you are in the world. For reasons I can only guess, this seems to be a time when people spend more time reflecting on their achievements, and setting goals for the new year. As long as you…
-
Finding Bugs With Git
Throughout my career, I’ve occasionally been tasked with identifying and fixing bizarre production bugs. I talk about those issues where logs provide little insight, and debugging is neither straightforward, practical, nor efficient. The first few times I encountered such problems, I spent many hours reading code and trying to debug, only to get closer, but…
-
Divide and conquer
Divide and conquer is a very useful strategy that you can use in a range of problems. The first time I heard of it was in reference to the algorithm to break down problems recursively. The idea is to break down a big problem into smaller problems that are easier to solve, and then solve…