In a 2005 commencement speech, David Foster Wallace tells a story about fish swimming around their fishbowl.
“Two young fish swimming along and they happen to meet an older fish swimming the other way, who nods at them and says “Morning, boys. How’s the water?” And the two young fish swim on for a bit, and then eventually one of them looks over at the other and goes “What the hell is water?”
And, as he says, “the point of the fish story is merely that the most obvious, important realities are often the ones that are hardest to see and talk about.”
This talk is about the water we swim in as software engineers. Based on 5 years of research, it shares reflections from hundreds of engineers who are navigating the struggles for organizations shifting from one mode of operating to another, making the tradeoffs made in moving fast under demands for near perfect reliability, balancing a life on call, and learning critical new skills to help them transition to new ways of working.
Specifically, I’ll look at the underlying capabilities needed for successful transitions and functioning in continuous integration/continuous deployment environments. These capabilities are as critically important as deep technical knowledge but are the obvious, important realities we don’t readily see or talk about.