13

I have seen many answers here where people suggest that an employee should try to ensure (through education or mentoring) that his workplace has a high "bus factor" (where he's not the only person who knows how to run a critical component of a business)

It would seem, though, that the opposite is true. If you have a bus factor of one (you are the only software engineer in a programming shop) you are indispensable. They can't fire you, they can't maltreat you, as they need you more than you need them (there are many programming shops, in this shop, there is only you).

Why would I want to change that?

444
  • 149
  • 1
  • 3
  • 7
    Sadly no employee is "indispensable". – New-To-IT Nov 30 '15 at 22:44
  • 1
    @JoeStrazzere: I agree with 99.9% of your answers, but not here. And you should know better too. By now, you must've worked with a handful of developers who are special. And by special, I mean - It would take 3-6 months to find a replacement. – Jim G. Nov 30 '15 at 23:33
  • 2
    I'd be careful of bluffing in these kinds of situations as companies can kick people out and in some cases may pursue legal action that isn't cheap for most people. – JB King Nov 30 '15 at 23:51
  • 8
    @JimG. sure there are a few developers that are truly special. But I doubt very many of them are working as the single developer in a small company, unwilling to help train others as a way to hold on to their job. If they're that good, they're deliberately training others so they can move on to a better job, where they continue to learn and increase their pay. – thursdaysgeek Dec 01 '15 at 00:29
  • @thursdaysgeek: Good point. – Jim G. Dec 01 '15 at 00:30
  • 18
    If you are the only person who can run the project; then expect never to move project (you can not work on another project because you can only support the current system), thus never get visibility (because you are always maintaining the system or fixing bugs), thus never get a promotion (Why promote a person that is only fixing bugs). Welcome to a dead end job. – Martin York Dec 01 '15 at 01:33
  • 1
    Because everyone will grow to resent and hate you? – Paul D. Waite Dec 01 '15 at 11:48
  • 2
    If someone in a company/department cannot be replaced, that company/department's manager should be replaced immediately. – Angew is no longer proud of SO Dec 01 '15 at 13:18

8 Answers8

27

Short answer: A good manager will quickly get rid of "Indispensable people."

If your company or department relies on a sole individual to hold knowledge or talent, you are doomed. It's just that simple. Sooner or later, through illness, vacation, attrition, or whatever, that individual will be unavailable at a key moment, and then you have failure.

Now, the "key" employee won't be "missed" because of the failure, they will be blamed for it. It doesn't seem logical, and perhaps it isn't, but that's what will happen. The only "defense" is to have a track record of training others to do the function(s), or at least a strong documentation trail of trying to.

Ideally, no function or role would have less than 3 people who could perform it. Anything less is going to cause problems.

Wesley Long
  • 63,364
  • 22
  • 144
  • 213
  • 1
    -1: You're out of your mind. Would Bill Beluchick get rid of Tom Brady? Would Steve Jobs get rid of Johnny Ives? Furthermore, what would a good manager do when managing a small team at a small company without deep pockets? – Jim G. Nov 30 '15 at 23:11
  • 7
    @JimG. less than 1% of 1% of 1% of people are the people like you describe. The number is so low statistically that it is irrelevant that there are exceptions to what Wesley is saying. Very few companies either want or need such people too. – HLGEM Nov 30 '15 at 23:19
  • The entire point of the bus factor is that even indispensable employees become unavailable due to the reasons WesleyLong just mentioned. And it's much better to choose the time that happens than to have a key developer get hit by a bus just before a critical product launch with no one to take over. The manager can pick a lull time in the development cycle to bring in a new dev and give him time to get up to speed. A small company without deep pockets is even more susceptible to the bus factor since they can't hang on long waiting for a replacement to come up to speed. – Johnny Nov 30 '15 at 23:23
  • 1
    @HLGEM: Tom Brady and Johnny Ives are indeed unicorns; but many people label their top 10% as "indispensable". And yet this person contends that a good manager will " get rid" of them and that they're rather easy to replace. The OP has clearly never managed either a sales or technical team. – Jim G. Nov 30 '15 at 23:24
  • 4
    Apple did get rid of Steve Jobs in the 1990s, Microsoft runs without Bill Gates being there everyday so there can be cases where someone that may be "the face of the company" does go away. People can get sick and then what happens if something has to be put on hold because someone is sick? – JB King Nov 30 '15 at 23:53
  • 3
    @JimG. The Psychology of Computer Programming was published in 1971 ... so this is old, deeply-engrained management wisdom: "If a programmer is indispensable, get rid of him as quickly as possible" – ChrisW Dec 01 '15 at 10:30
  • 2
    And as a point of information, Tom Brady is not a bus-factor-1 employee. He was hit by a bus (well, actually by Bernard Pollard) in Week 1 2008, the Pats went 11-5 and only missed the playoffs because the AFC was just ridiculous that year. Of course the Pats do better with Brady than they do without him, but he is not the only person in his organisation who can do the job. He's just the best at it. Managers in any industry should understand this: your bus factor isn't the number of lost people that cause you problems, it's the number of lost people that stop you doing what you do. – Steve Jessop Dec 01 '15 at 10:46
  • 1
    @ChrisW: Aha! First of all, +100 to you for referencing Weinberg. Indeed, I have read this book too, and it is awesome. Interestingly enough, I forgot that quote, but consider what Weinberg says in that passage: It does not mean any programmer of higher than usual talent. Talented people, all other things being equal, should be kept. – Jim G. Dec 01 '15 at 11:30
  • @ChrisW - Thanks for sourcing that. I'd been paraphrasing that for years, but couldn't remember where I read it. Thanks for the lookup! – Wesley Long Dec 05 '15 at 17:21
19

Hoarding knowledge is a great way to ensure you never get promoted and that you stay on the old legacy projects when the new stuff comes along. It is a great way to never get to take vacation. It is a great way to be blamed for every problem that happens. It is BAD for your career. Information hoarders are often sabotaged by the people they harm with their selfishness.

Companies value team players, people who share knowledge rather than hoard it. Companies value people who can accomplish things and mentor others at the same time. If you want to move up, you need to train your replacement before moving up.

Companies promote people who fit into the company value structure and not just the technically skilled. Technical skill is roughly 20-30% of being successful at a company. Destroying your ability to be successful at the soft skills that make up the majority of what you are judged by just so you can maintain technical superiority is counterproductive. When you hoard information, people stop cooperating with you too. Think about it, how much do you want to help someone who refuses to help you or share what he knows when you need it?

HLGEM
  • 142,324
  • 26
  • 258
  • 516
  • 2
    -1: I wish you were right about "hoarding knowledge", but you are very wrong. I know many people who climbed the corporate ladder because they retained special company-specific knowledge. – Jim G. Nov 30 '15 at 23:35
  • 3
    And I have known many who were fired or laid off or who stayed at a lower level. – HLGEM Nov 30 '15 at 23:36
  • 11
    Agreed, "too important to fire" also equals "too important to promote" and "too important to be allowed to work on interesting new projects". – Carson63000 Nov 30 '15 at 23:43
  • @HLGEM: I'm not recommending that anyone hoard knowledge. It's counterproductive for many reasons. Still, your categorical statement is false. Please delete it, lest you mislead others. – Jim G. Nov 30 '15 at 23:43
  • I disagree that companies value people who share information. It took me several years where I am for me to get enough people to actually take any of the information I was constantly putting out there where I could reduce my bus factor to the point where I can finally start looking for another job without worrying that the company will fold. – Amy Blankenship Dec 01 '15 at 16:38
  • I don't see how someone who is indispensable cannot get promoter... If this persons pushes forward or leaves, if this person is truly needed, then he will be promoted. – dyesdyes Dec 02 '15 at 21:58
  • @Dyesdyes, no he won't. Promotions should lead to new duties or it is not a real promotion. If no one can do your current duties when you move up, then they can't promote you. I have seen many many people get held back for this reason. – HLGEM Dec 02 '15 at 22:27
10

A few things you should consider. First up: absolutely everyone is replaceable. From the CEO on down to the janitor, everyone can be replaced. So the idea that they "can't fire you" or that you are "indispensable" is provably false. What do you think they'd do if you just suddenly didn't show up to work anymore? They'd hire a few people to come in, clean up the mess and get things back on track.

Second: if you are the only developer who has knowledge of a particular system then it is highly probable that the system isn't quite as "mission critical" as you believe. Further, there are smart developers everywhere who know how to jump into a code base and quickly pick up where the previous owner left off. Will they make mistakes? Yes. Will it matter? No, because people have a lot of patience when new people join a team.

Third: People who are willing to share domain knowledge and have a track record of helping their coworkers are highly valued by any competent business manager/owner. Conversely, people who hoard knowledge and are unwilling to teach others how their stuff works are viewed with suspicion and often find out that they aren't as "indispensable" as they thought when management walks them out the door.

Fourth: Any relationship that is held together by fear or threat won't last. The day you ever indicate to your manager that you believe they can't fire you will likely be your last (or close to it) at that company.

Point is, your concept of the position you are in isn't conducive to long term employment.

NotMe
  • 23,390
  • 5
  • 70
  • 104
  • 1
    -1: But some people are much more difficult to replace than others. Sounds like you only have experience working with people who are in the center of the Bell Curve. Good luck, dude. – Jim G. Nov 30 '15 at 23:14
  • 5
    @JimG,there is no reason to down vote reasonable answers because there are a very tiny number in the top end of the bell curve. Encouraging people to think they are those special snowflakes is irresponsible at best. – HLGEM Nov 30 '15 at 23:23
  • 1
    @HLGEM: I'm not talking about snowflakes. I'm talking about employees who are a standard deviation to the right of the center of the Bell Curve. – Jim G. Nov 30 '15 at 23:26
  • 5
    The vast majority of employees that think they are irreplaceable are more replaceable than they think. Any developer that writes code that can't be taken over by a new developer is not a good developer - if code is not maintainable by a replacement developer, then it's just not good code and the company should get rid of that "irreplaceable" developer soon rather than let him write more unmaintainable code and have the company get deeper in the technical hole. – Johnny Nov 30 '15 at 23:27
  • @Johnny: You're out of your mind. Can "anyone" write Google Search? Can "anyone" write the ReactJS framework? – Jim G. Nov 30 '15 at 23:31
  • 3
    @JimG - I see at least a half dozen names on just the first page of ReacJS's github commits, and there must be hundreds of developers working on Google Search, so I'd say, no, not just "anyone" can work on large complicated projects - it takes a team. Do you think reactJS will just fade away if Paul O’Shannessy is hit by a bus, or Google Search will stop working if Serge and Larry Page stop coming to meetings? – Johnny Nov 30 '15 at 23:36
  • @Johnny: LOL! And everyone contributed equally, right? Just like a youth soccer team! Everyone gets a trophy! – Jim G. Nov 30 '15 at 23:38
  • 5
    @JimG.: I stand by my statement - everyone can be replaced. Yes there is a cost to the replacement but someone can be found that can do the job. To think otherwise is to deny reality. – NotMe Nov 30 '15 at 23:46
  • 1
    While I agree with bottom line "everyone is ultimately replaceable", there is important reasoning missing. By "replaceable" usually we mean "economically replaceable" and by this criteria you're wrong: some people are irreplaceable. However, management rarely realize magnitude of such costs so they will replace such persons just out of incompetence. – Agent_L Dec 01 '15 at 08:59
  • @Jim G. To answer your question, not "anyone" can perform any given task but for any given task someone else can be found to perform it. – Cronax Dec 01 '15 at 11:42
  • @Cronax: You're right, although sometimes it's not easy to find "someone else". – Jim G. Dec 01 '15 at 11:49
  • @NotMe the question is not "can a replacement be found," but can a replacement be found, trained, and become productive in whatever window the company has before a critical deadline is missed (or more than one)? Sometimes what makes a developer valuable isn't just how good they are at writing software, but domain knowledge of what the software should do, which often isn't written down (and the replacement would still need time to read and fully comprehend what was written if it is). – Amy Blankenship Dec 01 '15 at 16:33
  • 1
    @AmyBlankenship - if the answer to that question is "no", then that's all the more reason to replace the developer that won't document the assumptions behind the software or cross-train a coworker to understand the software. Because if a replacement is that hard to find, then the proverbial "getting hit by a bus" event (or an extended illness, or a sick or dying family member, or even a 6 month trip to the rainforest, etc) is going to have an extraordinary impact on the business. Better for the business to choose when that impact hits that to let random chance decide. – Johnny Dec 01 '15 at 18:14
  • @NotMe, you assume that a developer is not documenting because he/she doesn't want to vs. what is the reality in most places, that time spent documenting is not valued. And there are some things you can write all you want about, but until you have some experience with the domain you won't understand what's written--this is why we pay experienced developers more than inexperienced ones even though all of them can read the manual. I'm curious about what you do that's so trivial that any idiot could pick it up by reading docs. – Amy Blankenship Dec 01 '15 at 18:44
8

Aside from the excellent points raised in the other answers, consider the impact of being "indispensable" on your own non-work life. If you're the only person who can troubleshoot a critical application, then every time the system hiccups, your employers are going to expect you to be johnny-on-the-spot to diagnose and fix the problem. Expect a lot of evening and weekend callouts, difficulty scheduling vacations or even taking sick leave. You might think your indispensability will give you the ability to push back, but you'd be amazed how aggressive management can get when a key system goes down and YOU are the bottleneck to getting it fixed.

Charles E. Grant
  • 8,313
  • 4
  • 25
  • 32
4

It takes great skill and experience to create a system that other people can run without you. Likewise it is easy to write software, but hard to write software the other people can maintain.

In the long term, anyone can be replaced regardless of their bus factor……. But it is a lot harder to find someone that can be depended on to have a high bus factor.

So by making yourself easy to replace on your current projects, you are making yourself a lot harder to replace on upcoming projects.

Ian
  • 1,387
  • 9
  • 10
2

You're partially correct, it's not ideal for an employee to make sure the company has a high bus factor at all. It's ideal for the employer. Smaller companies sometimes cannot afford to have multiple people proficient at the same job.

Obviously if you can make yourself indispensable or as hard to replace as possible, the more bargaining power you have. I have had jobs where I could basically tell the manager to get lost if he annoyed me. Because they'd replace him before they could replace me.

The important thing is not to assume you're indispensable when in fact you're not. Because any good employer should be aiming at a high bus factor as you call it, and may well have already thought of that scenario.

Kilisi
  • 222,118
  • 122
  • 486
  • 793
  • I don't think it's true that it's not beneficial for the employee -- I used to work for a small company where there wasn't enough staff for cross-training, every time I went on a vacation or was out sick, I had to check email regularly and stay in touch in case something that I was responsible for broke. Now I'm at a larger organization that promotes (and expects) cross training, so I can leave town and relax, knowing that if something breaks, someone else can take care of it. – Johnny Dec 01 '15 at 03:37
  • In my situations I prefer it because I can ask for and get a raise easier. I also do not have to worry so much about office politics interfering with my tasks, I have not found a down side. Pressure to keep everything working doesn't worry me, that's the cost I'm happy to pay for the advantages. Checking emails is not hard, remoting in for a couple of hours if I have to isn't difficult either. – Kilisi Dec 01 '15 at 20:16
2

Don't forget Murphy

Don't be irreplaceable, if you can't be replaced, you can't be promoted.

That might serve as one of the reasons why you shouldn't try to be indispensable for any certain position at work

Hanky Panky
  • 909
  • 6
  • 15
2

Here's an addendum, in addition to the other answers: there was a saying that, "What's good for General Motors is good for America".

In this context, what's good for your employer is good for you. If decreasing the bus factor is good for your employer (helps your employer's business) then it's good for you too (if your employer goes out of business because of staffing problems then you lose your job).

Furthermore, job security consists of your personally having a good professional reputation with the people you work with. If you behave well, behave ethically, then you'll have a good reputation. If you have a good reputation then even if your current employer goes out of business, former colleagues will invite you to work with them in their next ventures.

Future job security isn't so much whether you can keep this job: rather it's whether you can get your next job.

ChrisW
  • 2,726
  • 12
  • 22
  • !1 This addresses something that the other answers don't: what kind of 'indispensable' do you want to be? The kind where you create so much value that when you leave (and you will leave) they say 'man we sure miss that guy/girl' or the kind where they say 'was brilliant but difficult to work with'? Do you want a portfolio of glowing references or a string of co-dependent jobs?
  • – Jared Smith Dec 01 '15 at 13:01