What If Linus Torvalds Gets Hit by a Bus? (2000)
crummy.com
crummy.com
My colleague was tragically struck by a car and killed about three months ago. The course suffered an immense blow to the knowledge capital it had - but due to the fact that we had planned to mitigate against key-person risk by pairing - the course was able to survive and retain a fair bit of the legacy my colleague left behind.
I just share this to say that the getting "hit by a bus" scenario is something that, much like this post, we throw around in jest and treat in a laissez-faire fashion. The fact is that it is a tragic, unimaginable, event that does in fact occur from time to time and something I will take seriously for the rest of my life.
I've heard "wins the lottery" as a less morbid metaphor for the same concept: one of your employees stops working in a low-probability event. Of course the higher-probability event is leaving their job (but somehow it's less polite to just say that); you usually get two weeks to hurriedly start documenting things, and with the current state of employee/employer relations you might easily get less. Or they might have several days of vacation saved up.
By contrast, a person being struck by a bus and killed has a definite finality to it. There is no going back. There is no hope of extracting knowledge from the once living individual. There is not even time to prepare. Their existence and their output has ceased and everyone alive must now live in this new reality.
That's not to say folks should be callous about it. But failing to think about things like this is also unfair and stressful to employees who are not dead.
Winning a lottery prize large enough to never talk to anyone again, and getting hit by a vehicle, are both very low-probability events. Employees (especially good employees, and perhaps in groups) leaving is a much more pressing risk.
> How much did they win? Maybe they’ll still keep working? Maybe they’ll go off to start their own company and take a bunch of key employees with them? Maybe they’ll be broke in a year and come back to their job? Maybe they don’t leave right away?
Well exactly. You don't know, and now you've given yourself four scenarios to think through:
1. Employee remains.
2. Employee leaves forever, maybe with others.
3. Employee leaves for a while but would come back.
4. Employee leaves, but with some time to plan.
1 should not be a difficult thing to plan for, and 2-4 all ask the same major question of "what if they leave". There's perhaps a slight benefit of not having to say "well assuming you are dead..." - I know I've had some time this year where I was trying not to focus on a death.
The key point is the risk. If your answer to "what if X wins the lottery" is "well as long as they don't want to leave..." then you're already setting yourself up to answer the question it's intended to propose - what if they are no longer working for the company?
if I suddenly could retire without a care in the world, I probably wouldn't mind dropping in for a day or two every now and again for knowledge transfer, even if I didn't like the company overall, to help my teammates..
In some key-person areas long notice periods (3months, for instance) are the norm. However this is never going to be the most productive 3 months of anyone's life! Serving 3 months notice becomes very dull by the end...
Occassionally a 2 year stint just so some Gen X-er that reviews their resume’ doesnt consider them too noncommittal
No need to mince words about people leaving
It's definitely not unusual for developers to stay in roles for a decade or more. Especially very good ones.
There is just a lot of stuff to build and a salary that needs to increase 30% every other year
If I posted the job offers I've received for having experience with Spark/Hadoop, building / productionizing machine learning models (since 2011 even), an AWS certificate, and 15 years worth of other worthwhile skills, people here wouldn't believe me because they are so low. Definitely well below the startng salary of someone at Google. Yet I've had three, all of which were basically identical.
https://insights.dice.com/2016/07/08/how-long-do-tech-pros-s...
Maybe some people stop wasting their lives tallying the years instead of tallying those 000s
In b4 “but I like my manager and team”
Personally, I'd be disinclined to interview a candidate with >= 3 jobs on the resumé, none of which lasted longer than 2 years. Taking into account the time spent for them to get up to speed, and the time their successors would have to spend taking over their code, it seems unlikely that their tenure would make much of a positive impact.
Furthermore, a key driver of experience in software engineers is maintaining their own code over multiple product cycles. Job hoppers not only don't acquire that experience, but may actively fall into a habit of bailing as soon as they get sick of their own code.
- Salary compression especially early on in your career is real. Most companies don’t do market adjustments after you are hired and only adjust salaries by a predetermined very low amount. The only way to get market salaries is by frequent job changes.
- If you have a job and people are willing to hire a job hopper, why not leave? At some point it will be a negative but when that time comes, just stay at a job until you get a better one. Also, if you do change jobs make sure it’s for the right reasons. For me, it’s technology, environment, and money in that order.
“Guys, I have some bad news. Brian, our star programmer, is leaving to work for a competitor.”
‘Oh no! We depended on him so much!’
“Hah! I’m just messing with you. He was hit by a bus and died.”
‘Phew! I was worried I had a job that didn’t pay competitively!’
http://wiki.c2.com/?LotteryNumber vs http://wiki.c2.com/?TruckNumber
It is an interesting phenomenon that I hear several times per year 'but what are the chances of this actually happening?'. The chances in any particular case are pretty good. But with 43 companies we looked at in 2018 and 100+ over the last years there are multiple such instances that I can refer to so even if the chances are not super high they probably are a lot higher than you think they are!
I do agree with other commenters that your procedures should keep you safe in case of regular churn (say 1 in 3 to 1 in 10) or even non-regular churn (say due to a toxic team-lead and a whole team quitting).
Ideally procedures should be in place that treats all these events quite equally and favor robust practices.
It started to get really frustrating and upsetting. I'm not exactly a "pair programming" zealot but I definitely find value in overlap of responsibilities.
> How can the community ensure that the Vim project succeeds for the foreseeable future?
> Keep me alive.
https://www.binpress.com/vim-creator-bram-moolenaar-intervie...
You can never have too much documentation - which isn't exactly what this dilemma is about - but still it raises an interesting bit of planning which should always be considered.
Years later I heard from my ex-colleagues that they not only used my brain dump, but were still extending it.
Seems like I was getting smarter without me ever realizing it ;).
We've both noticed that for nontechnical owners of small businesses that have a heavy software component, that owner is completely at the mercy of their lead developer. If that person leaves or "gets hit by a bus" their company might just die, especially since they don't really know what a Github is or how to log into anything. My friend is such a nontechnical person and hired someone to build his SaaS app. He has felt this risk himself but we wonder if he's just particularly perceptive.
The service would be, for a retainer fee per month a developer sits in on your planning calls, looks over all code committed to your repo, and over time documents how everything works and stores that documentation in a system outside of the company (maybe an external wiki or something). Then if your lead developer leaves, we'd help you find a new one and then train them on the codebase using the documentation created.
I assume this is a really common pattern for web sites in general. :-(
I don't imagine that this segment would be interested in paying for "continuity insurance", but they might grudgingly hire someone for "tech rescue". I guess that's a very different kind of service; I'm not sure if there's anything in between the two.
Very sadly I find myself agreeing with your assessment in general. However I was once seeking almost exactly this service, and I have to say I struggled to find what I wanted.
Having a developer continuously kept up to date might only be affordable for larger companies, which might as well have someone doing that internally. I also don't think a single person can memorize enough about multiple startups to be worth it: either they hear about each customer's tech stack at least once every month (that already seems quite little, but is already relatively expensive so far as insurance-type services go), or they won't be worth more than written documentation.
If there were 200 Linus Torvaldses then after one gets hit by a bus there would be 199 left. Even after the experiment there were at least 108.9 remaining. That should be plenty to keep Linux going. So what's the problem?
https://en.wiktionary.org/w/index.php?title=Torvald
I think this use of the genitive is a form of patronymic, like if someone named Torvald had a son named Einar, maybe that person could be called "Einar Torvalds" (that is, Torvald's Einar).
So it should probably have a Swedish plural
https://en.wikipedia.org/wiki/Swedish_grammar#Plural_forms
I'm not sure which declension it should belong to as a name (and I'll ask a friend to speculate), but the possibilities there seem to be Torvaldsor, Torvaldser, and Torvaldsar.
There are no Latin plurals in -i when the nominative form doesn't end in -us or -um. If you make a Latin plural of Torvalds, it would probably be third declension and something like Torvaldes (compare urbs 'city', urbes 'cities'), unless the consonants change in the oblique cases.
One falls down, a bus runs over his crown
98 angry Torvalds sending email, 98 angry Torvalds
I guess the changes of a coworker passing away are more than aws going down for a week. I guess I'm just overwhelmed by how many scenarios we need to plan for.
The article is now on the blockchain. It is not published (re-distributed) anywhere in particular. It's also encoded and not in the actual form of an article.
A temporary web mirror has at least a narrow time scope and a justification. Choosing to embed a copy of content you don't own into a permanently-public record is a greater offense.
Is it that I archived it on the blockchain, or that I shared a reader link to that transaction where the article is archived?
You're fine. I would not recommend doing this with texts which you dont have the copyright to.
But for better understanding, I would love to hear more about "embed a copy of content you don't own into a permanently-public record is a greater offense". What is this based on? Are there any known precedents?
Anybody making copies of that record, and anybody distributing them, would be (and probably already is) breaking the law.
But then, the one embedding it only broke the law once, by making and distributing one copy of the protected work, same as reposting it on a temporary web mirror. Worse, with a web mirror you make and distribute copies for every requests...
I try to cross train for a few reasons - I would never want to leave the company in a lurch if I find a better opportunity, I don’t want to be stuck on an implementation forever because I’m the only one that knows how to do it, and after awhile, I forget how the systems I designed works together.
* And, despite Nadella, it still is.
Legal processes take time, you typically need this info quickly in production. I'm not a VC, but if I was, I would want a backup plan in place before handing over an XX Million $ check. A smaller startup, or a seed level/pre-launch team may only have 1 or 2 founders with "admin" level access to this info.
I always thought a "Swiss bank account" type service for DevOps would be useful. It could handle this situation in a modern way (with a secure, modern API etc) and would execute a certain disaster recovery plan reliably.
Obviously centralizing that kind of data/ would be a security nightmare in itself. I'm curious how a larger VC with many companies deals with this consistently.
I know there are services available in different areas that specialize in handling certain data (corporate branding/identity, domain names etc) but not as a whole.
What does this mean? That nobody has access to production systems except devops?
Similar to how a Swiss bank is familiar with storing valuables/currency or executing a will.
This type of service would need to be modern in the sense the info can be updated over an API etc.
Anyone can create a DR plan and handle these issues, but then it isn't consistent, especially from a partner (VC etc) perspective.
cat > /dev/bus
It seems safe enough... the kitty cat is alive
Read: He went on vacation for five weeks.
Edit: wording.
(I'm also quite sure most languages today aren't Latin, namely English isn't. But what do I know, English speakers seem to have a different opinion.)
For some reason, people don't seem so keen on using French plural forms for French words: e.g. "animaux" and "journaux." Same with German ones, Italian, Yiddish or Arabic. Probably because borrowed words are mangled to the rules of the adopting language, like it's done everywhere.
IMO not only using Latin plurals in English doesn't make sense and is rather arbitrary, but it's kept around by people insisting on correcting others contrary to those others' intuition. It's time to stop.