Software development is like geriatrics

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 …

Read moreSoftware development is like geriatrics

Developing software teaches us to design interfaces.

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.

Control doesn’t mean you know what’s going to happen

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

A lot of rules

A Swede, on American Football: “Are there any rules? It looks like they stand in two lines, someone throws the ball backwards, and then it’s a big pile.” Me: “141 pages, last I checked. It takes a lot of rules to look like there aren’t any.” Later, people talked about error messages. There are so …

Read moreA lot of rules