Cyber Monday: You’re soaking in it. If you’ve got the time to read this today, you clearly aren’t working in a company that has a major online retail component. Rather, you should be staring at your dashboards, religiously checking to see if anything has broken. Or if it’s broken now. Or now. Or maybe even now.
This kind of compulsive stat checking is entirely normal, so don’t feel strange for being glued to your dials and logs. What’s strange, rather, is the ways in which the Cyber Monday phenomenon will affect future teams of developers.
Why? Because development teams are changing. Out here in the Valley, I’m seeing the start of some very interesting experiments in agile, pair programming, onboarding, and generally a reworking of how software teams are built (and in how they build their software).
My personal favorite right now is a large-ish startup (more than 300 people) that employs no testers, admins or operations people. Instead, everyone is responsible for his or her own code. If your code breaks the build, you’re on the e-mail chains at 3 in the morning, and you’re the one rebooting instances in Amazon Web Services.
This no-ops, no-testers company (called Optimize.ly) is, actually, built of an amalgam of talent from operations and testing groups. But when they join the company, they’re quickly informed that they will also be coding. And coding is, essentially, their first obligation now.
That can mean they write unit tests all day or Chef recipes all night. In the end, it means that everyone is using source control for their work, and everyone is expected to be completely responsible for the assets they generate. Nothing is ever “thrown over a wall.”
This also means there’s never a situation where some poor operations person is called into the office at 2 a.m. because someone in development or testing dropped the ball. No one else suffers for your mistakes. (Well, no one who can’t look you in the eye over a meeting table the next day, anyway.)