A Dive Into The Abyss

So, as it turns out, my bitching about my self-review was unnecessary. Monday, October 22nd, I quit my job. I actually almost did it the Friday before but wanted to make sure I wasn’t making a rash decision (as if detesting each minute you spent at work for the past 4 months could ever be considered rash). My ex-company typically takes your two week notice and then walks you out the door as a security precaution while still paying you for that two weeks. However, because I had been employed there for well over 7 years, they kept me around both to pick my brain for two straight days and to give me the chance to leave on my own terms.

So, my last day was this past Wednesday. I don’t have a job, don’t have plans for getting a job soon and couldn’t be happier with that decision right now. Yesterday was hangover recovery day from the last day party after work and today I’ve just been running errands and working in the yard. Starting Monday, I’m going to begin work on some projects here at home, getting my coding chops back into place and learning some new technologies.

The plan right now is to take 6-12 weeks off and see what I can develop at home. If it doesn’t work out, I’ll find a job in December-ish. I’m thinking about starting up a blog just for chronicling my journey but not sure if I really need ANOTHER blog. In the meantime, I’ll post updates here semi-frequently about the journey.

It’s the Most Wonderful Time, Of the Year

Does that little jingle make you think Christmas? Well stop it, it’s not what I’m talking about. Halloween neither even though it’s a great little holiday. No, I’m talking about review time. That time during the year when the review fairy comes down from on high where she’s been hanging out with Jesus and John Lennon and other people too cool to talk to you and brings her magnanimous 2.76% raises to bestow on all the little people, if they were good this year.

Like Santa, the review fairy has ways to know whether you’ve been naughty or nice. One of the ways is called “The Self Review”. It sounds important but really all it is is a way to take your balls and put them in a vice and give you the opportunity to tighten the screws. See, I told you she was magnanimous. Three things can happen with self-reviews and like throwing a pass in the NFL, two of them are bad. Those two things are you’re honest and you tell your overlords about all the internet you surf at work which then results in you getting a bad review or you totally oversell yourself and the overlords figure that you’re a self-promoting prick with an agenda.

In the end, it shouldn’t be my damn job to review myself. They are bloody well paying my boss to know what I do every day (trust me, he drops by enough that he should). The Self Review is a ridiculous piece of HR double-speak so that the Man can find new ways to screw you. In theory, it sounds like a great plan but like just like socialism, that never works out when you give the keys to the castle to the idiots.

On my Self Review this year, there are 4 places to review yourself plus the option to upload a document. What kind of ass-kiss has time in the day to write another completely separate document about his strengths and weakness and upload it into the system? Anyway, the four areas of review are “Accomplishment Summary”, “Key Strengths”, “Development Needs and Plans”, and “Job/Career Interests”. Each of these areas have little help buttons that you can click to explain them in more detail, you know just in case “Accomplishment Summary” wasn’t clear enough. For example, that one has the following detail: “Summarize your accomplishments in the past year, including misses. (No more than 10)” I think I’ll write “I’ve never had 10 misses in one year, not even in college and now that I’m married, the chances of that ever happening have dwindled.” Wonder if the review fairy would like that.

Key Strengths helps with “Describe your strengths and how they have changed in the past year. (3 to 5)”. I think I may Bart this one and do “I AM NOT AN FDIC INSURED ESTABLISHMENT” 5 times. Or maybe I talk about how at the beginning of the year I could only bench 185 but now I can do 210. Or maybe do a discourse on the differences in the Islay malts. That one would probably get me an extra .04 tacked on to that raise.

Development Needs and Plans helps with “Identify the most critical needs and responsive action plans. Describe opportunities to broaden/expand current job. (2 to 3)”. Um, the most critical needs are a quiet place to work and not having to buy my own extra monitor, video card and copy of Resharper. I have no idea what a critical responsive action plan is but if I figure it out, I’ll put it in here. In reality, isn’t “responsive action plan” an oxymoron? By definition, shouldn’t an action plan be about proactive behavior and not responsive behavior? Isn’t a little “horses have left the barn” to come up with an action plan to respond to things that already happened?

Overall, the self review is good for one thing and that’s being the punch line of a Dilbert strip. I have until November 10th to do it and I’m going to put it off as long as possible so that I keep my options open on exactly how to fill it out.

Taxonomic Job Classification

I have decided that you can classify jobs on a taxonomic basis, i.e. every job is just like some living creature.  I have also decided that my current job is like being a old, stately oak.  In a drought.  Where your leaves die.  And then a limb or two.  Then slowly, your heart and soul begin to fade and you croak but it’s a very slow process.   Sometimes you get a little sprinkle of rain that brightens your prospects for a day or two, then it’s back to slowly dying again.   It’s fun.

Tomorrow, we’ll talk about jobs that are like spiny anteaters.  Or something.

When Interests Diverge

I ran across this interview with Joel Spolsky today and while it’s all good, I found one part of it to be really eye-opening as it relates to my current job. That insight is that if, as a software developer, you work for a company that isn’t a software shop (I work for a company that does third party bill payment), your interests as a software developer are going to be seriously different from CEO. And that is a big problem if you want to be happy as a software developer.

The people who are happy in a company like that are the CEO, the sales guys and maybe marketing because what the CEO thinks about all day long is how to get more people to do X and those thoughts align perfectly with sales guys. The CEO could care less if they are happy after they’ve done X, just as long as they’ve done it. That means that he could care less about whether you, as a software developer, have the best tools or a quiet workspace or two monitors. None of that helps him get more people to do X, at least not in his very focused view. By understanding this, you, as that poor maligned software developer, can realize that it makes no sense to rage against the machine as it were because the people who have the power to change things don’t have any interests in common with you. It’s almost impossible for people who don’t share your interests to understand or care about whether you can do your job well. Because your job doesn’t directly make the CEO more money, it’s pointless to be upset because everything you do in your daily job seems to be set up in the most ineffiecient way possible.

At my job, this is true for the CEO, the CTO and probably for the VP of IT (who I shall mention has been on the job for 2 weeks now and has not bothered to introduce himself to any of the developers, which is in and of itself, probably a huge sign that the hierarchy of the system has run its course and we, the people who write the software this particular company runs upon, have in fact become the untouchable caste – however that is a subject for another blog post). When the people who make the decisions regarding your ability to do your job well don’t happen to care whether or not you are happy, you won’t be happy, at least not directly happy because of your job. You can give up on “my job makes me happy” and either search for another job if you are sufficiently motivated or give up and accept a life of meaningless security.

If you do the latter, I’m not sure you can actually consider yourself a software developer. If you do, you’re going to be an awfully cynical one.

I’m tired of being cynical.

Chances Are It’s You That’s Stupid

In my experience in the software development world, people tend to have one of the following three reactions to a new technology or process:

  1. This is so stupid.
  2. I can’t do this, please do it for me.
  3. I don’t understand, can you help?

You can learn a great deal about a team member or employee just based on this reaction alone.  The first person expects all problems to exist external to themselves.  If a co-worker immediately reacts to a new tool with “This is stupid”, I know I don’t want to have them on my team.  These types of people don’t consider the why’s of a decision, only the outcomes.  Their immediate reaction is always one of blame and not self-inspection.  They are a contagion to a team that requires flexibility because they embody inflexibility.  Helping these people is almost always an exercise in futility because to them, it’s always something (or someone) else’s fault.

The second group are the give-uppers.  They may toy with it for a bit but only superficially before running to the expert in the hope he will save them from expanding their boundaries.  These people are nearly as detrimental to the team’s morale but they are highly detrimental to the team’s productivity.  They are net negative for teams that require high efficiency to operate effectively.

The last group are the ones you want to have around.  When they don’t understand, chances are they’ve struggled with it for quite awhile and are now looking for some insight as to why things are done a certain way.  They typically don’t want the problem solved for them but they aren’t afraid to ask for a little help.  They realize that there’s probably a reason for everything but they just don’t know it yet.

I get frustrated a lot when dealing with something new but I try to always remind myself to step back and think for a second regarding the problem.  Chances are, I’m missing the big picture or not looking close enough internally before rushing out to blame the technology or process.   Just because something doesn’t do what you expect it to doesn’t make it stupid.

Why Less is More

The more I work in IT, the more I realize how insightful the Pareto principle really is.  While it doesn’t apply directly to IT, it certainly rears its ugly head here a lot.  For example, to this day, years after a certain developer left who shall remain nameless to protect the guilty, we have code in production that consistently contains bugs even though that very same code has contributed many bugs in the past.  This fellow didn’t contribute anywhere near 20% of the code but his code helps us know where to look for a good chunk of the 80% of the bugs.

On the flip side, I think it’s apparent that in almost any field of work that doesn’t require a 10 year degree or that you don’t get paid $7 million a year to do, 20% of the people do somewhere close to 80% of the work.  Thinking statistically, this probably has something to do with approximately 16% of the people being one or more standard deviations above the mean.  There are lots of leeches and bloodsuckers who float along on the tails of people who actually do work.  Strangely, the more hierarchical a company is, the more leeches there are around.  I think it’s because the hierarchy protects them from being found out.

So how do you either find a job where everyone is in that 20% or start a company and hire those people?  If it’s the former, look for a flat organizational structure, one where the concept “team” isn’t a dirty word.  If it’s the latter, and you have an answer, I’d love to hear about it.  In reality, I know how to find and hire them, I just have to find the idea for the company first.  So if you have an answer for that, drop me a line.  🙂