Terminating an employee with a bus factor of 1
workplace.stackexchange.com
workplace.stackexchange.com
I was the solo IT guy for a marketing company for 15 years. They always treated me fairly, but as time went on, there was less and less work. They outsourced the job, and gave me a 3 month severance, with health insurance (like I was still working), contingent on my cooperation with the consultants they retained to replace me.
There were no hard feelings at all. From time to time for a decade I got the odd call with questions, and was glad to help as much as I could.
I fielded questions for my team for 5 years or so. That was awesome. I felt like I had a little legacy there! I didn’t get paid, but the extent of my help was a short call, response to an email, a slack message, etc. I was happy to help. I really liked the people I worked with.
This seems a bit light if you are literally the guy who keeps all the lights on. I'd expect at the very least to transition you to a consulting contract at a very generous rate to ensure your continued cooperation.
How much do you think the consultants that they retained to replace you cost?
I was hired as employee #2 for a critical team at my company. For the first 3 months, my colleague and I worked closely together on everything I was doing. From production problems to day to day PR reviews, I had no one else to ask besides my colleague. We didn't even have a manager we reported to. Then suddenly I was told they didn't work at the company anymore. I was told they were still available for 2 weeks on Slack for any knowledge transfer I needed, but they would have no other access to our network, our Github, or anything else.
My advice is that option 1 in the SE question (hire a replacement, then terminate) should be avoided. How is that going to look to the replacement? It really shook me up. I was only a few months in, I didn't have time to build trust in the company yet. If I could have, I probably would have went back to my old job right away. Then what happens to that knowledge you were hoping to retain? A year later I still wonder if someday the same will happen to me.
Instead, I would recommend approaching the employee and working out a deal for them to amicably train a replacement. The replacement should know going in that they are a replacement and they should be told to focus on training themselves and others on this knowledge. If they don't agree to the deal then you fire them immediately. Yes, that'll suck, and maybe you even have a production problem because of it, but you can make it work.
What a shitty way to start my shitty career.
> I quit when we got back to the office.
Wow. Just wow.
Unlikely (because he's dead), but... small place, hired directly by the owner, exactly one colleague, told (over a meal) you're going to take over his job.
I'm not invalidating your decision, maybe that owner really was an asshole, but I don't think the move in itself is deplorable.
But you're right, I didn't know them enough to judge who was in the wrong. I think that was the problem. If he'd just fired the guy without telling me, I'd have been surprised but there wouldn't be anything I could do. Instead, he effectively gave me a choice: stay and someone you barely know loses their job, or leave.
this does nothing but hurt the business. it hurts the person being hired the most, which in this story is you, because that new hire will still happen and they won’t have as good of training.
Oh, and no one above that guy either. He was the owner of the business.
Okay, I'm with you so far.
> then get said management fired.
Then draw the rest of the fucking owl? How did you do this?
So obviously, additions or changes all had to go through him. I’ve never seen such aggressive gatekeeping before or since. I’m still a little impressed!
Fortunately masters in this art have codified it's techniques in this classic tome: https://github.com/Droogans/unmaintainable-code
someone refusing to fix that when asked would instantly be on the "fire at next opportunity" list.
This is one of the greatest troll documents since the textfiles days. Outstanding!
If this was like the 90s this VCS was all the rage at about the same time "making yourself un-fire-able" was.
I’ve worked in tech 30 years. I’ve seen dozens of “indispensable” employees leave voluntarily. I can only recall one time where the company even had a question that they’d wished they could ask the departed employee.
In one case finding the source code took 8 weeks, at the end of that recreating everything from scratch was being seriously considered. The crazy thing is the employee explained where everything was when they left, the other person simply didn’t understand the details.
I have been that bus-factor-1 employee. I raised my concerns to the CEO several times, and it always looked like this: "I am a bus-factor-1 employee, this is bad - please teach somebody else in the company - I tried and failed, nobody has the prerequisite knowledge, nobody understands me when I try to teach". This looks very much like the situation that you are describing. I'd say that "bus factor 1" is not necessarily the root cause of the lost knowledge - it might be a consequence of other hiring mistakes.
I had also seen this in a different company (but not in the context of a person leaving) when we hired a single machine-learning specialist. I watched his struggles to communicate with everyone else who didn't have the background.
In a different company, I was on the other side of the stick - an employee who did not have the prerequisite knowledge to be the target of knowledge transfer. That's also really frustrating - due to not meeting the (unreasonable) expectations and "learning too slowly," I had to go to a psychiatrist and eventually left.
This happened to me many many years ago at a job I thought I left on good terms with. Times were tough in the company's particular industry and I got laid off. Wound up working elsewhere in an unrelated industry (still doing sysadmin / netadmin / code monkey type stuff).
Fast forward a year and I get a phone call from a new guy at the old job on speaker with the office manager demanding I give them a bunch of passwords to systems (as though I'd kept them). Very accusatory that I hadn't documented anything when I left, they might have to sue me, etc. It caught me very off guard but I had the sense to simply tell them they knew where to send their legal threats and hung up. I never heard from them after that.
I found out through a former colleague that basically, at the suggestion of a vendor, they got rid of Sharepoint to "save on licensing" and migrated to Google Docs. They didn't really do the migration part properly and lost a bunch of data, among them a bunch of system passwords they hadn't bothered changing after I left.
It goes from: someone who can literally look off into the distance during a meeting and go "hmm yeah I just did the architecture design in my head, this won't be too bad of a project, it'll probably take 2 people 1 quarter and one of those people has to be either Alice or Bob" and then you do it and it works and it's great.
And goes to: "we'll have to do a 2 week discovery phase where one of the senior engineers goes in and reads 5 years of source code for 3 days and then mulls it over for 2 more and then does a design and confers with 2 other people so we can patch together the knowledge we lost when <veteran from first example> left"
It's damaging. And it somehow has a habit of reinforcing itself - more people leave, you end up never having people who have more than 1-2 years of context and everyone's context overlaps less. And management never cares, somehow, since all their bs metrics for productivity correlate so poorly with actual work getting done that they don't notice and in fact think the situation is improving.
And it doesn't happen just with software development, both as individual customer and employee I have cut ties with companies of all kinds after they lost their most valuable employee and the replacements would need years(if ever) to provide equivalent service. Probably most people have done this after service greatly degraded without being able to pinpoint it to an specific employee (e.g. the cook in a restaurant).
The problem is that having someone to ask would help solve an issue in about 5-minutes to an hour whereas without this ability it becomes a multi-day/multi-week endeavor involving multiple engineers and likely will require a couple of iterations.
Management never correctly factor in not only the amount of time required to address an issue but also the opportunity cost of developers that could be making forward progress on other issues rather than picking up slack, etc.
And the reason this happens is that metrics for productivity tend to just be random nonsense.
You might end up having to dig out of a hole and that will suck. But just don’t let the hole form next time and take a lesson from the experience of digging out. Explain to the remaining staff how in the future we need to cross train and document, and use the “what if a bus hit someone tomorrow” parable. Folks might not relish the dealing with the mess left over, but sounds like they will appreciate the person not being in their workplace anymore.
If management is concerned about losing someone with a bus factor of one, how concerned should they be about "the whole team walked because they realized the company sucks and protects abusers?" People in this business are tired of technically competent assholes getting a pass.
I’m inclined to believe that there are no innocent parties in this workplace.
The best solution to that problem is almost never to simply get rid of that employee. Why would you be confident that a replacement would set up and do it all? Would any of your current employees do that? I assume not, else you would have them doing it by now.
Just because something is in a job description does not make that thing feasible, let alone reasonable. Too many employers are willfully blind to that reality.
Figure out that threshold, document that minimum, and then let the person go.
Possibly the situation changes while doing that, but if the decision to transition has been made, then stick to it.
The severance package in one of the other comments is important. Even if the person has to go, the departure need not be as acrimonious.
Wikipedia's sources suggest it's a metaphor conjured by developers, as you suggested:
> An early instance of this sort of query was when Michael McLay publicly asked, in 1994, what would happen to the Python language if Guido van Rossum were to be hit by a bus.
> "Truck number" was already a recurring concept in the Organizational Patterns [of agile software development] book published in 2004, itself an evolution of the work published in the first book of the Pattern Languages of Program Design series in 1995, which was the publication record of the first Pattern Languages of Programs conference in August 1994, where it was referenced in patterns including Solo Virtuoso. ... It was seen in engineering by 2003, and the Debian project in 2005.
It is a lot less neutral to say an employee was "fired" or "quit"
For anyone who hasn't led a wonderfully sheltered life that lets them conceptualize the situation as if it were something out of a "Looney Tunes" cartoon, it's going to evoke imagery of pools of blood and viscera on asphalt.
Not the kind of mentality you'd usually expect from an HR department.
I have always trained new employees in the use of puttygen and pageant for logins without passwords.
I take care of tablespace problems regularly, that would prevent trucks from leading our loading dock.
I don't have to take malicious action; all I have to do is walk away. And they know it.
The former types sometimes proclaim being irreplaceably good, when in reality they’re living out their power fantasies, and were at some point bestowed with all-powerful access. They’re trustworthy, but fungible employees, certainly not kept for their tech chops. I find this to be a weird type.
I am now rewarding people and showing by example that you should find ways to make yourself redundant. Be able to go on vacation for 2 weeks while not receiving any calls, etc. The only person that is allowed to not be redundant is the owner of the company.
As to advice how to deal with the problem, it would very much depend on the history and combativeness of the employee. If the employee is very combative and a potential risk of doing something stupid, I would fire him immediately.
The benefit of this is you reduce a chance he will do something really stupid. You also show to the rest of the company what is and what is not tolerated.
If you have relatively good history and the employee is not combative and potential risk of doing something stupid, I would reassign another employee to get as much knowledge transferred. You want reassigned employee because it is already going to be hard following the guy even with the organisational knowledge. Ideally, you also want this person to be relatively high level, intelligent person that knows how to deal with ambiguity, manage problems, etc.
If he isn't cooperating, I would bar him from touching anything and force him to only work through the assigned employees in training under threat of immediate dismissal. So if he cooperates and works through those employees, he benefits in being in employment for longer, potentially having more chance to find replacement job.
Obviously, this will not solve the problem, it will only blunt the blow a bit. If that person had a long time to build his castle, it will be very difficult for the replacement to get the hang of it and a lot of knowledge is going to be lost forever. That's unfortunately unavoidable in this situation unless you really want to shower the person with gold to pass all that knowledge. But this is dangerous as it normalizes this type of behaviour and you really don't want your other employees' main takeaway from this to be that making themselves critical is the best way to get rewarded.
If they created the company just to feel important and needed then who am I to tell them they need to make themselves redundant?
Obviously, there are good reasons for the owner to actually be redundant and if I was advising them, I would try to argue that the business might be healthier and their ownership less risky if there are other people who can pick up the responsibilities of the owner.
For example, I have seen companies where the owner would be the only person to have access to the company account and pay out salaries. The issue with this is that sometimes he would be busy and salaries would not be paid on time but maybe a day or two late. The owner never ever lived paycheck to paycheck so had no empathy to understand what is this feeling of uncertainty doing to his people who expect and depend on the money arriving on time.
Obviously this was a serious legal problem. But I argued with him that even if it wasn't he would still benefit from somebody else having access to the account and making payments on time just to avoid damaging morale of his entire crew.
In this case, the owner could not stand the feeling of surrendering the access to the account to an employee. I advised that he makes two separate accounts, one where he keeps majority of funds that he and only he can access and the other which has enough of cash on it to allow his employees do day to day business without disruption. This way any damage from an employee would be limited. That placated him somewhat and in time he started to enjoy the feeling of not having to be constantly pressed for time to various payments and started keeping larger buffer.
Could some 'security testing' also require that consultants have overarching access, and at some point indirectly remind the troublemaker that there would be legal repercussions for an employee misusing access/control?
Many, mostly small, companies just cannot justify an IT department to mitigate Bf1/2 risks. Also, most times this bus factor problem manifests in non-IT jobs too: sales, contract law, accounting functions.
Small companies need to first become big companies to afford de-risking from BF1. Part of the growth story really.
> Harassment is one of the reasons. They also regularly make unprofessional and inflammatory comments. More technically, if they're not interested in a certain aspect of their job they simply won't do it.
Makes me think that this was a long standing issue and they kept him on because he kept the lights on even with being a bad person to work with. In my professional experience people usually show their colors early on if they're one of those kind of employees, even if they're a core pillar of the company.
A employer should be able to talk with an employee about issues or notify them with with reasonable time that their position is changing.
I know at least that I prefer to work in those kind of environments. I prefer to be approached and trusted with the information (good or bad).
Otherwise, how can we even work effectively as a business?
OPs situation does seem challenging and if the employee really needs to be fired for cause, then why prolong the inevitable?
My story: I was hired by a massive global company to be the London counterpart of an employee in New York. They had hired this guy to run their Linux servers when Linux was a scrappy little experiment for them and very quickly all of their global businesses relied on Linux and they had about 200 Linux boxes globally which were not approved by IT and were supported and maintained by just one dude (who was a contractor on a visa btw. This will become important in a sec).
So they realised this one guy was critical and wanted to try to hire him permanently and also hired me to work with him so all this critical infra wasn’t only in the hands of one person. Now he said he had discussed the transition to permanent with his agency (but he hadn’t) and when they found out they immediately sued my new employer. So that was day 2 of my employment. I had flown to New York on what was supposed to be a 2 week stint to learn the ropes before coming back to London[1].
So all of a sudden because his contracting company sued they had to shut this guy out which meant his visa status was revoked and he was going to get flown out of the country. And because of the legal action my new employers were enjoined from speaking with him at all.
So there I was, suddenly sysadmin for about 200 boxes with (of course) no documentation and in a position where if they went down we stood to lose literally millions of dollars. And all I had had by way of a transition was to be added to the sudoers file (globally) and a friendly chat[2] where we had said no need to overload me while I was jetlagged and over the next two weeks he would hand over all the knowledge about how things worked etc.
The point is, there were bumps on the road but the transition worked out ok. We figured out how everything worked and gradually I put everything in a position where if I had to leave they wouldn’t be in that predicament again. I also hired my replacement(s) and moved on to other things within the same organisation.
[1] Eventually ended after 4 months when my visa was expiring so I had to fly home
[2] In a “subway” of all places
Ahead of time, inventory all systems and ensure logins.
We had to let go several behavior-related folks over the years, and only 1 case where we really needed them after the fact: never for their knowledge, just 1 account access. If you hire smart people, and build in sane ways, few people are truly indispensable, esp around code. Having experienced that reinforces the idea of building a professional team, not hiring rockstars.
Then bring some auditors in to assess. And given the lack of doc, bring some consultants to 'offload' the documenting work.
Usually toxic employees do not like to write documentation. But like to brag about their design to juniors.
Saying fuck you, you make me rich, and I resent that I can’t get rich without your effort is no way to act, even if you can get away with it.