TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Balancing engineering cultures: Debate everything vs. just tell me what to build

248 点作者 rubyissimo超过 1 年前

30 条评论

Aurornis超过 1 年前
This is the most common failure mode I’ve experienced:<p>&gt; A critical piece of avoiding endless debate is to know who makes the final decision and how it gets made. Consensus-seeking leads to endless debate.<p>Every rapidly growing company I’ve worked for has reached a point where we have product managers and program managers and engineers and engineering managers and stakeholders and suddenly nobody can even identify who is the decision maker.<p>Weak leadership then pushes a “we all have to work together to come up with a solution” angle that clarifies nothing and turns everything into a consensus-building operation. Progress slows to a crawl.<p>The second most common failure mode I’ve seen is, I hate to say it, similar to what this author is proposing as a solution: Product Managers who view themselves as facilitators of a process where they get others to come up with the answers about what to build. The product managers call meetings where they shuffle context and requirements and suggestions from stakeholders to engineers and customers and back and forth under the idea that their job is to lead others to the conclusion. I’ve worked with some product managers who produced prodigious amounts of meetings and slide decks and Figma charts and process documents and Notion pages and after meeting summary e-mails but can never actually conclude what we should build. They’re so enamored with <i>process</i> and <i>documents</i> and afraid of being prescriptive, so you only get questions and prompts and meetings and frameworks to follow to supposedly arrive at a conclusion about what to build.
评论 #39116434 未加载
评论 #39115512 未加载
评论 #39116112 未加载
评论 #39115253 未加载
评论 #39117478 未加载
评论 #39116370 未加载
评论 #39113614 未加载
评论 #39121079 未加载
评论 #39115680 未加载
评论 #39114228 未加载
评论 #39119154 未加载
评论 #39130199 未加载
评论 #39113760 未加载
评论 #39116081 未加载
roenxi超过 1 年前
Culturally it is best to train developers to just do something, then provide non-judgemental feedback when what they do isn&#x27;t what you want. Maybe schedule in some rework time to try again. That way, developers move quickly and sooner or later start building useful things.<p>&quot;Just tell me what to build&quot; is a dangerous attitude to foster. It pushes more work into the management layer which is already a bottleneck for making decisions. That is bad strategy. A couple of devs thinking that way is OK, but it is going to accentuate the inevitable management dysfunction.<p>The best approach is a culture where PMs understand customer problems and give quick, effective feedback to developers about whether what they just did affected a customer in a good way. Then management lets developers do what they do as quickly as possible. Alternatives can work, but that is the sweet spot.<p>The ultimate goal of any software company is to have that one lucky dev who just gets it, builds something amazing quickly and then the company comes in to maintain and milk the product until management miscalculates, destroys it and the cycle starts again. Failing that, the next best option is a product guy who just gets it and organises the engineers to build something that makes customers happy. Neither of those states depends on debate or, curiously, on what the median developer is doing. Software developer productivity is one of the spikiest, most disjointed and chaotic metrics I&#x27;ve ever dealt with and most of the time it appears to be $0&#x2F;day value add or slightly negative. Then sometimes it spikes to a few million dollars an hour. The culture should all be about working around the spikes, not the day to day.
评论 #39113187 未加载
评论 #39114810 未加载
评论 #39113152 未加载
评论 #39113271 未加载
评论 #39114946 未加载
评论 #39113173 未加载
评论 #39116430 未加载
solatic超过 1 年前
Organizations that debate everything and do nothing are afraid of other people being upset with them for doing the wrong thing.<p>Organizations that do nothing until someone else tells them what to build are afraid of sticking their necks out for some dominant manager to just ignore them anyway.<p>This is why executives and managers are recommended to <i>foster psychological safety</i>. Respect the efforts of people who built some skunkworks project, then discuss realignment with them afterwards (understanding that you, the executive, may need to be the one who re-aligns). Encourage people who never stick their necks out to start to tell you what they think, even if only privately at first, and eventually hopefully they&#x27;ll start to join the discussion too.<p>There&#x27;s a lot of talk about clarifying who exactly the decision-maker is in any situation. It&#x27;s a nice fantasy to think that the decision-maker should always be some kind of manager or executive, but the truth is, if you issue a dictate from on high to someone to do something that they deeply disagree with, eventually everybody&#x27;s going to leave. That&#x27;s not the way you lead people. Ultimately, the person who does the work is the person who decides - all that you can ask from them, as a manager, is for them to listen to you (and other stakeholders) first, especially since someone who never does as they&#x27;re asked is someone who will, sooner or later, get fired. But no manager can truly control the actions of their subordinates, and the wise manager understands that and channels that into productive workers who are <i>mostly</i> (but never fully!) aligned with the organization.
orand超过 1 年前
Sometimes (but not always) the reason for these cultures is more due to nature than nurture, in which case it can be virtually impossible to change without replacing people.<p>I worked on a team that went from a very strong &quot;debate everything&quot; culture to a very apathetically strong &quot;just tell me what to build&quot; culture, and it was primarily due to the hires we made. We hired for the ability to grow technically, and that certainly proved true. But the interest in the &quot;why&quot; behind the work never developed the way the &quot;debate everything&quot; folks assumed would happen with all good devs. The QA team cared, and remained in &quot;debate everything&quot; mode, but the dev team eventually just wanted to be left alone to focus on relatively meaningless (without context) work. No amount of connecting the dots to real user need seemed to really get through. They just wanted semi-challenging technical problems, and a paycheck. Nothing wrong with that in moderation, but it ended up infecting the entire team.<p>So be careful how you hire. If you have a blind spot for this phenomenon and hire exclusively for technical skill and&#x2F;or potential, you might just get unlucky and end up with a critical mass of &quot;just tell me what to build&quot;, and then you&#x27;re screwed, because you&#x27;ll have a technically strong team that has zero interest in understanding the bigger context of their work, forcing you to choose between getting sucked into the codependent relationship, or resigning yourself to doing the wrong thing with great technical prowess.
评论 #39114822 未加载
评论 #39114591 未加载
proc0超过 1 年前
&gt; Past the stage of senior software engineer there’s no real credit for the code anymore. It becomes the baseline. The strategy impact, the coordination, and the understanding and contributing to the team, company and customer success is part of your responsibility.<p>This is an underestimation of the potential of software systems. Of course it depends on the software application, but in many cases there is a lot of value lost when organizations implicitly create a technical ceiling for their engineers, and push their focus away from the theory and practice of engineering.<p>Saying that there is more value for an engineer to coordinate, plan, and present, is almost like saying that there is a point in which software systems can no longer be innovated or improved, or that there is nothing about software that requires more than 5 years of experience (or whatever the senior level would be). This is a sure way to build naive systems that brake all the time, when instead it could implement more sophisticated solutions. Of course this would mean that engineers would have a harder time communicating their solutions, but once again, it would be limiting software just because the managers want full control and visibility at every step of the way.<p>We&#x27;re now talking about the possibility of AGI, yet it seems every software org still goes through the same problems, with the same type of bugs, pipeline problems, etc. This is definitely not because software can&#x27;t solve the problems, so it must be that the solutions are too hard to implement, and so the question is why is that hard?
agentultra超过 1 年前
I didn&#x27;t really vibe with this dichotomy but I did get the sense that both of them seem like a symptom I <i>have</i> seen often:<p><i>Too many chefs, not enough cooks</i><p>In general this happens when companies over-value management. If you find each &quot;team&quot; of 3-7 software developers have at least 3 &quot;managers&quot; on the team (in addition to the visual designer and other folks in productive roles): you&#x27;ve got too many chefs. Decisions have to go through the committee, the process, etc. Software developers that are making the product itself are rational, intelligent, capable people whose hands become tied behind meetings, documents, and permission-seeking. Too many chefs make for busy work and they focus on the wrong work.<p>One manager for 5-8 software developers is often good enough. Someone who interfaces with HR, handles administrative tasks, and is the voice of the team to the rest of the company at meetings. A good manager enables the team to do their best work and stays out of the way.
评论 #39118135 未加载
评论 #39119301 未加载
Exoristos超过 1 年前
The reason we debate is so we&#x27;re able to build the product that actually works for you and we can maintain for you. If this weren&#x27;t necessary, why would product need experience devs? The no-debate fantasy is at least a little akin to the no-code fantasy.
j4yav超过 1 年前
GitLab has a quite nice decision making framework that avoids these problems: <a href="https:&#x2F;&#x2F;handbook.gitlab.com&#x2F;handbook&#x2F;leadership&#x2F;making-decisions&#x2F;" rel="nofollow">https:&#x2F;&#x2F;handbook.gitlab.com&#x2F;handbook&#x2F;leadership&#x2F;making-decis...</a>
KaiserPro超过 1 年前
One of the key problems that exacerbates this is removing the business use case from engineering.<p>In most cases, you are engineering a solution to solve a business need. Each engineer should know the business metrics you are trying to move, and why, not just the PM. This tends to highlight that navel gazing on which framework to use is pointless, because unless you actually build something, the money isn&#x27;t going to arrive, and you&#x27;ll be out of a job.<p>Software engineering is all to often treated as a black box, that must be isolated from the real world, lest the magic smoke escape. But that leads to terrible decisions, and allows &quot;carbon fibre&quot; programmers to flourish. Engineering should be a business unit like any other part of the company.
评论 #39116474 未加载
评论 #39115983 未加载
jruohonen超过 1 年前
I am not sure whether I can agree. Isn&#x27;t this just another Goldilocks principle? In addition, not only company but also national culture matters.<p>Ref.:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=38437104">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=38437104</a>
评论 #39117012 未加载
uoaei超过 1 年前
If you&#x27;re on the side of &quot;just tell me what to build&quot;, you better really, <i>really</i> trust your leads and managers. Bad managers can destroy engineering culture in an instant to the point where &quot;just tell me what to build&quot; becomes a symptom of burnout and not a bona fide aspect of a work culture.
评论 #39115546 未加载
eschneider超过 1 年前
Debate &quot;everything&quot; isn&#x27;t optimal, but it&#x27;s tolerable so long as a decision is made and folks can move on. Even if the decisions aren&#x27;t the ones I&#x27;d make or I&#x27;d consider optimal, that&#x27;s a situation that I can deal with.<p>What I&#x27;ll never do again is work at a place where every decision is subject to re-debate anytime someone decides &quot;they don&#x27;t like it.&quot; I just don&#x27;t have the mental energy for that bullshit any more.
beryilma超过 1 年前
My approach as the senior software engineer (but not the manager) of my team is to not debate everything, but to point out everything that I think is wrong, can be improved, or should be designed differently.<p>But then, I leave the developers and&#x2F;or the manager to make their own decision and shoot themselves in the foot if they happen to make the wrong decisions.<p>This approach takes more time, but I think it improves the sense of ownership of developers and their maturity over time.
ProfHiggs超过 1 年前
Some of the disparity described seems to relate to the size of the organization&#x2F;team and where value is placed. Many say that as an organization grows, it takes more people to get the same work done that a small team can, a la entrepreneurial spirit. The effect in my experience comes from a few distinctions with the greatest being a team wholly bought into the mission, and equal participation. The later doesn&#x27;t imply equal say, but, rather, the opportunity for all to be involved or informed of every aspect of the project and not rely on roles or expertise to carry the day. I&#x27;ve sent engineers along with product managers into the field to gather requirements; each has a different perspective, and through mutual respect, come to understand that their collective feedback builds a better product. It also means deferring to a third party authority, such as the &#x27;customer&#x27; rather than one&#x27;s ego. Again, the mindset of the individuals in the team is very important, often more so than their assignment skill level. Of course a strong leader needs to act as coach and commander, helping the team move forward and making the tough decisions when momentum is waning.
throwawaaarrgh超过 1 年前
I think &quot;debate everything&quot; comes from:<p>1. Uncertainty. People haven&#x27;t done X before, and are concerned about the outcome, so they delay, by debating. They don&#x27;t know whether they&#x27;re right or wrong. They&#x27;re really just trying to figure out their own opinion. So they will bring up objections, even if they don&#x27;t actually have a concrete reason to object. They just literally don&#x27;t know if something is valid, so they pose a hypothetical. Another form of uncertainty is lack of trust. If somebody has trust that an outcome will be acceptable, then they can deal with any fears they might have about whether a given approach will have the outcome they hope for. If they can&#x27;t trust the process, or people, they&#x27;ll bring out road blocks.<p>2. Ego. Let&#x27;s face it, we work with people with big egos. People who are smart, and capable, and know it.If their egos don&#x27;t feel adequately compensated, they will debate until it is.<p>I think &quot;just tell me what to do&quot; is easier to understand:<p>1. Apathy. It&#x27;s a real killer, and it can hit any organization. Sometimes people care too much; if they don&#x27;t feel like they can affect change, that turns into caring too little. Or perhaps they&#x27;ve just been burned too often at this job. Frustration builds until the stress or friction is too much, and they compensate emotionally by disconnecting. Some people carry this from job to job, like a form of PTSD.<p>2. Inexperience. When you have a lot of experience, you mostly know what to do already. But if you&#x27;re working on something very new, or the organizational hierarchy isn&#x27;t clear, or goals aren&#x27;t clear, or processes, or you just don&#x27;t have a lot of professional experience, you can be lost in a sea of uncertainty, not sure what to do. Maybe you have ideas of what to do, but it&#x27;s not clear how to decide on it. So you relent, just waiting for someone to give you some guidance.<p>In each of these cases, the missing component is: leadership. There must be good leadership to help people do their best work and keep the ship sailing. Bad leadership, or the absence of leadership, will lead back to these problems.
评论 #39114169 未加载
diiaann超过 1 年前
The endless debates wear me out. Sometimes I just want the engineers to just do. It&#x27;s labor for me to tell someone their idea is bad, both mentally and emotionally. At the beginning of the relationship, you have to engage in that labor to get people to trust you. But if it continues to break down, I try to figure out why and it&#x27;s usually because another designer&#x2F;PM were flippant in their choices.
评论 #39114205 未加载
btown超过 1 年前
Similar to the FG scale in the OP, LOGAF is a fantastic system to use, especially in asynchronous&#x2F;remote environments. It&#x27;s radically improved our code review iteration cycles.<p><a href="https:&#x2F;&#x2F;blog.danlew.net&#x2F;2021&#x2F;02&#x2F;23&#x2F;stop-nitpicking-in-code-reviews&#x2F;" rel="nofollow">https:&#x2F;&#x2F;blog.danlew.net&#x2F;2021&#x2F;02&#x2F;23&#x2F;stop-nitpicking-in-code-r...</a><p>That said, review debates are only one part of a &quot;debate everything&quot; culture. Architectural disagreements are much harder to solve while maintaining morale. One thing I&#x27;ve found effective as an engineering leader, when we need a plan of action, is to ensure I listen to every technical take, but make it clear that while I&#x27;m incorporating all those concerns into the decision, some concerns need to be weighted more than others based on larger medium-to-long-term business context, and that those concerns need to drive the design. It isn&#x27;t always the best approach with 20&#x2F;20 hindsight, but the removal of paralysis has been a net positive so far.
Amasuriel超过 1 年前
Both of these extremes to me are both just lack of actual leadership.<p>A real leader should absolutely value and respect the input of their team, but also know when to just say “of the options, this is what we are going with, here is the trade off we are making and why” and have the mutual respect and trust of their team to make both of those activities successful.
rubyissimo超过 1 年前
We debate everything ad nauseum at work. I&#x27;m going to try the FG scale. We&#x27;ll see if I get fired for being disengaged.
评论 #39113175 未加载
LAC-Tech超过 1 年前
Debate is a good if you all have a shared idea of what constitutes &#x27;good&#x27;. IE, simplicity, performance, whatever.
评论 #39117632 未加载
38超过 1 年前
&gt; Idea: An anonymous &quot;vote to end meeting&quot; button where if 50% of people press it, the meeting ends immediately.<p><a href="https:&#x2F;&#x2F;twitter.com&#x2F;joeylorich&#x2F;status&#x2F;1468976175821250565" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;joeylorich&#x2F;status&#x2F;1468976175821250565</a>
评论 #39113318 未加载
iancmceachern超过 1 年前
If the right decision isn&#x27;t obvious to everyone in the room, including the least experienced person in the room, you don&#x27;t have enough data to make the decision. You should break, get thr data, and regroup when you have the data to make thr proper decisions.<p>Data driven decisions.
评论 #39119438 未加载
评论 #39120332 未加载
mmcnl超过 1 年前
Decision making is a craft. If you just go with the flow, you&#x27;ll not be very likely to achieve optimal results. I think for every large enough team, you should be explicit about how decisions are made, and why they are made that way.
danielovichdk超过 1 年前
You need to minimise the debating. Especially if it shows to be based on assumptions.<p>Debating is also used as a human interaction tool for &quot;feeling part of&quot; or &quot;being good enough&quot; and it&#x27;s especially clear in a startup and early company setting where everyone kind of tries to show their own merits to the rest of the group.<p>It&#x27;s unhealthy to debate a lot and it&#x27;s a clear sign that there is either too much uncertainty, too much ego, too little subjective evidence or simply too shallow leadership.<p>Debating should be very surgical and not attempt to either look into the future or favor the most outspoken.
hnthrowaway0328超过 1 年前
As a DE my attitude can be described by the following sentence:<p>I don&#x27;t care what kind of data you want me to load, but let me know the frequency, the type, the schema and other technical information and I&#x27;ll load it for ya.
jauntywundrkind超过 1 年前
I had such a great company social night, talking with an engineer who got his start here ~5 year ago.<p>They were taking about how they just want people to have a well formed idea of what to build, to be able to hand off clear expectations, and let him roll. For curiosity sake I started asking about other times: has there been a time where you&#x27;ve felt on the line, been the one who has to figure out what to do?<p>They paused for a bit &amp; then said yeah, actually... They had been battlefield promoted after two higher ups on a team had left &amp; it was just them running this product. They said they had little idea what they were doing but the company trusted them &amp; let them hack through it. They loved that time. Finding out what to doz being given problems and the freedom to solve it was a highlight of their life, they said.<p>A lot of people don&#x27;t want to play the game. Especially when we are forced to collaborate with non-technicals, it&#x27;s incredibly hard to justify and explain ourselves &amp; to share power &amp; compromise with these people who lack competency to judge, assess, negotiate.<p>The title here omits the gods truth as an option: we the engineers know &amp; can assess &amp; you the business&#x2F;product don&#x27;t have the technical chops to debate, nor do you understand what is to be built. The premise presented is &quot;debate vs do&quot; as they say it, as though product and product alone understands do. But I think most engineers live in pain and dissonance and sadness, feel an incredible impedance and struggle, because most businesses&#x2F;product have only the faintest fragmentary fake propped idea of what do is. It&#x27;s a fiction. And it&#x27;s up to engineers to cobble together some vaguely competent rendition of the fairy tale nonsense product tells itself it&#x27;s come up with and that engineers need to just do.<p>The phrasing here could not be more slanted. Run, engineer, run, from the dented terrors that would think their product sensibilities have fully flushed out the idea, that think there is no cause for &quot;debate&quot; or sussing out how really to do a things that think only to &quot;do&quot; what the master product says is necessary.
mhss超过 1 年前
Debating is another form of waiting. You&#x27;re not waiting to be told, but you&#x27;re waiting to reach consensus. As long as the decision makers have bias for action you won&#x27;t get caught up in either debating endlessly or waiting to be told what to do. Finding out how long to &quot;wait&quot; in either incarnation is only learned through experience IMHO, using general principles such as &quot;one way&quot; vs &quot;two way&quot; doors, etc.
leetrout超过 1 年前
Brought to mind what I am reading in Corporate Rebels and really like the concept that Haier used.<p><a href="https:&#x2F;&#x2F;www.corporate-rebels.com&#x2F;blog&#x2F;next-influential-management-model-of-the-world" rel="nofollow">https:&#x2F;&#x2F;www.corporate-rebels.com&#x2F;blog&#x2F;next-influential-manag...</a>
评论 #39114255 未加载
bluedino超过 1 年前
At some companies there are so many places where things can be changed or undone.<p>We had a simple avatar upload. Done this in every app we had ever made. It &quot;broke&quot;. And I mean it didn&#x27;t really break, but it changed enough where it might as well have.<p>Who changed it? Sales (aka the customer)? QA? Development? Design?<p>CEO.
lgkk超过 1 年前
How about focus on the mission of the business?<p>Does what you’re doing increase revenue, profits, market saturation, improve customer experience, whatever?<p>If it doesn’t don’t do it.<p>I don’t think it needs to be that hard.<p>Fire people who waste time that detracts from this mission.<p>Imagine you’re in close quarters combat as a soldier and your team lead is goofing off or your manager is focused on looking good. Don’t find yourself in that position. Don’t let your team get to that level of incompetence and failure.
评论 #39113498 未加载
评论 #39113782 未加载