The service you build doesn’t do a thing. It participates in a thing.

Cognitive neuroscience likes to assign functions to parts of the brain. This bit does planning. This part does short term memory. This piece perceives faces. Does that bit really do planning? If you cut it out and held it, would it plan for you? No. And that other bit doesn’t perceive faces without messages from …

Read moreThe service you build doesn’t do a thing. It participates in a thing.

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.

Closing the feedback loop from the customer

Feedback loops are essential to learning. In business, they’re essential to getting the product right. We need to know what the customers think, what they’re struggling with, what they value. There’s one department that has a lot of contact with customers. Whole conversations, where we can learn a lot about what frustrates people. Yet, customer …

Read moreClosing the feedback loop from the customer