| I appreciate what Slava has written here. But I noticed something odd about his recommendation. He noticed that doctors can get through the bullshit because they have contact with patients. It's anecdotal of course, but it seems common in caring professions. Why else would anyone be an underpaid grade school teacher? But Slava doesn't come up with an exact parallel for programmers. He suggests studying the history of technology, and reacquainting oneself with the sheer fun of building things. These are maybe good, but he doesn't seem to be telling a story of how he recovered from disillusionment. At best he's speculating that these are things that might work. I suspect they won't, because they miss something important. Nobody is sincerely thanking us for doing these things. Unlike doctors and grade school teachers, if programmers had more contact with end users, they'd probably get burned out faster. The things we build rarely make anyone happier. There are ways you can justify the work - creative destruction ideology, or maybe you can delude yourself into thinking that mashing together APIs is somehow getting the world closer to some better future. And maybe they are even right. But are people really meant to work this abstractly? This detached from outcomes? There's nothing to propel you through the bullshit. |
The one time that this was not the case was a wonderful time in my career. I worked on software for photographers who worked in a studio down the hall from my office. They’d stop by in the morning with a suggestion or bug and I’d walk over at lunch with a solution.
One idea from “agile” that has resonated with me is that programmers should work closely with their customers. The most miserable projects have multiple layers of PMs refracting the idea away into nothingness.