12 ms·
Senior Engineers Build Consensus (2019)
- hprotagonist 6y agohttps://billwadge.wordpress.com/2019/03/24/laws-of-the-universe-and-teaching/ 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.
- zaphirplane 6y agoThat’s called an oligarchy in politics. Can’t say it’s a great operational model
- Spooky23 6y agoIt 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.
- zaphirplane 6y agoNo, We’ve already discussed this and we think your approach is wrong
- sarakayakomzin 6y ago>Would you ever debate an approach to doing something in front of a customer? the dumbest take i've ever seen in economics
- bww 6y agoYou've probably noticed that there aren't really any successful companies that are run as democracies. There are good reasons for that.
- alexashka 6y agoYou can't get to a better future by demanding that it have existed in the past. That doesn't make any sense. Now I'd really like to hear these 'good reasons' and what makes them 'good'. Before you list them, please try and apply them to 'why should we abandon slavery'. If your arguments work for both instances, please explain why we ever abandoned slavery, since clearly there are 'good reasons' for owning slaves, so much so that Americans fought a civil war over it last I checked.
- __blockcipher__ 6y agoA word of advice, injecting such topics needlessly distracts from the actual point you’re trying to make.
- tacitusarc 6y agoUnless the discussion is about slavery, in which case, fair enough.
- deleted 6y ago[deleted]
- deleted 6y ago[deleted]
- deleted 6y ago[deleted]
- whatshisface 6y agoCo-ops?
- 6y ago
- matwood 6y agoYou'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.
- tootie 6y agoI'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.
- cle 6y agoYep 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.
- vincentmarle 6y agoAlso known as: consensus driven decision making
- nullsense 6y agoI 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.
- JoeAltmaier 6y agoMeetings 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.
- splittingTimes 6y agoManager Tools has a whole pot cast on how to pre-wire meetings https://files.manager-tools.com/files/private/podcast/mp3/manager-tools-2017-12-24.mp3 https://files.manager-tools.com/files/private/podcast/mp3/ma...
- MichaelMoser123 6y agoThats 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.
- TheDudeMan 6y ago10x engineers get it done without others even knowing about it.
- anonytrary 6y agoAnd 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.
- sgtnoodle 6y agoWhen 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!
- whateveracct 6y ago"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 $_$
- AlexCoventry 6y ago> a toxic "we must be consensus after every meeting." What are the consequences of failure to establish consensus?
- whateveracct 6y agohours of extra meetings on my calendar
- rleigh 6y agoAn 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.
- jart 6y agoOne 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/syscalls.sh https://github.com/jart/cosmopolitan/blob/master/libc/sysv/s... and https://justine.lol/ape.html https://justine.lol/ape.html
- andrewem 6y agoI 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.
- sgtnoodle 6y agoSounds like me at work last year when I had to take high dose steroids!
- __blockcipher__ 6y agoPresumably you’re referring to corticosteroids which are not anabolic steroids. Or just making a tired joke, I couldn’t tell which :P
- sgtnoodle 6y agoPrednisone, 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.
- 6y ago
- ZephyrBlu 6y agoIs 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!
- alexpetralia 6y agoThis 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.
- sgtnoodle 6y agoI 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.
- hn_asker 6y agoYes, this is what backlog grooming and sprint planning are for.
- ggm 6y agoSometimes 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.
- victor9000 6y agoI 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.
- ggm 6y agoThat's ietf rough consensus. Harder in a dev team i think. But you may be right.
- baby 6y agoIs 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.
- syastrov 6y agoA 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?
- kvark 6y agoSo 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
- benlwalker 6y agoI 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.
- kvark 6y agoGood 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.
- sgtnoodle 6y agoWhenever 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.
- zemo 6y agoclicked 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.
- hn_asker 6y agoAgreed. 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.
- siliconc0w 6y agoTo 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.