On taking our jobs seriously
So, Myles Recny wrote a little conversation about why you should be nice to programmers.
There’s so much about programming that is incredibly satisfying and empowering. But it doesn’t change the fact that, for me, 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?”
As soon as I saw it, I immediately sent the following back to him:
@jcarouth @recborg It’s all about how you phrase it internally. For me, it’s less about how I messed it up, and more how I can fix it.— Jacob Mather (@thejmather) October 12, 2012
.@jcarouth @recborg it’s easy to lose track of the fact that you started with nothing. Bugs just mean you aren’t finished yet.— Jacob Mather (@thejmather) October 12, 2012
We can’t spend our lives mired in depression by seeing everything we do as imperfect. Nothing is perfect. Especially with our “programmer’s eyes” for technical detail, we will almost never achieve a level of quality that we would consider perfect. In fact, I would be worried if we did achieve perfection with any regularity.
Instead, if you start to feel the same way as Myles did, take a step back, and a deep breath. Stop looking at your code base, and start looking at your usage metrics. Look at all of the people using your code. Deriving value from your code. Improving their lives because of your code. If you don’t have access to that information, ask for it! Validate that your “bug-riddled mess” is actually helping people do something they want (or need) to do. Seeing this will help fuel your creativity, and drive you to provide ever better solutions.
Take some time to connect to your users. They are your best defense against the negative subtext that we operate in. View your work through their eyes, and see how they derive value from it. It’s a powerful thing, knowing you are improving someone else’s life — and we get to do it every single day. How lucky are we?
what if our users start saying it is too easy our job since we are satisfying them a lot … oxymoron
That means you’re doing your job well.
Good software (which has been well designed and architected) feels effortless to use.
In the same vein, users are not typically stakeholders, and so while we love to make them happy, their being happy doesn’t generally directly affect our bosses view of our performance. There are of course cases where this is not true, but I think it’s a fair general starting point.