Hacker News new | past | comments | ask | show | jobs | submit login
Senior Engineers Build Consensus (2019) (hyperbo.la)
205 points by lopopolo on March 20, 2021 | hide | past | favorite | 115 comments



https://billwadge.wordpress.com/2019/03/24/laws-of-the-unive...

Wadge’s Law (of Meetings).

Before every formal meeting there’s a smaller, more exclusive, less formal meeting where all the important decisions are made.

This is based on decades of experience in academia and friends’ experience in industry and government. Sometimes there’s an even smaller, more exclusive, less formal pre pre meeting where all the decisions of the pre meeting are made. Maybe even a pre pre pre meeting … until you reach some guy deciding everything in the shower.


I'm a boss type guy and I absolutely do this intentionally but not because it's not really me setting policy as much as I'm focus group testing. I run it past peers or a few influential people who could be receptive. Get them to to think about it and give some feedback. When I bring it up to the group it's because it's been well-received and the other influencers are ready to back it. Similar to how this article explains it.


Yep exactly. If you go into a meeting and you haven't talked to at least a few of the people there about the topic beforehand, IME it's not going to be a productive meeting. I usually start with getting feedback from one or two subject matter experts, building consensus with them, and then slowly expand my circle of people I get feedback from, until we have "the big meeting". Having a "big meeting" with no pre-established context usually wastes everyone's time.


Also known as: consensus driven decision making


Bias through established group-think.


It’s easy to criticize, but the reality is that making decision with and motivating large groups of people involves tradeoffs that lead to theoretically suboptimal outcomes.


I feel like everyone savvy just does this because they understand the consequences of not doing it and the clueless people always just bitch about there being so much office politics. In my experience it's just the communication protocol that works.


It's not so much politics as it is the fact that no one likes surprises, particularly not your boss or your boss's boss. Almost every major people-problem I've had to sort out in the past year has been a result of someone not getting buy-in from their team or superiors before proclaiming a major change. Change is good, everyone wants you to make your awesome improvements, but you're not a cowboy. You have to engage the people who will be affected by this change, collect feedback, and address any concerns that are surfaced.


They like to delay the surprises.


What about 1) false negatives (when they receive it poorly), 2) various consequences of priming, 3) false positives (where they receive it well and everyone in main group wrongly assumes they are alone in their doubts)?

You can totally run things in authoritarian manner, gathering consent in instrumental way and use outside sources (like sales) for validation. But downsides/side effects/intentional features not said out loud are well known and researched to the point where one has to intentionally choose to remain ignorant of them to sustain a different narrative.


I do lean on my own instincts. I won't just give up on an idea because someone doesn't like it. They need to convince me. I'm just open to being convinced. But I'm also just wrong sometimes anyway. It's not a science.


For me that is a huge part of it - a combination of focus grouping while I'm refining my thoughts as well as getting people used to the idea. That way, even when things are presented as options, I'm confident that they'll choose the option I want.

The other key aspect is that it's just far more efficient. My last few jobs have espoused being highly collaborative, but in practice what that means is that everyone winds up in the proverbial room. Chaos ensues, nothing ever gets decided.


Meetings should be about consensus. Not hashing things out. Senior folk have experience, and that reduces options to a few. Pre-meeting helps narrow that down further.

So at the meeting, only hitches to the (expected) plan are expected. Not building a plan from scratch. Its more like a standup than a bull session.


Thats why it is often hard to follow a meeting! Often they mention acronyms and concepts without bothering to explain them. So it is just a setup because decissions were made in advance, so why do they bother to hold these big meetings? I mean all these commoners could do something productive instead.


Manager Tools has a whole pot cast on how to pre-wire meetings

https://files.manager-tools.com/files/private/podcast/mp3/ma...


That’s called an oligarchy in politics. Can’t say it’s a great operational model


It makes sense where you have a lot of stakeholders. Would you ever debate an approach to doing something in front of a customer?

Likewise, if a meeting is where you adjudicate something, you need consensus to focus on the key issue, whatever that is. Otherwise, you’re likely to head into some rabbit hole that results in no decision.


No, We’ve already discussed this and we think your approach is wrong


You've probably noticed that there aren't really any successful companies that are run as democracies. There are good reasons for that.


There still is a semi-democratic process (barring large-scale network effects for the sake of discussion): whether a given person chooses to become (or stay) a customer. People vote for or against a company’s products/services with their money.


Co-ops?


Co-ops are usually a republic, not a democracy. People still have specific roles, and those roles have authority to make specific decisions without getting a majority vote for that decision.


I don't know enough about co-ops but it seems to me they not only redefine the power structure, they also redefine what success (for themselves) is and the means to reach it. Unfortunately ou can't directly compare the two.


[flagged]


A word of advice, injecting such topics needlessly distracts from the actual point you’re trying to make.


Unless the discussion is about slavery, in which case, fair enough.


You're assuming it's the small group of people who make the final decision without additional input. Just because a smaller group of people refine and vet an idea, doesn't mean they force it on everyone else.

The problem being solved is that most ideas are not good, so any single person with an idea looks to vet it among a trusted group of advisors/peers. If this group is too large, it's hard to deal with the noise, too small and it may kill or ok an idea when it shouldn't be.

After refinement with the smaller group, an idea now has enough substance to bring to the larger group and hopefully not waste their time.

A simple example this process helps avoid would be pulling together the full group, presenting an idea, and then legal killing it with their first comment. Everyones time was just wasted since the idea as presented had legal issues and needed more refinement.


I used to work with an engineer who would have a loud negative emotional reaction the first time they were told about some new thing that would be happening at our company, and after a little bit would be totally fine with it. After one or two instances of this pattern, the manager learned to talk to the engineer ahead of time, so the upset reaction wouldn’t happen in a big meeting. I suspect that more of us are like this than would like to admit to it.

The manager’s new tactic seems to me both more effective and kinder, because it takes into account the engineer’s need to process a change outside of a public setting.


I obviously don't know why this engineer reacts the way they do, but I can see myself reacting that way not because of the change itself but because there was no advance warning or discussion.


> because there was no advance warning or discussion.

As a manager I learned to keep my senior engineer pre-informed the hard way. Personally, when I was an IC, I was totally fine not being kept in the loop because I was impervious to such news or changes. So I just assumed that’s how it’s with everyone. Clearly I was wrong.

That said, it is important to release that pre-information in an informal fashion lest they start acting on it before it’s formally announced. Especially ones that impact the immediate peer teams such as re-org.


Are you really impervious to changes though? You're almost certainly going to be affected in some way.

Also, I don't really see the point in hiring supposedly intelligent engineers and then cutting them out of the decision making process.

Btw I'm not even a senior engineer, I'm a _junior_.


I was impacted by some of those decisions for sure but I didn't let that affect me one bit is what meant to say by impervious.

In a biggish company you will come to learn that ICs's opinions doesn't matter; at best they will be heard to be ignored later. So as an IC the best thing for me was to focus my energy and skill to create the value the best way I could i.e., shipping software and helping my immediate neighbours unblock their work whichever way I could. Once my line manager noticed that I was indeed creating value through my primary skill he began seeking my opinion once in a while and I could see that it did have a bearing in his final decision.

There were a few vocal engineers who would regularly vent out their frustration over mailing lists, lunch tables etc., But as far as I could see it wasn't very useful in the sense it wasn't actionable. It takes quite a bit of energy and time to influence an outcome in a meaningful manner. You first need to build up sufficient social capital and then start pushing your opinion either directly or through others (i.e., "influence the influencers" as they say). Obviously it is a useful skill that can be acquired, the question is will you enjoy this in the long run.


This is incredibly insightful, and could have helped my career a lot to hear and actually follow.


Oh I've already experienced my opinion not mattering at all. I haven't been put off trying to be involved just yet though.

I'm also more interested in understanding and being involved than simply being frustrated and venting.


That's what I thought, until I never understood and was way more emotionally involved than I actually was involved. How will you handle that frustration?

I didn't realize it at the time, but everyone of the same seniority level, but a few years older, already realized not to give a single fuck about anything beyond their immediate sphere of influence. They had already learned that the work truly did not matter, and at a moment's notice they'd be tossed aside as person if given enough reason.

So, don't hope for much if you can't really control it, or spend your time gaining control, as in agency, over decisions that are actionable. Otherwise, burnout is on the horizon, because your expectations and devotion are way higher than you might get out of it, but the stress is maxxed out.

The parent here is perfectly on the money.

I'd also extend this to other areas of life. Probably try not to involve yourself too much with things that you can't influence, or things that you think people should care about but really don't. Not that they aren't inherently good, but you'll grind yourself down trying for nothing specific.


Caring too much results in burnout, but I think not caring at all is just as damaging. I would rather experience some frustration than feel completely disconnected from my work.

I'm not quite foolish enough to think that I will be able to control how things work no matter whether I'm a junior or senior. Even if my involvement was limited to observing, that would still be a win to me though.

> Probably try not to involve yourself too much with things that you can't influence, or things that you think people should care about but really don't

I appreciate the warning, though I think that I've already cultivated this type of attitude. I have a healthy amount of cynicism towards certain things thanks to reading about other people's experiences.

By the way, I'm curious what sort of companies you have worked in. Non-tech companies, tech companies, FAANG, etc?


I've worked in a variety of companies, but the one that this comment is mostly based on was a large non-tech auction company.


You can’t prevent yourself from getting worn away by pre-emptively crushing yourself.

Your advice is contradictory: you’re just immediately causing future pain.


In retrospect, my comment sounds more dramatic than I intend. I'm not recommending that, I'm just saying it's not worth letting yourself get too invested in a company or role that you really don't have much agency over. Your personal investment should be commensurate with your control and influence.


I’ve always felt the same way, I absolutely detest the whole farce of a manager claiming they’re “shielding the team” when really they’re just making critical decisions without informing their own team / gathering [real] consenshs.

To be explicit, there is absolutely a place to “shield the team”, but I’m talking about a pattern I’ve observed that many managers will use that as a pretext to avoid keeping people in the loop and essentially get to boost their own career by holding others back. Real shielding is when you politely tell team Y that their proposal is going to require your team to have to own and operate a net new production service, not when you make critical decisions without consulting some of the biggest stakeholders - your own team.


> I absolutely detest the whole farce of a manager claiming they’re “shielding the team” when really they’re just making critical decisions without informing their own team / gathering [real] consenshs.

That's clearly not done. What I referred to was decisions that were taken outside the control of the line manager; such as re-org, change in promo process. The line manager will not be part of such decision making process they are mostly taken at director level or above. The line manager though will be kept informed/warned of such changes about a few weeks in advance which is when I would start warning senior engineers in my team.

You will be surprised to learn that line managers have very little influence or say in most of the critical decisions taken. One of their responsibilities is to keep the team pacified i.e., to ensure the "shield" works both ways ;-)


> Also, I don't really see the point in hiring supposedly intelligent engineers and then cutting them out of the decision making process.

It is infeasible for literally everybody to be involved in a decision. So then the question is, how do you communicate a decision and when?

If you communicate "we are thinking about doing X" then this often causes problems with interpretation. People read these as big shifts in direction and experience whiplash or get overly excited and then disappointed when X doesn't happen. If you communicate "X is happening in 3 months" then the people negatively affected by X just get more stressed for more time even though they can take no action.

This can be different for different individuals. If somebody is especially bothered by not knowing things ahead of time you can adjust. But I find that if information isn't actionable then it is often in appropriate to share it way in advance of an actual change.


What is an IC? I don't recognize the acronym in this context


Individual contributor. A programmer who does not manage others.


Individual Contributor. i.e., those who don’t manage people.


I personally will react negatively for about 5 to 15 minutes to any new large change idea so I just work to make sure I don't make judgments during that window. It does however let me get into real issues with the idea pretty quickly.

I will often just tell people okay that's a big change give me time to go through the five stages of grieving and I think we'll be good


That's awesome - sounds like you have an amazing degree of introspection: you understand what you are like and you know how to manage through that.

Btw one reason companies ask interviewees about their weaknesses is not because the answer matters but because it shows whether a person thinks about what they are like, or not. Eg if someone ever said what you said "one of my weaknesses is that I freak out in the first 5 mins but I learned to work around that" - a real green flag that you are an excellent person to work with.


I like the solution in this story. At first it sounds like the manager is just working around or “tricking“ the engineer, but the engineer simply gets what he likely wanted in the first place.


Sounds like me at work last year when I had to take high dose steroids!


Presumably you’re referring to corticosteroids which are not anabolic steroids. Or just making a tired joke, I couldn’t tell which :P


Prednisone, and it definitely altered my personality significantly. I also ordered $400 worth of RC quadcopter parts, and spent 8 hours straight sanding off and re-polishing the top surface of my eyeglass lenses to get rid of the anti-reflective coating that was cracked and pitted.

In the month leading up to that, interactions at work were also giving me anxiety bordering on panic attacks, like a visceral fight-or-flight response. That turned out to be my atrioventricular nerves progressively failing, such that my heart ventricles were beating slower and asynchronously from my natural pulse rate. I got down to 21 beats per minute at one point, and everyone at the hospital was amazed I was walking around and smiling rather than on the ground unconsciouss.

I'm pretty much back to 100% now, and as an embedded software engineer, I am horrified to be able to say that I'm bluetooth enabled.


I knew someone who was on prednisone for 3 days. They got 6 days worth of things done in those 3 days, then spent the next 3 days of withdrawal in bed unable to do anything.

Also: this is wildly off topic, but did your 8 hours of sanding off cracked anti-reflective coating work? What equipment did you need? I had a similar issue and it never occurred to me that it might be fixable at home.


Yeah, it worked pretty well for my purpose. The only downside is that the edges got a bit rounded off, leading to more distortion than ideal in my peripheral vision. It was definitely an improvement overall, in that I was less steroid-aggro while wearing them afterward. My brain had no trouble filtering out the increased distortion, vs. the visual artifacts (starbursting) from the worn out coatings.

I sanded the lenses by hand with 200 grit, then 400 grit, then 800 grit wet sand paper. There was the AR coating, but then under that there was some sort of underlying "toughness" coating that I had to completely sand through to get down to polycarbonate. That's what took the longest, since I didn't really know how far I needed to go with it, and it was fairly resistant to the abrasion. I tried soaking the lenses in isopropyl alcohol to soften the coatings, but I don't think it helped at all vs. just applying elbow grease. Once the surfaces were uniformly smooth but frosty looking, I polished them with Novus plastic polish #3, then #2, then #1. It wasn't perfect like a new lens, but the center was optically clear without any starburst reflections. With all the coatings gone, the polycarbonate quickly picks up little scratches just from cleaning, but it's quick to polish out again.

It was worth it to keep me from going completely insane for the next month it took me to get an eye exam and order new glasses.

Taking corticosteroids briefly then stopping cold turkey like that is pretty rough on your endocrine system. I had to be on the high dose for many weeks to get the desired effect, and my doctor had me slowly taper off over the course of a few months to keep from crashing like that.


Ah, that totally makes sense. In retrospect it totally makes sense that the aggressive inflammation reduction of high-dose corticosteroids could cause that. By analogy, it's well-known that animals (including humans ofc) exhibit "sickness behavior" where they are lethargic, avoid social interaction, etc, which is probably (a) an "intentional" adaptation and (b) can probably be explained largely by the increase in inflammation from the immune response


wait for next software update to patch security :) , you made my day


This seems like an instance of a common tactic (or problem, depending on your perspective) that is especially common at software firms where management learn to work around employees' problems instead of challenging them to improve.

The engineer in this case had an emotional control issue: they reacted badly to anything new, even if they had no rational reason to do so (they were fine with it later). This could have been tackled by working with the employee to get them to understand that this type of loud public reaction is causing problems for everyone, including the perception of their own skills, and that they need to learn how to take a deep breath when a new change is announced - maybe wait a few minutes to write down what they wanted to say and then wait a few days before hitting the send button. Lots of approaches. Instead everyone else adjusted their behaviour to avoid tackling the underlying problem.

The manager’s new tactic seems to me both more effective and kinder

Maybe I'm just some asshole manager but I never saw it that way. You externalised one person's problem onto the whole team, who now all have to be aware of this special exception. Most obviously it makes it difficult to have brainstorming sessions, or if someone comes up with a new idea half way through a meeting unexpectedly, they can't raise it there and then, they have to wait for the meeting to end, pre-brief this one guy, let him/her get over it, then raise it with the rest of the team.

So whilst it may have been kinder to that one specific person, I'm not sure it was kinder to everyone else, let alone more effective. Especially because once such a culture is embedded, sooner or later half the team has some weird quirk that everyone is expected to work around or ignore.


Is the cost of kid gloves out weight the cost of bringing in a new engineer that you don't know their failings at all. The devil you know is manageable, the devil you dont is a gamble. How much upside is in that gamble.


It's definitely related to the cost of hiring and the cost of the employees. But it can work against the employees in the long run because they learn they can get away with bad behaviour and it gets normalised. Then it's hard to genuinely improve, so acts as an invisible barrier to their career growth (or worse, doesn't, and that demotivates the others).


"Build Consensus" - hah, the words of an org chart climber.

I've recently joined a BigCo (as a senior+ engineer), and the culture here isn't building consensus (out of authentic building blocks) - it's a toxic "we must be consensus after every meeting."

There's always a "champion" idea (but you can bring a "challenger" idea so people feel heard), there's always a need to "be in alignment" after every 45 min chunk of time, etc.

Consensus is clearly an end in itself, not a means by which we solve problems.

I'll just slither around in it though. Talk the talk so no one gets wise $_$


As someone who used to work at LittleBigCo, I think this beats having great ideas and then having them given to people who are in the inner circle with the founders. At least BigCo isn't super fratty like LittleBigCo tends to be. Or I could be wrong, please tell me if I'm wrong. I want to be wrong. Lots of LittleBigCo's these days are pushing overhyped products and are mostly just having fun with corporate money.


oh i agree - that's why i left a streak of startup jobs to get paid more to do less at BigCo.

BigCo isn't fratty at all in my limited experience. Be professional, follow whatever 10 commandments the C-suite prints out & laminates for you, and sell yourself once a year in self-review and you'll win out and barely work if you're remote.

Smaller companies have very little org-chart structure - it's a single small tree. There's no equilibrium in the org chart. So a couple bad actors can easily ruin it all. And they did at every startup I was at.

My play is to collect checks and eventually make art with my computer science experience for the rest of my life.


You sound like me. Cheers. I hope it works out for us.


Same here. Does anyone you work with know your plan? If not, how do you deal with the loneliness?


I'm married and have pets :shrug:

Use your free time post-covid to build up something worthwhile. A cat is a good start!

Love for its own sake is more than enough. But it takes a suspension of disbelief that modernity may have beat out of you.


> Use your free time post-covid to build up something worthwhile. A cat is a good start!

And to take it further, even if you’re one of those (many) people who thinks the sky is constantly falling with COVID...there is still no reason to wait until “post-COVID”. If you want to build a skillset start working towards that now, not tomorrow


you're right. idk why i said post-covid at all. i know i'm not waiting!


I’m 22 and a senior+ developer at a BigCo. I optimized my whole life to be able to escape from the big capitalist machinery as quickly and cleanly as possible. Maybe a cat’s a good idea to get me through the next couple years.. but honestly a pet rat seems like a lot less commitment given they live 2-3 years yet are still affectionate creatures.


Love is love and pets are pets!


> Cheers

You too! Let this be a lucrative but minor (ergo efficient) period of our lives :beers:


What do you mean by BigCo? Fortune 500 non-tech? Faang?


That fits the bill without giving me away, yeah :)


can you say how much salary? base/yearly RSU/bonus?


I mean this constructively, but it sounds like you're rather jaded from your past experiences.

I've personally experienced 4 flavors of work environments: high stress low wisdom politics (big stakes student project); High stress high wisdom politics (SpaceX); low stress high wisdom politics (Google X); and my current project, low stress high wisdom no-politics (Zipline).

Each different environment required me to adapt my own behavior appropriately to work productively with coworkers. Notably, the only environment that consistently lead me to feeling jaded and burnt out in the long term was the low-stress BigCo environment. I see a lot of truth in what you describe about your current experiences, although I never got quite that pessimistic. If you're happy slithering around the politics and are able to find fulfillment in your personal life, good on ya. That reminds me of a coworker at SpaceX who, a month or two before getting let go, admitted to spending 8 years at a defense contractor doing crossword puzzles at his desk all day, every day.

Building consensus around long term architecture is something like 80% of my current job, and over the years while the org chart has gone from 1 layer to something like 5 layers, I've successfully remained at the bottom. The folk at the top of the org chart are completely approachable, and in a lot of ways are there to serve me, solving the problems that would otherwise prevent me from getting my work done.


> "Build Consensus" - hah, the words of an org chart climber.

Not necessarily. You want to convince your team or other teams to adopt a new tool or practice? You need to build consensus.

It's a good skill to have if you want to be able to shape your workplace to your liking. It doesn't necessarily have to involve org chart climbing at all.


The point being, most of the time people say "build consensus", what they mean is either

"let's have an endless, design by committee approach where the backend dev with no knowledge on UI decides how the UI should look rather than letting the UI designer create a few samples and iterate and everyone else giving feedback like a user would"

or

"we already decided this is going to happen, but for the sake of formality we want you to agree with it so we can feel good about ourselves bullshitting one another into believing everyone has a say, so give us the ok or we'll pester you until you do"

It also stimulates the idea that disagreements are inherently wrong and nothing should happen while a disagreement is in place. Sometimes, it's ok to disagree with someone else and see what happens. Some might call this a form of consensus, though I've had managers get uncomfortable when I didn't vehemently agree with the plan, but was willing to keep my nose out of it and focus on my own things so others could take the risk.


There's a third thing they could mean: we want this to succeed in the organization which means we need to both hear people out to reflect their real needs in the plan, and that we need to communicate to them in a way that they buy in. So that it can work.

In fact this is really the only way to get anything done regardless of what you call it.


Yes, this. It's funny seeing so many people being cynical about this - sure, there's plenty of ways for it go to badly, but far more importantly, there are a couple of ways it can go right.

As general commentary - if you're smart and good at identifying problems with things, use your ability to identify problems to avoid those problems, not as an excuse to avoid doing stuff. Being cynical about everything isn't a terrible strategy, as long as you remember that you need to be cynical about your own cynicism, too.


[Disagree and commit](https://www.wikiwand.com/en/Disagree_and_commit) is a common management methodology and one that the most effective teams utilize successfully.

What is the issue?


haha i have worked at amazon, where disagree and commit is one of their laminated leadership principles

except it isn't

the principle is "have backbone; disagree and commit"

there's checks and balances in the principle's words themself. every leader i've had who has "disagree and commit" as their guiding light has just been an autocrat. they never mention on the "have backbone" part.

i had a VPE from BigCos come into a LittleBigCo. he was all about "disagree and commit"

really, he had a nose for dissent. he went around managers who disagreed with him to corral their engineers to his side. he put near-founding engineers on bad projects to force them out.

i tried to have backbone with this guy once. i thought one of his tech decisions was bad (and in reality it was politically motivated to force people out.) i wasn't rude or anything. he had a 1-on-1 call with me, and acted like i was being irrational. i stood my ground and made fact-based arguments. he was losing the 1-on-1 debate, so how did he close it?

"look whateveracct..i just have this crystal ball in my stomach, and it's usually right"

disagree and commit? more like stfu i'm the boss


I was just looking at Amazon’s principles this week, and found the on-its-face ridiculous “Are Right, A Lot”, which more or less directly invites the behavior you describe,


In my understanding - "are right a lot" is a retrospective thing - it's asking whether the leader's past instincts and decisions had lead to good things. It's not measuring how many meetings you walk out of having gotten your way.

For example, if a leader had an idea X,and Bob talked him into idea Y which worked out, then the leader was still 'right' because listening to Bob was the right thing.


> i thought one of his tech decisions was bad (and in reality it was politically motivated to force people out.)

Let’s say you were right: It was a bad technical decision and it was politically motivated. What outcome can you expect from arguing with him on technical grounds? He knows what you’re saying is right, but he already knew that before making the decision. What you need to do is convince him not to act in bad faith. Try to figure out how to do that, and acknowledge if it’s not feasible.

Not to call you out in particular, but I see this as a common mistake by people arriving in a big company. Things are not as you wish, everything is too complicated, motivations are subtle and usually hidden. The trick is to get past frustration that reality does not match your mental model. (People aren’t being honest! How can I even work with people who don’t tell the truth!?) Abandon your mental model, acknowledge reality for what it is, choose goals that are achievable, choose actions that make progress toward your goals.


this guy was VPE - there was no way to sway his autocratic decisions.

i knew he was arguing in bad faith. there was no way to win politically - he was making the decision to shape the company in his own image. so the best i could do was visibly disagree, document his various bad actor behaviors, and share my understanding with other engineers who didn't feel comfortable speaking up.

i just thought the guy was a dick so i felt like stirring the pot a bit. myself and plenty of other respected engineers left one-by-one (he didn't even announce i resigned. people were surprised. he was trying to save some face i think.)

the VPE left shortly after. people blamed the engineering turnover on him haha.

overall i feel pretty good about my short tenure there. i negotiated a nice salary bump when i joined and use it to anchor my new BigCo salary.


> a toxic "we must be consensus after every meeting."

What are the consequences of failure to establish consensus?


An organisation where decisions are not arrived at, and where people work at cross-purposes to the disadvantage of the organisation as a whole.

In a previous position, a failure to commit to certain key decisions led to over a decade of drifting in some aspects because they were unwilling to draw a conclusion and get on with development. For some of these, the cost of actually designing and implementing the solution was far, far less, than the total cost of all the meetings we had about them, not to mention the lost time. I'm not even slightly joking. It's a management failure at the highest level in not considering medium- to long-term issues, by focussing only upon short-term needs. I would also put some blame, in part, upon Agile as practiced by some organisations.

Consensus is important because you have to have the whole team, or whole organisation, on the same page. Even those who don't fully agree with the decision. You have to have everyone commit to following the decision, even the naysayers. That is to say, the organisation as a whole has committed to a certain action. Which is not to say it can't be revisited or re-evaluated down the line, but that right here and right now, we will all follow the plan.


hours of extra meetings on my calendar


> "Build Consensus" - hah, the words of an org chart climber.

^ the words of a person that builds things that nobody asked for and then gets mad when people don't use them.


i'm doing fine :)

did my fun pejorative phrase offend you?

also - i & millions others just "use" some software service i built years ago at a previous job ;) i have no trouble getting things in production, making and saving money.


Is this not kind of intuitive to people?

If you rock up and go, "we're doing this big thing tomorrow and oops sorry we didn't mention it before" of course you're going to encounter more push back.

On the other hand, if you get people on your team before doing something then they will trust you and possibly even become advocates!


This is politics! Politics is quite literally the development of consensus (whether it's corporate politics, national politics, etc.). Without consensus (agreement, buy-in), large-scale things do not get done. Politicking - which includes relationship building, framing, vision setting, leadership, debate and empathy, among many other things - is not necessarily intuitive. It is a skill like any other.


I think there's negative connotations about "politics" that people are implying within the context of corporate work environments. Specifically: arbitrary beurocracy, fragile personalities, back-channel communication, ego stroking, chest thumping and back-stabbing.

From a pure textbook definition of politics, yeah there's politics everywhere, and folk need to learn how to interact with coworkers in a healthy, productive manner. For folk going into engineering, I really like competitive student projects as a way to learn those skills.


Yes, this is what backlog grooming and sprint planning are for.


Sometimes consensus is impossible. You have to move on without it. Either you get stasis, or gradual change, or revolution or fracture/fork and no matter what you get dissent, consequences and cost.

Consensus doesn't always exist. Its great to build it and its great to seek it.


I don't think consensus needs to be unanimously affirmative in order to make progress. Even dissent can be a form of consensus, in that everyone in this group acknowledges the proposed course of action, and have formed their positions relative to it.


That's ietf rough consensus. Harder in a dev team i think. But you may be right.


clicked through to this not expecting anything new, didn't find anything new, this stuff is all obvious and should be clear to everyone. Clicked through to see the comments and ... the amount of pushback in the comments is very weird. All this is saying is "you should make sure that people want something before you build it" and the replies seem to be "how DARE anyone else affect what I build", from a bunch of adult children that think they are solitary geniuses. Every single person mad at the idea that building consensus is an important process is annoying to work with, full stop.


To challenge this a bit - this actually sounds like a bit of a dysfunctional culture where you have to handhold stakeholders in 1:1s or risk knee-jerk opposition to change. This isn't to say this doesn't work. It certainly works and there are many companies with this kind of culture that will pay you to do this well but it isn't a fast or scalable way of making decisions.

Ideally you can document the pros and cons of, say, moving to EBS storage vs instance backed and stakeholders give you comments with their concerns and you document and incorporate these and given enough stakeholders you can say, this is probably good enough for now and you trial using EBS-backed instances, improve your tools, document your learnings, and go from there. This can happen asynchronously, includes anyone interested, and can probably happen in around 1-2 weeks in a healthy culture. You do this so when there is the next EBS-outage you can point to this and say this was a deliberate decision and make an informed evaluation if the argument still holds rather than avoid going in reactionary circles. 1:1s don't document anything and only incorporate the views of people you think you should be consulted which is likely a subset of the people who want to be consulted.


Is this a case of survivor bias / took the path less taken? As in, I just had a win so it must be that I was using the right techniques.


So this behavior has a name... I'm sick of this nemawashi thing used by people as an instrument (in the context of cross-company working groups).

It's not about building consensus together, it's about sneaking your "consensus" into the group by the means of divide-and-conquire. It's very hard to build a solid alternative consensus (or a defense strategy) if all the opposing points have been voiced independently, and whatever one you can think of ends up with "oh, we discussed this with the other party, and it wouldn't work".

Please respect your team and don't use nemawashi. If you are on the other side, learn to recognize it and call it out.

TL;DR: nemawashi considered harmful


I think, as with anything, it can be used in bad faith. By taking advantage of the fact that many of the stakeholders are only able to give an idea some basic consideration due to time constraints, it's often possible to build consensus around an idea that isn't actually the best one. And by the time someone with a better idea comes around, the idea that has already built consensus can use that power to squash it.

But that assumes the person using this process is acting in bad faith to begin with (they're not pursuing the best idea, but rather their idea). If this technique is used in good faith with an open mind, it's one of the most effective ways to deal with large organizations.


Whenever I think I'm making an arbitrary decision that isn't necessarily the obvious best one, I try to explicitly point that out to my coworkers. "I really like this idea over the others, but I am definitely biased for x, y, z reasons. Since I'll likely be the one doing the work, I'd obviously prefer to do it that way. Is that foolish in this case, or would folk generally be okay with it? I'd love it if somebody tried to change my mind."

Half the time I end up getting mind changed, and the final result, while still arbitrary, is better than any of the original plans would have been.


Good faith is hard to define. If I genuinely think my proposal is the way to go, hence I use this technique to push it through, is this good faith? Or if I'm tired of discussions on a difficult topic and just want to move forward with anything, does this count as good faith?

It would be nice to have a workflow for group discussions that is robust against the faith differences. Just like we have specific workflow on voting in politics, doing it independently and resisting some of the human crowd instincts.


Thanks for calling this out. It's good to be able to spot this tactic and when you are on the wrong side of it. It's emotionally difficult for someone who cares about the craft to engage in good faith working groups, only to realize that no one takes you seriously and that their actions are diversionary and performative while the decisions get made elsewhere.


Agreed. How consensus is achieved varies. As an engineer, I am biased towards numbers because numbers are easy to compare. Use data to guide you on what the desired state is and getting to it.


10x engineers get it done without others even knowing about it.


And this is how you end up with an entire engineering team that has no idea what the hell is going on. Don't be a "10x engineer". Empower 10 other people around you. That's what the real 10x engineers are doing.


When I joined my current company, I was the only software engineer working on embedded firmware (with plenty of help from folk with non-software backgrounds.) I had about a year and a half of frantic coding to set the foundation in place, and now almost 5 years in we have an embedded team of over a dozen people. I'm not particularly interested in management, and there has been no pressure for me to go that route, so I've successfully remained a leaf in the org chart. My current manager is the third person we hired to the embedded team, just a year or two out of school at the time, and he's doing an awesome job. I feel like I probably have a lot of political power within the organization, but I can't really say because I never need to use it. I'm lucky enough to generally like everyone I work with.

New folk in other parts of the company ask me what I do, and the best way I can describe it these days is meta-engineering. Rather than take long term ownership of any part of the system, I take temporary ownership of the scary parts that need the most attention, refactor them until they're as boring as I can using a suitably large sledgehammer, and then release them back into the wild to (hopefully never) be someone else's problem again. When I'm not doing that, entire weeks go by just reviewing coworkers' PRs, writing architecture documents, and interviewing job candidates. I'm widely known for bluntly (but hopefully respectfully) giving my opinion when weighing in on technical subjects I think I know about, and it seems to be well received. Pretty much all direct and indirect feedback I get is to keep doing that more. Many coworkers even send me their designs and PRs with an explicit request to mercilessly tear it apart.

I've been addicted to watching episodes of "Kitchen Nightmares" this past month, and I just realized that it's sorta like what I do at work, but with less swearing and the undercooked chicken is lack of regression test coverage. Also, the restaurant doors haven't closed up 6 months later yet!


I know exactly the archetype of engineer you’re talking about and they are hands down some of the most valuable engineers you’ll find.

It’s possible to have a 10x multiplier in “individual output” or whatever you want to call it, but 9 times out of 10 the most valuable engineer is the one who can provide detailed, actionable feedback on patches, architectural change proposals etc but is also willing to get their hands dirty when it makes sense. That, IMO, is what I consider a ‘true’ 10x engineer to be


It is not easy to find a team that wants to be "empowered" by a 10x engineer. Usually the 1x engineers focus on irrelevant or counterproductive issues, inundate the 10x with non-feasible suggestions and play office politics.

Upon which the 10x moves to inner emigration and gets work done. For which the "team" gets the credit.

Where are those teams that you speak of? At which companies?


My experience is different. True 10x engineers are always well received by their peers because they make the problems go away. However 10x wannabes... That's a different story entirely. They voice their opinion when not asked, want to take credit for everything, make dubious decisions outside their capabilities... Worst of all, eventually they move to "inner emigration" and create some monstrosity that nobody asked for, let alone wants to maintain. :shrug:


I've appreciated the culture and how it's evolved at Zipline over the past 5 years that I've been there. If you want to work on a UAV based medical delivery system, it's a pretty cool place.

If I weren't at Zipline, I'd probably be at Reliable Robotics, but that's more because I know the founders and lots of other employees there, and they have a strong team that's set up for success.

I'm biased towards robotics companies since I'm an embedded software engineer, though.


Engineers who do things without other people knowing about it are a liability, not an asset. It results in a bus factor of 1.

There is a big difference from asking for forgiveness, which is often required to get things moving, vs. working in an entirely opaque way.


A bit off-topic, but as the article notes, Stripe is using AWS. Could someone share their experiences with AWS versus Google Cloud for a smallish business using mostly compute plus managed Postgres? The pricing differences shouldn’t be an issue, it’s more a question of whether they make a lot of breaking changes, have too many limitations, or have a bad UI, or too much complexity.

If a company was starting fresh, which would you choose?


One can use Nemawashi to lay the foundation for consensus. An even more powerful technique is to use Numerology to identify the consensus that already exists. See https://github.com/jart/cosmopolitan/blob/master/libc/sysv/s... and https://justine.lol/ape.html


Is this spam?


I think it's humour, that magic numbers can be used to "create consensus" among operating systems, enabling portable binaries.

See discussion here: https://news.ycombinator.com/item?id=26271117




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: