When knowledge is the limiting factor

In Why Information Grows (my review), physicist César Hidalgo explains that the difference between the ability to produce tee shirts vs rockets is a matter of accumulating knowledge and know-how inside people, and weaving those people into networks. Because no one person can know how to build a rocket from rocks. No one person understands …

Read moreWhen knowledge is the limiting factor

the future of software: complexity

The other day in Iceland, a tiny conference on the Future of Software Development opened with Michael Feathers addressing a recurring theme: complexity. Software development is drowning in accidental complexity. How do we fight it? he asks. Can we embrace it? I ask. Complexity: Fight it, or fight through it, or embrace it? Yes. Here, …

Read morethe future of software: complexity

Collective problem solving in music, art, science, and software

Or: the Origins of Opera and the Future of Programming. (video, or TL;DR, or abstract) At the end of this post is an audacious idea about the present and future of software development. In the middle are points about mental models: how important and how difficult they are. But first, a story of the origins …

Read moreCollective problem solving in music, art, science, and software

Not “why”

“Why” is a terrible word because it’s overloaded. Often when we ask “why” we mean “for what purpose” — we’re looking for intention. In the bigger questions (bigger than one person’s decision), that doesn’t make sense. “Why do we let people buy those dangerous guns?”In a system the size of our country, there is no “for what …

Read moreNot “why”