6 ms·
Maybe companies need some kind of "Chaos Monkey" system [0] in place for regular employees. Not in "terminating" random employee's contracts, but a culture were
by sdoering 5y ago
Maybe companies need some kind of "Chaos Monkey" system [0] in place for regular employees. Not in "terminating" random employee's contracts, but a culture were regular, maybe even some kind of random transferals onto other projects, or onto internal work regularly happens.
Everybody knows this and everybody should be prepared to a situation that tomorrow they are not working on the same problem they work on today. How would they structure work? How would they share knowledge? What can the organization to to ensure there always are fallbacks to everybody? At least fallbacks that if not perform at 100% but still on 80 - 90%.
Sadly in my org this would not work of the get go, as we often have personal access tokens to our clients' systems. This is sometimes even a contractual obligation as for specific clients we need to be vetted. But even in these cases we could be reassigned/reshuffled towards a slightly different proposition or at least be reassigned to an internal topic for a few days - just like we would not be able to work if we fell ill.
[0]: https://github.com/Netflix/SimianArmy/wiki/Chaos-Monkey https://github.com/Netflix/SimianArmy/wiki/Chaos-Monkey
- lliamander 5y agoPeople who work in finance are often required to take a two-week vacation every year. It's a good "bus" test and also a good way to find fraud.
- robin_reala 5y agoGenuinely the most weirded out I feel by the US is holiday culture. If a report took just two weeks I’d be asking them if they were sure they didn’t want a proper three week holiday (and I’m legally obliged to OK a four-week stretch over summer if the employee has the days available to take).
- blitzar 5y agoFinance is a mandatory continuous 2 week holiday with no access to company facilities or systems every year. Plus all the other holidays. Sadly for some mostly junior US employees the 10 days for compliance leave left few other holidays - for the rest of the world, you still have 20 more days to use.
- hanselot 5y ago
- BigJono 5y agoNah, this isn't a great idea. It's not that far off what most companies do anyway. I think most companies have a misunderstanding of what the problem is. The problem isn't that a particular piece of knowledge isn't distributed, it's that all the knowledge isn't distributed (because it resides with one person). You don't want to go crazy with duplicating knowledge amongst the team, you just want to split it up. One hero is bad. Zero heroes is worse. You want lots of heroes. Trying to create a structure where anyone can jump into anything at a moment's notice just leads to everyone having a superficial level of expertise in everything and no responsibility (or worse, responsibility that they can't possibly fulfill so they just get thrown under the bus if they don't hit impossible delivery targets). All that does is move you from one hero to zero without waiting for your one hero to quit. It's resigning yourself to the bad outcome just to get it over and done with. The tricky part is that the 'one hero' structure tends to form pretty naturally, so you have to actively take steps to prevent it. If you put a standard team in place and let it run wild, unless the devs understand this problem initially, then eventually you'll just end up with everyone deferring up the chain of command for both knowledge and responsibility over time until a few years down the track whoever was the technical lead on the project is now your hero. I much prefer to have an ad-hoc structure where important work is divided up amongst the team and each team member takes total responsibility for their part. More senior staff shouldn't be trying to own more code and more responsibility, they should be providing more support to others. EDIT: I don't think I actually explained how distributing responsibility solves the bus factor problem, whoops. The idea is that part of that responsibility is for managing the bus factor of your own work. This only works if the code you're responsible for is small enough that you can realistically bring another dev or two into the fold and get them ramped up properly with real understanding of the code.
- lupire 5y agoN single points of failure is far worse than 1.
- BigJono 5y agoDepends what the failure is. If the important stuff is scattered around 20 different devs, one leaving is significantly less of a problem. I'd much rather piece together what someone was doing on one piece of work than have to try and piece together an entire 20 person project because the only one that knew how to drive the project left. Also, if you own code and are responsible for it, part of that responsibliity should be making sure you have someone with just enough knowledge of the code to take it over should you leave. That's far more feasible if you own a small piece of it than if you own an entire code base.
- OGWhales 5y agoI think this method talked about by another commenter here achieves a similar goal, but is more reasonable than chaos: https://news.ycombinator.com/item?id=30697309 https://news.ycombinator.com/item?id=30697309
- sdoering 5y agoYeah. I see what you mean. This banking regulation to reduce and investigate fraud serves a similar purpose. With around 6 weeks of vacation time banks already have a great system in place as vacations tend to work like a force for handovers.
- hinkley 5y agoYou can get a good slice of this by encouraging people to actually use their vacation time.