Postlight‘s podcast Track Changes has an interesting interview this week with Clive Thompson about his new book, Coders: The Making of a New Tribe and the Remaking of the World. The focus of the book is the people writing the code that drives some of the biggest companies of our era, as opposed to the leaders of those companies, who tend to get a lot more media attention.
The highlight for me was the discussion of how coders actually think, as opposed to popular stereotypes.
Clive Thompson: I think there’s around 200 developers I spoke to, ranging from hanging out with a bunch of them in a bar at a conference, to talking for hours to one person and profiling them. One of the things I was trying to do was, what are the actual common threads, what makes them tick, why they like this, why they get into it. Some of the things people think are maybe kind of obvious, like, they’re very logical thinkers! Well, you know, they kind of have to be. If you can’t think systematically and logically, this isn’t going to work out very well.
So there was this obvious stuff. But actually what intrigued me was one of the more unexpected things. I began to realize when talking to them that these are people that have an ability to endure a grinding level of frustration that’s an order of magnitude higher than what most human beings can handle.
Paul Ford: My joke is, someone works in this field if they have a callus in their finger from reloading over and over again. You have to get into a zone where you can look at something 5-600 times over and over again over the course of a couple hours and just incrementally change or update it.
Clive Thompson: What people don’t get about writing software is how all these images in Hollywood of someone sitting down and typing and it just pours out, and they don’t know that actually what you’re doing is fixing broken stuff. The function you just wrote already isn’t working. And then there’s a codebase you inherited–uncommented, weird COBOL from 20 years ago and you gotta figure that out. The daily life of most developers is just sitting around, staring at things that don’t work and somehow being able to smash their forehead through the wall to get that.
Clive Thompson: [There’s] this desire to constantly tweak and improve and render more efficient and more optimized. Everyone would tell me about how it happened early on when they were learning to program when they sort of realized, “Christ! Computers are really good at taking these repetitive actions, and things that are being done slowly and speed them up” and then they just start developing this X-ray vision and they can’t turn it off. Everything they see needs to get more efficient. There was this one woman, who worked for Zillow. We were hanging out in San Francisco and she was like, “On the way here I was standing at the corner and watching people cross the street and I almost felt like screaming at them because I felt they were doing it in a suboptimal way.” She’s like, “I’m out of my mind”.
Paul Ford: Eh, it’s San Francisco, I think maybe people would welcome it.
I thinks this gets more into the mind of a programmer than most of what I’ve read on the subject (and a lot of it was written by technical people!) There’s a lot more insight in the episode, definitely recommended. And probably the book as well. (Which I’ll definitely read at some point–I just need a break from tech books right now.)