images/avatar.jpg

The Benefits of Pair Progamming

I came across this tweet the other day arguing why pair programming is bad. I responded in a series of tweets, pointing out the flaws in the original author’s arguments. Here they are, in long form, for your enjoyment, dear reader.

In my org at MSFT our default modus operandi is pair and even mob programming. Each of the points made here are flawed. Let’s walk through one by one.

Getting Started with 3D Printing

Introduction

I first learned about 3D Printers around 12 years ago when projects started appearing on Kickstarter to fund new consumer 3D Printers. The idea of being able to take a design and create an object out of thin air seemed incredible. I wanted one but at the time the technology was nascent and most of what I heard was that configuring and maintaining the printer was a full-time concern in and of itself.

Financial Playbook for First Gen Black Technologists

Preamble

I responded to this tweet a few days ago (okay so looks like a week…time doesn’t really exist in this strange world we’re living in). And before I knew it, I had written a pretty long thread on twitter. In the process, the thread got splintered and then splintered again when I tried to correct it. But people responded well to what I shared so I brought it over here where it can be available in easy to read format for everyone.

Features, Epics, Stories, and Tasks

So let’s talk about the Matryoshka Dolls of the Scrum world. I think having an understanding – a Ubiquitous Language as it were – of what we will be using to discuss how we approach work is important, that’s why I love these process discussions as they pop up. Like in all domain modeling discussions, a Ubiquitous Language is only as useful as it has a shared understanding of the meanings of a word. Otherwise we could just choose random string when naming things. It’s the meaning of a word like Task in the domain specific context. When speaking of Scrum it means an item of work that allows me to signal to the team what precisely I’m doing while working on the story. When talking to my children it might mean the same as a chore. All things worth naming morph in meaning depending on the context.

Recursive Algorithms Using an Explicit Stack

Overview

I remember learning recursion in school. It was one of the most mind warping concepts for me at the time. It wouldn’t be until many years later that the perfect metaphor for me would arrive in the form of the movie Inception. Recursive functions are functions that call themselves as part of their execution. The most common example is the Fibonacci sequence. The Fibonacci sequence is defined as:

F(0) = 0, F(1) = 1

The Next Step

Around eleven years ago, I worked with a team to create an engine health monitoring service. This system collected engine flight data from the engines that a manufacturer had deployed around the world. That data would be ingested and presented for analysis to support predictive maintenance of the engines. The service is a core offering of the manufacturer. Not just providing the engines but also providing maintenance of those engines for their clients.