To make workers replaceable is to rely mostly on the knowledge you can reasonably expect to regain on rehire. Remember: Management (up to owner-management) are also workers, so running some kind of special culture-and-knowledge preserving über-organization is predicated on somehow retaining the structures that support and maintain this secret sauce. Military services around the world have researched this extensively (for obvious reasons), then again, we refer to a well-seasoned and experienced practitioner as a veteran. Veterans are invaluable in military service, as they are in any other endeavor. Trade them off against ease-of-management at your own peril.
Not there either. You mess up more in the beginning. Experienced workers have better flow.
Anyhow, this military comparison just keeps sprouting thoughts in my head. Isn't an owner-management almost perfectly comparable to aristocratic officership? Is GGP's theory of defensible churn basically a modern incarnation of feudalism and aristocratic privelege?
I never said that experience isn't valuable. The question was whether experience at a particular company was more valuable than experience outside of it. Every time you hire a senior engineer from another company you learn a bit of their secret sauce, making your company stronger. Participating in that knowledge trade is extremely valuable, and without churn you will be left out as most of your engineers will have mostly experience from your company, that is a really bad thing.
So too is believing it is anything more than a community of individuals, cooperating on the basis of shared- and tacit knowledge as well as skill to perform the different tasks that comprise business operations. Tacit knowledge and skill resides in the specific individuals, and shared knowledge in the specific relations between individuals. Losing an individual is losing part of aggregate tacit knowledge and skill, as well as all the specific relations shared by the individual. The organization as a thing-in-the-world loses part of itself not captured by it's charter and governing contracts (or share value, or business strategy, i could go on). These things are hard to quantify on the best of days, so to assume (or even mandate) that this cost is incurred with net benefit (by, as you say, hiring some industry heavy-hitter who is expected to bring the goods) is fraught with unknowns, and on balance likely hubris.
From what I understand there is no such other occupation that is sharing so much information between people. You have blogs, loads of free and paid materials, you have loads of conferences where you can send your staff to see "how others are doing it".
Other thing that I often see ... a lot of developers really invest in "outside knowledge" and common problem in dev teams is building stuff with new shiny tech or in a new way they saw on the conference.
Fortunately, we developed systems of writing, so that the limit to this relearning is higher now than a few millennia ago. (Society does the ultimate “rehiring” continually.)
I think that far too many companies (including my own) rely much too heavily on “things that are in people’s heads” and don’t spend enough time and money on making the company knowledge effectively outlast any individual employee, making it easier to put the essential knowledge into new people’s heads.
Society doesn’t rediscover pi, e, I, and calculus from first principles every half-century, but rather we’ve instituted that knowledge into books and mechanisms of teaching.
On the scale of lifetimes, I don't think we can refer to it as "churn" as understood in the context of a modern company.
I'm being facile, of course. Developing a good library of knowledge as you propose is hard, takes a long time and many iterations and there is the unfortunate matter of time taking it's toll on the relevance of such recorded knowledge (esp. in our line of work). Not to mention costs. Even academic institutions, who are in the business of doing exactly this, guard their staff with tenure (some of the staff anyway, the big boys)
Slide along the scale towards more and better documentation and our perceptions might diverge. I don't think all the valuable know-how that goes in to fulfilling a specific role in a larger organization (and in particular the marginal knowledge, relations and skill that increases performance) can be captured in words. Even if it were, there is so much of it and it is full of subtle nuance and context sensitivity. On top of that each individual person takes to different parts of it in different ways. The things you can only learn by jumping in at the deep end. We all know, deep inside, that this is the stuff that matters and I see no reason to play charades and pretend we can know or see how even half of what we do really works. If we did, the world would be a very different place. Until then: tacit, implicit, context bound and relation contingent knowledge and skill will be the light that shines on our practice; and what we can put in to words, a mere shadow.
> Society doesn’t rediscover pi, e, I, and calculus from first principles every half-century, but rather we’ve instituted that knowledge into books and mechanisms of teaching.
How long and how many resources does it take to train someone to understand pi, e, and calculus?
Or, to apply your nice analogy to the topic under discussion.
what are the expected costs (time + training support) to get a new hire trained on all of the written materials which describe the system?
For a non-trivial system, those costs can be very high.
Totally agree but I have never seen a company implement this consistently. They seem to expect that while you are under constant deadlines you also have time to document your stuff thoroughly. We also need systems to organize the documentation so you need to hire tech writers who do that. If you put this on engineers they most likely won’t do it because they don’t have time.
And yet I’ve worked at software companies that will go to great lengths to avoid attrition. For exactly the reasons mentioned in the post, they encourage people to move to other teams to build up the inter connectedness of teams while keeping employees motivated and engaged. In fact, even if you weren’t looking HR would reach out and ask if you were interested in looking at other teams within the company because you had been in your current team for 18 months.
Side note I don’t know if I’ve just been lucky but I can’t relate to this talk of “companies are evil and act maliciously against their employees at every opportunity”. That hasn’t been true in my experience.
That isn't to avoid churn, that is to have more people around in general. If you leave your old team it means you no longer use your knowledge, the important part is to have engineers around, not to have the same engineers working on the same tasks.
For example, Google encourages churn by making it really easy to move to other teams in other areas. You don't talk to your old team again, so that is effectively the same thing as you leaving the company and them getting a new engineer, ie for the teams it is equivalent to churn.
I don't think i can fully appreciate how mind-bogglingly huge a company like Google is, so it might well be the case that tacit knowledge, skills and relations acquired in one team don't transfer meaningfully to another. I would have to see it to be convinced however, even more so to make me believe this kind of transfer was the norm.
If you move from Team A to Team B, you may not use your knowledge of the details of their codebase.
But you know precisely how to sort out the problems caused by the company's weird internal certificate authority, and their weird internal deployment tools, their weird internal inter-service auth system, and their weird internal multi-cloud system. That 'secure' way of managing secrets in production that makes 'unauthorized' errors almost impossible to debug? You know how to debug it. You know how to operate the purchasing system so your orders go through right the first time. You know precisely what the criteria are to get your subordinates promoted, and how to coach them to meet the criteria.
That can be worth a lot, when it comes to getting things done.
I think there’s a combination of some people with really bad experiences and a larger group of people that exaggerate.
That said, it’s a fact of the contemporary employment market that most companies do compensation such that sticking around in one place means making significantly less money then moving around all the time. Companies bring new people in at higher comp but don’t push the comp of existing people doing those jobs to the same level even if those existing employees are performing well. I don’t think this is evil or malicious but it certainly feels hostile.
I think this heavily depends on the type of industry you work in. In some industries the abuse is so normalised that everyone takes it for granted.
In retail you have the example of companies scheduling workers just under the number of hours at which they'd qualify for insurance or other benefits.
Hospitality work often expects you to be available any time they're short staffed, if you aren't you'll probably find your shifts cut.
On the white collar side last year we heard about junior analysts at Goldman Sachs being made to work 100+ hour weeks[1].
Game development is widely avoided due to a similarly toxic work culture, where you'll often be forced to "crunch" for long periods of time[2]. The worse places will also lay you off after the game has shipped.
At the software companies I've worked the biggest issues have been terrible raises for current employees, to the point that graduates were being paid the same or much more than people with 3+ years of experience.
[1] https://www.theguardian.com/business/2021/mar/18/group-of-ju... [2] https://www.polygon.com/2020/12/4/21575914/cyberpunk-2077-re...
A real statistic against your claim is one of the highest predictors of defects in a code base is whether or not the original team is still working on it.
Don't get me wrong, change is good but too much change is just too much to handle sometimes.
Defects is a metric businesses doesn't care much about. If you have a good team that can create products customers wants, then it is better to have them keep making new products rather than maintain what they already have, then you can have less productive engineers perform maintenance, defects might go up but this way you will have way more products which businesses seems to care more about.
You would have a point if maintenance was something companies cared deeply about, but they don't. They want new products, and company specific knowledge doesn't seem to be very valuable there.
changing people requires a time investment. and the learning curve is steep at the beginning
This depends on both the defect and the business. Just because critical regressions and recurring denial of service has become normalized as somehow par for the course in our line of business does not mean it comes without cost. It's all situational and subject to calculated tradeoffs but every shop i've worked with/in has classes of defects on the "Never Again" list, and sometimes on the "NEVER EVER EVER AT ANY COST" list.
Management really tried to be accommodating, transparent, and woke in their treatment of employees but the work load was just too much. One sprint into the next without any breath in between.
Tenure averaged about one year on the team. The project has been going without release for three or four years.
The only people left are juniors (college grads basically) who don't realize how bad it is wrecking their health.
The only thing keeping their main SME dev is the generous PTO. She is always out sick, randomly. A lot of it was obviously the stress. She would always let out this lengthy loud exhale on calls and in grooming sessions. When I started doing that I began the exit.
Anyways, hand over in high turnover places is shitty anyways, since they are shitty places to work at.
However, I'd submit that it doesn't matter how good the docs and process are, you're going to lose a lot when an engineer who has been at a company for, say, 3+ years leaves:
* historical knowledge * personal relationships * intuition about the systems
Some things you can't get except by putting in the time.
You don't develop the ability to fly by placing yourself in positions that require flying...
Most companies that have lots of attrition have bad processes in place and are suffering due to attrition, although I think there are some companies that are developed enough to benefit from attrition like you described.