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

Leverage as baggage

We want to maximize the impact of our work, right? Help all the teams, not just ours. Widely applied processes, reusable code. Watch out: imposing reuse invites regret and resentment. Reuse is coupling In code: this one time, the lead devs at my small company made a utility library, full of little array and string …

Read moreLeverage as baggage

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

One Secret to Quality Software

They ask us for quality. What is “quality”? “Well, free of defects.” (Oh it’s a lot more than that.) What is a “defect”? “Well, when it doesn’t work like we expect it to. Like we agreed it should.” Trust me, you didn’t specify how it works. That’s my job, as a developer. To organize all …

Read moreOne Secret to Quality Software