When costs are nonlinear, keep it small.
Batching work is more efficient … until cost rises nonlinearly with batch size. Then smaller batches are the most efficient. So don’t delay maintenance!
Batching work is more efficient … until cost rises nonlinearly with batch size. Then smaller batches are the most efficient. So don’t delay maintenance!
I wanted it to be turtles all the way down. (where turtles are objects, or functions)
But it isn’t…
As developers, we build systems. Right? We build software that stays up (in aggregate) and performs functions. Sure, sure. Is that system useful by itself? I say never. When your team builds a service that adds a capability to the business, and it’s called by other internal software, then that other software is essential for …
Caring for software takes more knowledge than a single person can acquire. There’s the business knowledge that makes it useful, plus the languages and runtimes and infrastructure and deployment. Then there’s security, accessibility, user experience, each interface, availability, observability, scaling, performance, data modeling, testing, networking, etc etc. Every change to the software hits several of …
Developers talk about interfaces all the time. Even in the back end: APIs are crucial, because they let us connect our new programs into the world of existing software. They let us build on what exists. They let us build subsystems, and build higher-level systems using those. In real life, I talk about interfaces. An …
Read moreDeveloping software teaches us to design interfaces.
Everything new is broken. one of Jerry Weinberg’s maxims This happens because every other part of the world hasn’t adapted to the new thing, and the new thing hasn’t adapted to the world it’s in. That newfangled 3D printer worked fine in the lab, but it wasn’t ready for ambient cat fur, and my computer …
Being prepared includes…* Controlling the flow of the interview* Allowing uninterrupted dialogue* Keeping an open mind* Following the facts wherever they may lead Luizzo and Gaspar, “Demystifying the Investigative Process” in PI Magazine “Control the flow” and “Follow the facts wherever” seems contradictory. Do I make the interview go according to plan, or do I …
Read moreControl doesn’t mean you know what’s going to happen
In software and in business, we don’t build up from specific subtasks. We build up from broader capabilities.
In software and in life, breaking tasks into the tiniest possible pieces makes them smoother, and therefore easier and safer.
Today I brought up a load of laundry. When doing chores, I practice keeping WIP (work in progress) to a minimum. Finish each thing, then do another one. This is good training for code. For instance, on the way up the stairs with the basket, I saw a tumbleweed of cat hair. I didn’t pick …