Adding Correctness Conditions to Code Changes

Today I looked at the first PR on our new project repo. It added a new run script, but the README didn’t mention it. The proposed change was incomplete, because the documentation was out of sync. Did I comment on the PR? heck no. I want to fix this problem for all PRs, not just …

Read moreAdding Correctness Conditions to Code Changes

A Developer’s Starting Point for Integrating with LLMs

Here’s what I know so far, from a lay-developer’s perspective (no AI or ML experience). So you’re a coder, and you’ve been asked to integrate with ChatGPT. What do you need to know? ChatGPT is an example of a Large Language Model (LLM). LLMs are a kind of machine learning (call it AI if you …

Read moreA Developer’s Starting Point for Integrating with LLMs

Code and Coders: components of the sociotechnical system

TL;DR: Study all the interactions between people, code, and our mental models; gather data and we can make real improvements instead of guessing in our retros. Software is hard to change. Even when it’s clean, well-factored, and everyone working on it is sharp and nice. Why? Consider a software team and its software. It’s a …

Read moreCode and Coders: components of the sociotechnical system

The Quality Wheel

“Quality software.” It means something different to everyone who hears it. You know quality when you see it, right? Or maybe when you smell it. Like a good perfume. Perfume preferences are different for everyone, and quality means something different for every application. In perfume, we can discover and describe our preferences using the Fragrance …

Read moreThe Quality Wheel