Technical skills, caring, and learning how to quit
I do love reading feedback from people who visit here. I wind up writing a lot of responses to those comments and questions, and they frequently wind up inspiring still more posts. Sometimes, there are angles to a topic I just can't see until someone else gives me their take on things.
Earlier today, I was writing a response and thought of a graph where technical skills were on one axis and doing things properly were on another. You can rig up any two things like this and you get four quadrants. There's low+low, low+high, high+low, and high+high. I started thinking about what sort of people inhabit each of those quadrants.
Low caring and low technical skills means you have someone who can't do good work themselves and probably won't bother to seek out the information or resources required to make a better product. They'd have to care first. Hopefully you don't have too many folks like this hanging around.
Low caring and high technical skills would be the folks who can probably code up anything they want to do, but only if it suits them. Any worries about about long-term maintainability, interoperability, compatibility, or any of those other "big picture" things don't matter to them. They might build intricate things, but they might not be the right things.
High caring and low technical skills suggests a person who wants to do things properly but can't accomplish it directly. They might not have the knowledge required to do something just yet. This could come from a lack of experience, in which case this is only a temporary phase. Someone who cares enough to do it properly will seek out the resources required to make it happen since they can't do it themselves.
Finally there's the high caring and high technical skills quadrant. These people are the ones who usually wind up being drafted to teach the "unskilled but caring" people how to do their jobs. If they're particularly unlucky, they might also wind up picking up the slack from the "skilled but uncaring" folks, since who else is going to do it? This is on top of whatever work they would have assigned normally.
It's gratifying to watch someone find out they're actually in this last quadrant. They just needed a little boost here or there for some things they hadn't previously encountered. They're like butterflies.
One thing I've found about caring is that it's difficult to shut it off. I might say something like "I'm over it", but then something like this DNS disaster story happens, and somehow I wind up being one of the folks who organizes a "tech strike team" to fix it. We didn't ask for permission or make a huge announcement. We just did it because it had to be done.
It seems like the only way to truly stop caring about something that's a harmful situation is to forcibly disconnect from it. This means knowing when it's time to quit. That introduces the "air gap" required to make things no longer my problem, and then I can in fact stop caring about them.
The alternative is going back to it day after day, and what's going to happen then? That's right, I'll see something and act on it. That's just the way things are.
I've been finding that disconnecting from badness has been getting easier over time. Things which look like massive obstacles at first become mere ant hills in my rear view mirror.
Maybe this is why some companies discriminate against folks who aren't wet behind the ears and fresh out of school. It's harder to pull one over on those of us who have been around the block a couple of times, perhaps because we might have seen it already. Meanwhile, there's always a fresh batch of college kids ready to do your bidding every single year!
It's brilliant... in an evil sort of way.