The Wetware Crisis: the Dead Sea effect (2008)
brucefwebster.com
brucefwebster.com
A well-run organization will hire the right people, and then foster their development in such a way that they are productive, happy, and grow, and will compensate them sufficiently. If any of those things break down, you can run into any number of problems, and they won't necessarily take the form that seems obvious at first.
I've seen organizations take very competent people and ruin their morale and shunt them into projects that were really detrimental to them getting out, in ways that aren't obvious at the time. Or weird organizational dynamics cause changes over time that make someone look bad in ways that aren't their own fault.
There's just weird things that happen that don't simplify to simple models of "talent that is completely independent of environment and perfectly visible."
Some companies just know how to treat their employees well, and they benefit from that.
Maybe there are a few epic companies but for 80% of devs at a guess they'll grow up grow old and grow decrepit in an open concept office reeking of pizza and microwave popcorn surrounded by a bunch of distressed disrespectful and discounted directors and managers treating them like cannibalistic humanoid underground developers while preparing them to be eaten by the machine like a rabid pack of Morlocks
I wasn't put on this earth to be turned into Soylent Green for a feature factory that chews up people and spits out machine code and Alan Turing sure as hell didn't give his life so we could wear house shoes to the office
Compared to what we're missing out on the free granola tastes like bitter bile and all ever managed to do was get drunk on great quality booze I'll admit and barf up artisanal pizza and salads
Another problem is that CEO's don't understand what they're really in it for -- they're not in it for the mind state that comes with being a leader but only for the profits they can extract from the bargain it's obvious by their actions and their dress
In short a company that has high alignment and high autonomy the two are not mutually exclusive and indeed form the basis of what I'd call the American Way
I agree that the current crop of MBA CEOs are detrimental as a whole.
Perhaps it's just starting off with a fictional company but this really reminds me of someone being asked to list heroes and naming John McClane and the guy who said Nuts to the Nazis at the Battle of the Bulge. Which I got to give props to the second guy of course, but it feels like the viewpoint is limited and not securely tied to reality.
A) large scale production and innovation were required
B) but globalization hadn't arrived so there was an extreme lack of supply of educated and experienced individuals to deliver the objectives of A
Produced a lot of "great" companies in the sense that they offered for both labor and knowledge workers good jobs with upward mobility, and a strong sense of self-identity and orderly progress.
As soon as point A was subsumed by corporatism (patent and copyright wars, debt servicing) and B faded away (so labor lost its seat at the table) companies have become "commoditized" - there's absolutely zero point in establishing or aboding by a corporate identity today when you may have new masters tomorrow.
Look it may be idealized but what makes us think that we can grow complacent all of a sudden what happened to the cold war and the arms race?
Just because we declared peace and came from a generation of acid heads doesn't mean that we're not operating in a war zone
The most dangerous weapon is intelligence and intelligence operative is another word for knowledge worker
What?
I have witnessed a vice president at a danged top five bank in Canada dressing like he was going clubbing
You're acting like the t shirt is the pinnacle of shirt technology it's literally two tubes of flimsy fabric aren't you even a little ashamed of your bare arms after all these years? Do you like that feeling of leaning in close and rubbing arm hair with your neighbour? Ever consider that bare arms might be rude on some level naw you likes what you likes I guess we should be grateful you wear toe socks most days
By the way you have zero freedom -- these companies are eating you from every angle and you're taking it on the chin
https://www.washingtonpost.com/news/get-there/wp/2016/07/07/...
^^ contributing to falling standards since '97
Once we've been paid a generous pittance we're divorced from the fruits of our labour which are then flipped into astronomic profits while we continue to slave over features and slowly suffocate in meeting rooms similar to interrogation chambers
If we actually had ownership and took our rightful due we'd be far better off
The difficult part is that academia doesn't prepare us for these realities and let's face it the whole curriculum is a joke compared to real world professional activities
It's just that every year there's a new crop of naive youngsters willing to sign their rights away for the privilege of coming in wearing a hoodie and sweatpants
I mean, I was in FBLA for a while, and it did zilch for communicating what the realities of modern business were.
1. You were brought in to do very specific work (i.e.: migrate something to k8s).
2. You were brought in as a token due to your social media following.
Seriously, how else?
If you think you are "up to speed" on a large company a week or so you are usually so incompetent you don't know what you don't know.
He dramatically improves the processes and code which isn’t domain specific and just leaves the rest a mess.
Improve auth? Yes. Improve finance module? Yes. Build better APIs and SQL queries? Yes.
Fix the problems in the actuarial system for funerals? Nope. That’s when you leave and do it all over again.
They contribute to all the parts not specific to the product but common between many products.
Other companies offer added benefits to retain their valuable talent.
The push among "social media stars" to declare long tenures as a negative is problematic, to say the least.
That's how most work gets broken down though. Just find an entry point and start reading code. Read docs, comments, find dependencies, figure out what needs to change in light of your change.
You shouldn't need deep product and tribal knowledge to make simple changes.
”In a heated market, where it is easier to crack code interviews than to prove yourself a talented and effective IT engineer, the least talented and effective engineers are more likely to leave, to float away, because their employers have less reason to try to keep them. Those who tend to remain are the ones who have more “weight” in the company, as their effectiveness and talent are better evaluated by their colleagues than external audience from conference talks, blog posts, and code interviews”
Soneca
You can call that ”The Gravity Effect”
In bad companies that's not true of course, so perhaps this can be a good measure of company quality - if their top talent are indeed good and are there for a long period of time, it's a very positive signal.
One example I can think of is Redis Labs - the core group of engineers have been with the company for almost a decade, and these guys are some of the nicest, most humble and most talented engineers I've ever met (And of course there's antirez who's in a league of his own).
The most important thing you can do during a job interview is to as best you can figure out who the talented people are and how long they've been at the company. If the most talented people are the people who have been there the longest, it's a good sign. If the people who have been there the longest don't seem to do any technical work and seem like powerpoint monkeys, it's a dire warning sign that the company is deeply dysfunctional.
In any case, the "Dead Sea Effect" is not a general truth, it's only true in dysfunctional organizations. The author of the linked post seems to be a consultant who helps failing IT organizations turn the ship around. I think his experience has led him to self-select into the dysfunctional ones.
A good company will appreciate talent, enable it, recognize any lack of it, and create some form of community. So it's a bad place to be a vampire, but a great place to be talented.
A bad company will fail to appreciate or enable talent, not notice vampires, and have no real community. Great place to clock in and get a paycheck, but not very fulfilling.
Talented people tend to be driven by interest at least enough that it's worth it to do things they're interested in.
People that dont get promoted get very few raises so are incentivized to leave.
The levels are essentially:
1) learning core skills under heavy supervision
2) ability to develop a feature with moderate supervision
3) ability to develop a product as it was envisioned, independently
4) ability to conceptualize a product, kick off a new product, and change direction in the middle if need be
5) ability conceptualize a portfolio of products and how they interface
6) ability to run a business unit of products
7) ability to start your own company (at this point we fund people to start their own company)
There are more detailed criteria around leadership, growing other people, contributing to recruiting, understanding, finance/accounting (P&L), following a solid methodology, contributing to the intellectual property of the company, improving the operations of the company, ability to deal with various level executives outside the company, exhibiting the values, being an expert in something etc
(This could explain why google has a hard time maintaining their old projects: Google on the resume is so so valuable that whoever doesn't rise within google leaves and gets a rise at another company.)
I'd stay there for one year (less looks bad on a CV) get the 'promotions' and then move.
That’s true in a lot of companies. Reliable people are kept in their positions to keep things going. Others get to do the new stuff and if that works out they look like superstars.
There is some distinction between being able to kick off projects with existing products and kicking off a totally new product.
most people are working on kicking off updates to existing products.
Overall, with reasonable management, people have better idea about your skills and abilities after working with you then shortly after interview. Interview is artificial short situation. If that applies, staying makes a lot of sense because you get more challenging tasks, more autonomy, your word is trusted, you have more say in negotiations. Leaving to another company means that you have to start again less trusted, won't get those challenging tasks and generally need to prove yourself before gaining the same back. Plus yoi risk that environment in new company will be more toxic. Changing team is in the middle - you have reputation and sometimes simply need change so that you don't stagnate.
In such organization, pure talkers loose credit over time, get moved from team to team and no one wants to keep them and end up on project they themselves don't want and nobody wants and leave.
Obviously, if the company starts to be dysfunctional over some treshold or stagnates, the high quality people will leave as the above benefits get lost. If it is toxic or unchallenging right now, you are good chance another company will be better.
Brooks also used his analysis to give a solution -- which (AFAICT) nobody has ever implemented. The problem isn't lack of 'memory'. His ideas weren't adopted even when they were new. It's amazing that after 45 years we're still pointing to this book as a must-read which correctly explained the problems of our industry, yet managers universally ignore the chapters which explain what to do instead. I don't see that happening in other fields.
> almost everyone who writes about IT project/personnel management (myself included) is looking for new ways to cast or explain the core issues in a touching hope that maybe this time someone will actually listen and fix them.
Good luck with that. Brooks' book is sitting on every manager's desk in the world, and he couldn't get them to read and follow it. Another blog isn't going to help. Things are only going to change when the industry has a "come-to-Jesus moment" -- like if software starts killing people and the government steps in and says "hey maybe you should all be required to adopt NASA's methodologies".
Having been through a number of downturns in my career, you do see really talented people leaving at the worst time possible for the business. But assuming that everyone who leaves is your best talent is not such a good thing to do.
Consider the team that has no dead weight at all. There is a normal talent distribution and everyone is productive.
Layoffs come around and the bottom 25% are let go. All that work needs to be distributed to the remaining developers. The best members of the team now have less time to work on the really hard, interesting problems because they have to pick up some of the boring work that still needs to be done. Some of them may leave because of this.
I've seen this happen.
It's like a bad mix of Musical Chairs and Hot Potato where nobody wins.
Ask your boss to take a week long course that will make you significantly more productive, paid for by the company. What is their answer? 9/10 employers (maybe even 99/100) would say no.
I mean, one of the top posts right this moment on HN is about how employers are recording every single keystroke of their WFH employees.
https://news.ycombinator.com/item?id=23165579
Sorry, my shoes are clean.
"The future is here, it's just unevenly distributed." In a trade where fixing things is a job skill, knowing how to fix things that nobody wants to fix (yet) can be demotivating, even aggravating. Does that make one toxic, or can there be pervasive problems that takes your industry 20 years (epochs in software) to adopt?
"This is crap" is, for a lot of people, a way to say that this is utterly mediocre (aka. not good, and not satisfying).
The OP was questioning the assumption that the vast majority of workplaces are the kinds of toxic workplaces described by the article and some commenters. Not mere mediocrity.
The account in the article and in some of the more negative commenters didn't fit the experience of the person you replied to, and it doesn't fit mine either. From my (limited anecdotal and not universal) experience and the experiences of devs I know working in various fields, I've seen some toxic workplaces, but they weren't very common and stood out.
I recall talking to (generally younger more emotionally immature) folks who worked at places I've worked. We had good pay, really good benefits, we were on a friendly team with management keeping a light touch. I was happy. They focused on flaws, complained about things like ending free donuts on Fri as though they were living under tyranny, saw things as generally hellish, and were miserable. I've personally seen just what the OP was describing in others. It's worth recognizing that you do get out of things what you bring to them, since not recognizing it is a recipe for misery. If you think everything is toxic, chances are you're bringing something to the story that's causing that.
I'm much more willing to believe that the quality of engineers at an organisation has more to do with the organisation itself and the sector.
Overqualified people working on a project can produce some heinous code. What I want as a team lead is to know how far I can trust people with different tasks, figure out who can be stretched in what directions, make a stab at scheduling the work out to try to minmax that equation, course correct a few times, observe outcomes and root causes and try to put safety equipment or process in the places where things start to go wrong the most.
You can get a lot of important if boring work done by 'average' or 'below average' developers - as long as they don't suffer from Dunning-Kruger.
Performance is on a bell curve (and not static). If you're trying to run your project like you only have to deal with the top 20%, well guess what, you're still going to have a bell curve. If you're in charge of any strategy and you won't acknowledge this, then you are the biggest idiot in the room, and I don't want to hear your opinions on who the second biggest idiot is.
> You can get a lot of important if boring work done by 'average' or 'below average' developers
This is why google developed the go programming language - dumb enough that people can't build overly complex abstractions, but capable enough that average engineers can churn out productive work.
> The "Anti Dead Sea Effect" suggests that in any organisation, the skills/talent/efficacy of engineers is often proportional to their time in the company.
> Typically, lowly skilled engineers find it easy to gain employment elsewhere and are the first to do so. Engineers who have obsolete or weak skills will tend to leave the company, as finding employment elsewhere is not difficult. This is particularly pronounced if they have not gained incremental pay rises over their time in the company, due to their poor skills, as it can be easier to fool someone else to pay them more.
That’s where HR policies dictate that no one will get more than slightly above cost of living raises no matter what while at the same time having to bring new employees in at market rates.
You find a situation where the more tenured employees are getting paid less than new employees with the same skillset but without the corporate understanding.
On the flip side though I've also seen senior (long serving) staff massively overpaid, because they got massive bumper promotions and pay rises during growth periods for the company, and then when things tighten and growth slows, they're still sitting on very generous pay. Particularly in 2010-2015 where staff had got big increases in 2000-2007 but all the new staff had been hired during the recession.
They will end up on HN complaining about “ageism” in the industry.
At 45 myself, I can’t afford to allow myself to get comfortable at a company that isn’t using technology that keeps me marketable. If I see that starting to happen it’s time to change jobs. I never want to be beholden to the shins of a single company for my livelihood.
I would much rather be able to depend on my marketable skillset, my updated resume, and my always warm network of former managers, coworkers, and local recruiters.
Not really.
It can be true to a certain extent in that you may have _some_ engineers who aren't very good sticking around in some organizations. But why would you think that is the case for most of them? You might have engineers deciding to stay because they have a family and think their job is fine.
Or maybe for organizations that have poor leadership or existing engineers, that is the case that the good engineers realize that and leave. But for really good organizations, they are extremely selective in terms of recruiting and compensate employees highly, with difficult but rewarding work, it might be the opposite -- people who weren't really cut out for it are quickly eliminated.
For me personally I eventually came to the conclusion that there was no perfect job, and my plan for personal growth is not to flit from job to job anymore trying to get higher salaries, but rather to save and work on side projects to hopefully eventually have my own business. So for that strategy it doesn't make sense to keep switching jobs.
People who switch more often however ladder up on their skill sets. Taking a diverse number of approaches that change from place to place and adapting nicely to them all and maybe even bringing a few skills from elsewhere to help in their current job.
A comfortable job makes you stagnant. Movement is good. Even within company.
Come to think of it, he was gone too about a month later.
Source: He taught my software engineering class and this blog post was required reading. I think his "thermocline of truth"[1] is one of his more effective metaphors.
[1]: http://brucefwebster.com/2008/04/15/the-wetware-crisis-the-t...
You can be a lousy engineer, but if it is all your lousy code and you know it line by line, you will be a heck of a lot more effective than the star engineer who has been there for just a few months and hasn't learned the codebase yet.
The point of these house of cards systems is that there is far more incidental complexity than there is essential complexity. The requirements are not enormously complex. The problem is that the incompetent engineer is only thinking tactically within the bounds of the system as it is currently implemented, they aren't thinking strategically about how the design could be improved to require much less work.
Water evaporates out of the Dead Sea because there is somewhere better (in the sense of lower humidity at least) for it go.
If you treat people as evaporating and disappearing when they leave your company, you'll never have a clear picture if the dynamics at play. You need to think about where they are going and the relative difference between their current environment and the other one they escape too.
When the air holds enough humidity, it rains on the Dead Sea too sometimes.
There is probably some metaphor in here for having a bad reputation decreasing your hiring funnel.
What often matters is whether one is in a position to develop skills and enhance one's impact on the organization.
I can see the enormous harm having no technical people who know the domain causes in my current role, but the benefits of learning it seem to be slim to none for the individual engineer. The harm is in low productivity for my employer, but they don't seem to care about retention anyway. Most do not.
Of course, that's all they are viewed as doing - keeping the system running - all the glory was reaped by the evaporated developer who moved onto other teams to make similar mistakes as before(since they weren't around to experience/fix them).
usually this is accompanied by technically clueless management.
I'm not saying I don't think I'm smart, but my primary motivation was compensation.
Please follow the site guidelines. Note this one: "Please submit the original source. If a post reports on something found on another site, submit the latter."
Why is this rule (Dead Sea Effect) chosen for promotion more than all the other ones that list?
It must be because as a representative it can do the least damage (Dilberts Principle) or because... ;)
Turnover is far higher for bad situations.
[1]https://daedtech.com/how-to-keep-your-best-programmers/
EDIT: a comment on that link makes the point one of the best ways to retain great developers is to surround them with other great developers. I think this hits the nail on the head.
But this phenomenon seems to hold true no matter the organization: A new hire for position or level X with Y years of experience will ALWAYS have a higher salary than a veteran at that organization with level X and experience Y, for Y > ~2yrs.
Some people bounce around to different companies. They are never necessarily productive in the roles they are constantly leaving. They may be only "talented" at being hired.
On the other side of the coin, the author defines the "residue" as "the least talented and effective IT engineers... that tend to be grateful they have a job and make fewer demands on management" and "tend to entrench themselves, becoming maintenance experts on critical systems".
Aren't these so-called "residue" people at least demonstrably "talented"? They are providing value to the company by maintaining things that actually make the business money without grumbling about it.
Businesses have their growth cycles, and ambitious people are attracted to growth. Many times, they will ride the growth wave of a company until its crest, then catch a wave at a different company.
I have personally never encountered a company that had an adequate mechanism for retaining these kinds of people, and maybe they shouldn't. As long as they don't burn bridges, maybe they will come back and work on a future project.
To me, it appears it presumes almost something like Santa Claus existing world, where "everybody gets what he deserves" (where you "evaporate" to some place better for you) which isn't how typically the world functions.
Moreover the concept of "talent" is involved in the principle, which is not something that I would use as the name of the property that I would use for selection of people who'd work on some project.
> Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.
The word "clever" has always been a low key insult when coming from me about code, and this describes the reason perfectly.
I spent nearly 27 years at my last job. I must be terrible.
I ran a small, high-functioning team of engineers with over 30 years' experience each, writing advanced image processing pipelines in C++.
When our team was finally disbanded, the person in my team with the least tenure was ten years.
Nowadays, I am "refactoring" myself back to being a full-time coder (as opposed to a manager and part-time coder), and, most likely, a teacher and author.
https://github.com/dwmkerr/hacker-laws/blob/master/README.md...
Yes, there are people who will keep amining for their percieved top, but whatever they do, lets not ever take this concept and look at actual human beings that you see in a company and treat them as "Residue". This is behaviour that would place you firmly in the "ignore, only deal with this person if I absolutely have to" category.
But lets not forget that many companies usually do change up web stacks as well, so there might be opportunities every now and then too.
I'm not sure if this is enough for the job hoppers but retention is not terrible (despite the Amazon stories that no one lasts longer than a week and cries at their desk every day).
This is contrary to the well-known Dunning-Kruger effect which, unlike the "Dead Sea Effect", has at least been backed by some studies: https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
"[Dunning-Kruger effect] is related to the cognitive
bias of illusory superiority and comes from the
inability of people to recognize their lack of ability.
Without the self-awareness of metacognition, people
cannot objectively evaluate their competence or
incompetence"
Also, as others have said...Even if the low-skilled engineers were able to recognize their lack of talent -- which they often cannot -- this "effect" would only hold true, if ever, in a company where folks are actively trying to leave.
The company I work for is a pretty happy place. Whether I am the most talented person there, the least talented, or somewhere inbetween... the reason I'm there has nothing to do with a belief that I won't be able to find equivalent or better work elsewhere.
No, it only requires hiring managers from other firms to do so; better alternative prospects is sufficient to explain the effect.
> This is contrary to the well-known Dunning-Kruger effect
No, even if the prior part was wrong, it would be contrary to the popular misperception of D-K, but not the actual D-K effect [0], in which self-assessment is compressed (on both ends) toward somewhere in the third quartile, but still monotonically increasing with actual ability, such that the better people are at something the better they think they are, it's just that the bottom ~2/3 somewhat overestimate where they are in the distribution and the top ~1/3 underestimate it.
But, relevant to the situation at end, since positive self-assessment still increases with ability, even if higher self-assessment with higher real ability was needed to drive the Dead Sea effect, that would be exactly what the D-K research shows exists.
[0] https://www.talyarkoni.org/blog/2010/07/07/what-the-dunning-...