Tech Life As a business grows, so shall its employees

How to Lose Your Job, Part 1

Fez.

Fez is a senior engineer who works for me. He’s fictional, but you know Fez. He’s the guy who wrote that piece of code nine million years ago that everyone is dependent on, but no one knows what exactly it does because Fez didn’t bother to comment a single line… oh yeah and he wrote it in Forth.

Fez has his own office and he nods a lot. It’s the nod of a man who believes he’s got rock solid job security because his technology is critical. Fez bugs a lot of people, but when it hits the fan, Fez saves the day because he’s carefully cordoned off a critical path that his and his alone.

Each year Fez and I sit down and I present his focal review. I set the stage by asking about his aspirations and he responds with vague nodding.

Sounds good, boss.

Ok, boss.

Sure, boss.

Fez is not hearing a word of our discussion because Fez has heard this focal review mumbo jumbo for twelve years straight. He believes he’s immune.

The Fez approach is a rock solid way to become irrelevant and, more importantly, become unemployed.

The definition of a healthy business is a business which is growing and by growing I mean it is making more money each year. There a bazillion different ways that a company can create this growth, but the basic law of business physics that you should never forget is “as a business grows, so shall it’s employees”.

The manner by which business prunes the employees who aren’t growing is horrifically efficient. Employees who have consistently demonstrated an inability to grow are first shoved out of the mainstream… out of the products/services which matter. Some static employees find this banishment to be comforting… “aaaahh… no more fire-drills… the execs don’t even care about this project, so I can cruise.” That’s right. They don’t care about that particular division because it’s not strategic which means the second it’s time to tighten the budgetary belt, it’s the first group to be nuked. Poof. Welcome to unemployment. Did you learn your lesson, yet? Probably should have taken the time to figure out what XML stood for.

But wait, maybe you’re Fez. Maybe you’ve grown complacent with the knowledge that you are the only person who has a particular skill or set of knowledge. It’s a powerful position to be in… for awhile. Be warned, your complacency has been noted by those who are dependent on you and they are growing increasingly frustrated with your selfish attitude.

Maybe the execs can’t fire you because of your essential knowledge, but, I guarantee, those who are dependent on your black box of knowledge are concocting a devious plan to replace you and your knowledge because THEY WANT TO GROW. Incidentally, you will be the last person to figure out you’ve been replaced because you’re too busy handing down proclamations from your fragile knowledge pedestal. Sorry about that.

Whether it’s by organizational evolution or revolution, complacency is a job killer. Right this second, three guys down the hall have rewritten Fez’s code in C and they’re secretly demonstrating their work to interested parties. Building support, building a revolution and if you’re following me, you’re thinking Fez blew it.

Wrong.

I did.

I blew it by not not convincing Fez that growth is life.

In my next column, I’ll explain the most important tool a manager has to avoid the Fez.

15 Responses

  1. Wow–a cliffhanger :-)! I look forward to the next part…

  2. I don’t think it’s your fault for not convincing Fez to grow. That’s his own choice to be unmotivated. What *is* your fault is if you hired him, or if you haven’t gotten rid of him within a reasonable period of time. (Unless you got stuck with him because of politics!)

  3. anonymous whistleblower 19 years ago

    I keep rewriting this because I keep getting fixated on this, as I was in a team with a large group of these people for almost a year – working at the company and seeing it transformed from a group of hard-working, late-nights-and-weekends devoted employees to guys who complain when they have to come in anywhere outside of normal working hours to perform site maintenance and don’t even know the target language, suggest bloated tech like CORBA for what amounts to, “suck this in, process it, and spit it back out” (ah, the web) and keep getting fixated on hot, new tech without looking at what’s already out there and mature and does the job better, mired in a process where they need to initial a form 18 times to complete one line of code…. And 99% of it is their own drive – to create less work. Finally I quit in disgust, got begged back, and quit again a month later. As you put it, I had “checked out” – the only way to keep me at that point was going to be very hard to explain to upper management (especially when I pointed out the non-compete was utterly useless), I don’t blame my boss at that point – I do blame him for putting himself in that position – if he fires any one of over half his staff – the others in that half will either threaten to leave or leave with him – bright guy, that one.

    Damn, that was a long couple of sentences. Hell yeah, I’m bitter. I wanted to work and they wanted to play politics.

    Anyways, be sure you are getting rid of the right guy – as I’m sure you know a lot of geeks out there like authority and many of them go to great lengths to get it – the “Bastard Operator From Hell” is funny because it’s just a slight exaggeration on reality, otherwise it’d just be tired by now.

    While I don’t know the situation and do realize this is part 1 of a 2 part series, I have a gut feeling you are getting rid of a very smart guy that is bored, not sitting on a throne. It’s easy to be unmotivated when you have no reason to be motivated. Make him motivated (although I imagine since you’re posting this, you’ve already done the deed) and I think you’ll see reciprocation that only benefits the company… This is as old as Sun Tzu, the simple concept that competition makes for production. As long as it doesn’t go overboard, a little healthy competition never hurts – I think you’ve touched on this in your criticisms of Internet Explorer.

    That same boss, the genius he was – sat two guys in a room and let them program completely separate implementations of the same subsystem – the result is that both of them sucked and the one that sucked less got included, and we spent a year and a half replacing it.. After accepting the included one a day after it was written. Ironically I can see now that a merge of the two would have been more successful than even the replacement if done right.

    Eh, sorry for the rant.

  4. I guess the other comment I would have is that I would hope Fez would have some clue that his job was in danger. Doesn’t your company have a form of probation for dealing with situations like that?

  5. Isn’t the most useful weapon in the manager’s arsenal–not nec. to avoid the Fez, but to mitigate his existence–is to realize that, even without code-side comments… his critical code is ultimately decipherable and replaceable?

    I guess it gets down to a conscious, managerial decision to throw money at that tack, but nobody is invincible.

    Maybe they only think so if they’re never called out on it?

    It sounds like y’all are getting over that, and proving Fez fallible. But, that’s just another part of corporate growth: The ability to recognize your own fallibility and set higher standards for yourselves and your employees… isn’t it?

  6. I’m a sort of Fez — cruising while my code does my job for me. Unlike your Fez, I keep my mouth shut and feign caring and interest when called upon to do so.

    And I am growing on company time, but not for the company’s benefit. I’m using my time to build the skills I need to make sure when I jump ship (or get pushed off the ship), that I am stepping onto a better ship.

    At this point, getting fired would be far from a bad thing. It would light my fire and accelerate my growth.

  7. Daniel Roberts 19 years ago

    Fez I am, and I am just going to vent a bit

    I’ve been really frustrated at work over the last couple years. Actually I have been frustrated in life for as long as I can remember. I had a year and a half of college CS and started working here doing data entry and administrative work for a year. I learned ColdFusion, HTML and JavaScript and overhauled parts of our web application which got me a new position as the sole web application developer (40% pay increase). I have trouble focusing. I am in a small company and the only person who does what I do. I have trouble completing project because I have trouble staying and task. I always feeling like I’m just not trying but I get frustrated and give up when I give something my all.

    I learned while on the job and picked up some bad habits along the way. I’ve had to convice my boss over the years that cutting and pasting the same code in to a dozen places in an application is not a good idea. He has no idea what OO is and suggests that I only include files during development and then copy and paste their contents into code for ease of reading in the future. Heck when I showed up we had 2 windows products that did 99% the same things but focuses on different markets. My boss eventually agreed that it was a good idea to merge the two instead of having to make changes in two place and ending up forgetting to do something in one of them. My boss (he is also owner/president of company) does work on our VB windows products. He is of the mindset that he just wants to get stuff done (and he does) and I want to do it right but I get frustrated. It is the completionist versus incrementalist struggle to an extent. I want to lean towards beig a completionist but get so frustrated that I have to become an incrementalist to get anything done and even then it is a struggle.

    I surf the web way to much. Half of the time I am surfing I am looking up relavent programming articles but it is new and exciting stuff instead of just getting work done. For brief periods of time (a few days here, a couple weeks there) I feel inspired and get a lot of work done and complete projects. That is how I wish I could work all the time but it feels like no matter how much I try I just get frustrated until another one of the those periods of time come around. My boss has been happy and giving me raises over the last few years but I’m sure he knows that I’m taking way too long to complete many projects.

    We are going to more web based applications so I’ll have to improve or I will be holding our growing company back more than I have already.

  8. Jared 19 years ago

    I think when Rands says:

    In my next column, I’ll explain the most important tool a manager has to avoid the Fez.

    he doesn’t mean that he’ll explain how to get rid of Fez, but instead he means how to:

    1. Keep from allowing a Fez to develop on your team

    and/or

    2. Motivate a Fez away from his Fezziness when/if it starts to develop

    There are very few people who actively want to bring their team down. There are even fewer who actively want to bring their own career down.

    Knowing Rands’ past work, he’s probably about to reveal some way to make Fez understand that he’s become Fezzy before it’s too late, and to recover from it (with ‘separation’ being the last alternative).

  9. Daniel Roberts: I think you’ll find that you’re not unique. Most programmers I know (myself included) work in a similar fashion. Take Joel Spolsky for example – Joel tells us, “sometimes I just can’t get anything done.” [1]

    The answer? Well according to Joel you just have to “launch the editor”. Do you know what? Joel’s right! I’ve verified this myself on many occasions. The routine goes something like this: I can’t find the motivation to write code, I procrastinate, I browse the web… I fire up the editor and pretty soon I’m coding again – I might not be 100% productive but I do achieve something.

    When I can’t face tackling a new project/module, I pick an “issue” from the bug-tracker and work on a fix. Remember: You just have to keep walking forward!

    Employers have a role to play too. Both Joel Spolsky and Paul Graham [2] (amongst others) have written extensively on this. The environment must be right, the right tools must be available, etc, etc.

    Personally I don’t believe any programmer can be 100% productive, 100% of the time (not even Graham’s “Great Hackers”). Coding is like writing, or composing, or painting. You will have periods of greatness, but you’ll also create “filler” every now and again and, sometimes, you’ll create nothing at all.

    [1] http://www.joelonsoftware.com/articles/fog0000000339.html

    [2] http://www.paulgraham.com/gh.html

  10. Kindred 19 years ago

    Man, just want to say this article (and all of the comments thus far) have been spot on. Good insight guys/gals.

  11. Daniel Roberts 19 years ago

    Thanks for the links Jonathan! I have found a similar approach to what you described to really help. We don’t use a bug tracker but I plan work, such as bugs fixes and small enhancements, in my task list. When I feel I’m going to have a really unproductive day I just start with something small and that sometimes gets me going. If not, at least I got *something* done. When there is a small project that I have had trouble starting but I just need to get done, I’ll start hacking away on it. Even though it isn’t done the right way in my mind, at least I’ve made progress.

  12. brasten 19 years ago

    Thanks, Daniel Roberts, for your honesty in your comments!

    I, too, struggle with the tendency to not get stuff done as fast as I know I COULD. I don’t WANT to be that way, but I find that the Safari icon tends to get clicked when I should be aiming for the emacs icon.

    (A fact which is well demonstrated by me posting this comment right in the middle of my work day.)

  13. deckmoney.com 19 years ago

    Complacency

    Rands In Repose had a great entry yesterday about complacency in the workplace. The example is “Fez”, a worker who wrote a program which everyone depends upon, but which nobody understands because he did not document the code. “Fez” uses this to …

  14. Random roundup

    First, Todd is hosting a group of postings next week on customer service.

  15. The interesting thing is that my company seems to encourage, if not reward the Fezi of the herd.

    Our IT group is so compartmentalized and there is so little cross training allowed or encouraged that we have no choice but to become Fez. You find your niche, carve it out, and fight like hell to keep someone else in the group from replacing it. Technologies that are implemented by you only advance your piece of the pie, and no one else will even talk integration because they may have to actually show you something only they know how to do. We even have various levels of Fez. From the “i’ll never tell you anything because that is my job and you don’t need to be doing it” dictator unix SysAdmin to people like myself who have developed Fez-like work habits as a response to the environment.

    My question is: How do we, the people who don’t like being Fez, change our corporate landscape to stop this from happening? Do we get together and have an “intervention” with our management? Do we take our own time to cross train each other (those who want to) and try to break this system from the bottom up?