I think that there comes a time in every halfway decent developers’ life when he realizes that he’s halfway decent and the world is full of people who couldn’t program their way out of a wet paper bag. I’m not referring to the noobs who troll forums asking for help and are truly trying to learn what they’re doing. Those guys are ok in my book. After all, everyone had to start somewhere, and we were all like them at one point. Although I don’t think forums actually existed when I started programming. Back then it was called Usenet. But I’m old, so I digress and get distracted easily.
What I’m referring to is that the software industry is going through another purging process of the below average developers in the same way it did back when the dot com bubble burst. Back then, it was difficult to find a job if you didn’t really know what you were doing because times were tough and the competition was fierce. This is exactly the opposite of how things were just a few short years before the bust in 1997-1999. At that time, if you had the letter “C” on your resume, they didn’t really care whether it was in reference to your grade in a programming class, a nickname you had, or an actual programming language. “Oh. You’ve worked with ‘C’ before? Here’s an offer letter. Welcome aboard.”
I think that we’re back to a point when times are tough and people are leaving the technology industry, although not by choice. You know what?
Yes, I know. I’m going to catch hell for that, but I mean “Good riddance” in the best possible way. This isn’t me having a holier/better than thou attitude about programming. This is about raising the bar for everyone who works in the technology field.
That was a bit blunt, so let me rephrase it with an example. This is one of my favorite quotes that I never thought I’d be able to work into a blog article. It’s from the television show Cheers where Cliff describes the effect of beer on the brain.
“Well, you see, Norm, it’s like this, a herd of buffalo can only move as fast as the slowest buffalo. And when the herd is hunted, it is the slowest and weakest ones at the back that are killed first. This natural selection is good for the herd as a whole, because the general speed and health of the whole group keeps improving by the regular killing of the weakest members.
In much the same way, the human brain can only operate as fast as the slowest brain cells. Now, as we know, excessive intake of alcohol kills brain cells. But naturally, it attacks the slowest and weakest brain cells first. In this way, regular consumption of beer eliminates the weaker brain cells, making the brain a faster and more efficient machine. And that, Norm, is why you always feel smarter after a few beers.”
Well said Cliff. Well said.
Jack Welch, the now semi-famous former CEO of GE heavily advocated a practice that is somewhat common today. At some companies, about 10% of the employees are let go every year, citing poor performance. It is a topic of great debate as to whether this practice is or isn’t beneficial to the company, but the reason the practice is controversial is that it is based on the idea that the rating systems they use are in fact valid. Here’s a hint. They’re probably not for reasons that are best left for another blog post.
What I’m advocating is that the people who are in the technology industry who really aren’t any good AND don’t have an interest in bettering themselves should find something that makes them happy. It’s a subtle, yet very important difference.
Now I certainly don’t consider myself one of the greatest developers of all time, but I do consider myself to be reasonably competent. I’ve had some pretty good successes and done enough dumb things to keep me humble. It’s not enough to be interested in what you are doing for your profession. You have to actually be competent at it, or at least willing to learn how to be competent.
I think this became most apparent to me when I was interviewing people to work at Pedestal Software and ran across someone who claimed to be a SQL Guru. I wrote about this encounter a few years ago, but the basic gist of it was he claimed to be an expert SQL developer (his words, not mine) but had never even heard of cascade deletes or cascade updates within SQL Server. He accomplished this functionality using triggers and apparently very poorly. This certainly wasn’t the only example I came across. Others claimed to have COM expertise, but couldn’t explain the basics of what COM was.
I’ll be honest and say I don’t know anything about COM either, but if you claim to know it really well and can’t explain it to another techie, then something is seriously wrong. Half of the people I interviewed had trouble writing the most basic of code snippets. I’m not talking about building the next PageRank algorithm for Google. I’m talking about simple stuff like sorting, and knowing what ASCII characters are. I mean really basic stuff.
Just last week, I spoke with a long time friend who relayed to me the story of an acquaintance who had been working in the same job in the IT field for the last 5 years. I don’t know his real name, so we’ll call him John. Now, John is not a developer, but this example will serve to illustrate my point. In addition to not receiving a raise for the last 5 years, John had gone out on disability for about a year through no fault of his own. When John came back, his position had been filled so they offered him a different position at a slightly lower level than where he was, resulting in a net pay decrease over five years. John couldn’t understand why he was essentially demoted and is incredibly frustrated at his position.
I turns out that there is good reason for the position he is in. John is hellbent on making sure that he works his 8 hours a day because that is what he’s obligated to provide as an obligation to receive his salary. John is neither interested in, nor willing to work a minute past 5pm. So when something breaks at 4:50pm, he’ll work on it for 10 minutes and then leave it for the next day, regardless of who might need it fixed and when they need it fixed by. He doesn’t take any work home, nor does he research anything on his own time or have any interest in doing so because it would eat into his free time.
An argument can certainly be made in his favor to say that his salary is intended to pay him for the house of 8-5pm and that’s it. Thus, by working past 5pm or doing any sort of off-hours training, he’s giving away his own time for nothing. What he fails to realize is that working 8-5pm isn’t even about working from 8-5 or any set hours for that matter. It’s about doing your job and doing it well. When you walk out the door on a problem because “it’s 5pm”, then you’re telling people that you don’t care about your job or the company you work for. So, when the pink slips start to fly, why should they keep you around?
If John were an hourly employee, I could certainly see the rationale, but he’s on salary. Being a salaried employee affords you additional benefits, such as a slightly more flexible schedule and less overall hassle about exactly what hours you are keeping. And more to my real point is this:
If you don’t actually enjoy what you are doing, leave the industry and go get a different job.
John, I know that sounds harsh and I know that it’s mean, but it has to be said. Get out of our industry and go find another job.
After my friend relayed this story to me, he asked me about the programmatically challenged developers I’d interviewed over the years. We discussed what it means to be smart, talented, and excited about technology and whether that translates into being a more productive worker. It didn’t take more than a few minutes before I convinced him that it did, although to be fair I think he was just trying to make sure my arguments were solid. He labeled it as creativity, while I said that it was simply a general interest in technology. He asked me: “Well, if someone likes to play Frisbee after work instead of staying late or reading books about software in their spare time, does that mean they’re not a good programmer in your mind. Is taking work home a prerequisite to being hired by you?”
Absolutely not. In fact, I’d prefer if you didn’t. I’m not a huge fan of taking work home unless you have to although admittedly, I do it far more often than I should. The underlying issue is not about whether you like things other than technology, rather it’s about whether you are passionate about technology in addition to those other things. The people who excel in the technology field do so because they are passionate about it and have a genuine desire to understand it. It fascinates them and if they had the time and money to leisurely learn about it, they would do so. The same can be said for business problems that are technology related. They’re challenging and if the challenge is big enough or the deadline great enough, of course I’m going to take it home.
But for those of you who are complaining about why you didn’t get a raise for the fourth time, or wondering why you were passed over for yet another promotion, stop looking around. The answer might be no further than the nearest mirror. Do yourself and everyone around you a favor… find a new industry. It probably won’t pay as much, but maybe you’ll enjoy it a bit more and find a career where you can actually get ahead. Ever see what Peter Gibbons ends up doing at the end of Office Space? He seemed quite pleased with himself at that point.
Life isn’t about how much money you make. It’s whether you’re happy. Do what makes you happy or take the time to find it. If you can’t do that, then what’s the point?