A fantastic article made the rounds this week discussing the mindset of programmers:
A list of what’s broken and needs to be fixed. A list of ways in which I fucked up.
… programming builds an acutely negative mindset over time. I’m always asking the question “what’s wrong with this?” Positive people are always focusing on “what’s good about this?”
It was chilling to read because it so accurately described a shift in my attitude that I wasn’t completely aware of.
People say that artists never consider their work finished, they just stop working on it. That’s true, but I don’t think that’s the whole story when it comes to programming.
An artist looks at a painting they’ve created and may consider all the ways that it could be better. They see areas for improvement or opportunities for expression.
A programmer looks at a piece of software they’ve created and considers all the ways that it fails to live up to their expectations. They see imperfections and missed opportunities.
This aspect of programming is the only part of my career I don’t love. When I show my coworkers a feature that I’ve worked on, I get feedback that’s both positive and negative. Even though I hear the positive, I only really listen to the negative because that’s what I know I have to fix.
It’s like chasing some kind of high. “After I finish this one last bug”, I’ll think, “then I can be happy with it.”
I never am.
As I said, this is a shift I’ve noticed in myself and my attitude. That means I can shift back.
Photography and writing are two huge aspects of my life that bring me happiness. I’m going to try and bring in aspects of what makes those activities joyful into my day-to-day life as a programmer. I’ll let you know how it goes.