TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Doing too much work on one's own before looping in others

591 pointsby alokedesaiover 3 years ago

68 comments

gorjusborgover 3 years ago
<a href="https:&#x2F;&#x2F;archive.is&#x2F;ZFwUh" rel="nofollow">https:&#x2F;&#x2F;archive.is&#x2F;ZFwUh</a>
Trasmattaover 3 years ago
I&#x27;m good at working on a team and looping in others. I also find it to be one of the most exhausting parts of software development. It&#x27;s so difficult to constantly need to get feedback and buy-in from other people, and takes away a lot of the creativity and joy in programming (for me).<p>Which isn&#x27;t to say you shouldn&#x27;t do it, just that it&#x27;s one of the things that makes me dislike working on a team. I actually think this may be one of the factors in burnout for a lot of developers. Writing code as a team is almost like writing a novel with a few dozen other people, all of which have differing ideas on how the book should be written, or even what it should be about. It&#x27;s hard to feel the joy in creating something when you&#x27;re only a small cog in the development machine, and every decision needs a dozen voices of input.<p>It&#x27;s disempowering to feel like you&#x27;re never able to make a decision yourself, despite supposedly being hired for your expertise in the field.<p>&gt; Always encourage engineers to show their work as quickly as possible – an engineer on a project should never go more than a week without showing something, and usually it should be more like a day.<p>&quot;usually it should be more like a day&quot; is bad advice in my opinion, and a likely source of micro management. Let professionals do their work.
评论 #30077379 未加载
评论 #30080722 未加载
评论 #30076707 未加载
评论 #30078694 未加载
评论 #30076518 未加载
评论 #30076496 未加载
评论 #30083047 未加载
评论 #30076560 未加载
评论 #30080283 未加载
评论 #30077842 未加载
评论 #30083248 未加载
评论 #30083686 未加载
davidhydeover 3 years ago
&gt; &quot;the biggest mistake I see engineers make is doing too much work on their own before looping in others&quot;<p>&gt; &quot;For more senior engineers, it can happen because they like to work on their own and may be overconfident in finding solutions. It can also happen if the team culture is toxic and engineers fear getting criticism early in the design process.&quot;<p>Not saying the above statement is incorrect but here is an alternative explanation that is also viable: Senior Engineers are often hired into large large projects so that the company has the capability to address emergencies or modify the existing system accurately as it is often more difficult to work on a large complex code base than to build a new one from scratch. Those engineers sometimes never get to work on greenfield projects and &quot;doing too much work on their own before looping in others&quot; is a way to scratch this itch without the opportunity being taken away prematurely. It also offers chance to produce memorable work as nobody remembers the set of 3 point tasks you completed ten sprints ago.
评论 #30076438 未加载
评论 #30076594 未加载
评论 #30076980 未加载
评论 #30078729 未加载
评论 #30079300 未加载
评论 #30080786 未加载
评论 #30076450 未加载
sdoeringover 3 years ago
I was more often than not &#x27;guilty&#x27; of what the author describes. And I actually love being the lone detective on the hunt for a cool solution.<p>I am not a dev by trade (data analyst) but still love to work on problems solved in code.<p>A lot of the advice hit home, but what struck me was this part:<p>&gt; Encourage engineers to get something end to end launched internally as quickly as possible.<p>This is something my boss never ceases to tell us. When we build something we shall strive to have some first small thing end 2 end done as soon as possible. Rough around the edges, not refactored, code being repeated - all fine. But it has to work end to end.<p>Because we can brush it up and make it stable later. Because when starting we only have a vague feeling for the problem space and we need to learn the lay of the land by navigating it.<p>I will always cherish this advice.
评论 #30076840 未加载
评论 #30076435 未加载
评论 #30076805 未加载
评论 #30081807 未加载
评论 #30077686 未加载
评论 #30080331 未加载
评论 #30077503 未加载
bob1029over 3 years ago
I am stuck with a delicate balancing act around this one.<p>Our organization arguably would not exist today if it were not for developers doing &quot;too much&quot; work on things before bothering others. Our product would certainly be worthless trash today if we had to design by committee for every feature. We took extraordinary risks that simply could not have been planned into reality. Most of those risks were taken by individual contributors without anyone being explicitly aware of the magnitude of those risks.<p>There is a price to be paid for asking permission. Especially if your team members lack the same vision&#x2F;ambition and are unable to conceptualize the path you laid out. Clearly, this is a problem for both parties, but it is a big reason to sometimes go off on your own, build a whole goddamn thing in peace, and <i>then</i> show it to the team. When others see a <i>complete</i> solution, even if its not 100% what the business wanted, it makes the conversation substantially more productive. It&#x27;s the fear of the unknown&#x2F;unseen that makes project managers nervous in my experience. Why start a hard thing at all if the conclusion is ambiguous at best?<p>On the other hand, we lost ~4 major customers to technical iterations over time. This was something we could have avoided by polishing what we had at the time. Problem is, that thing we would have polished was an abject failure in terms of strategic sustainability for the organization and our customers at scale.
评论 #30078272 未加载
emptysongglassover 3 years ago
The longer I work in this industry the more I reflect on the value of all this accretion of process: Agile, Scrum, PI planning, daily stand-ups are counterproductive to real work. So much of it, the sprints, the retroactives, the sprint planning, feel like taking place in the stead of real work. (I reached for the common &quot;instead&quot; of here but wanted to emphasize the work being removed or substituted by not-work).<p>Real, deep work, is largely a solo affair. Teamwork is trusting your team that they will do their work.<p>I can think of only two processes which truly requires communicating over real, smell-that-earth honest work. That is: seeking counsel and asking for help because you are well and truly blocked. For the latter, the process of learning enough to become unblocked, even if it takes a long time, can make the practitioner a better software developer forever vs the shortcut of a quick, &quot;do you have a minute&quot; disruption to another developer&#x27;s time.<p>Gumroad&#x27;s philosophy and practice of work [1] struck a chord with me. No meetings, no deadlines. Just a commitment to production, whatever the method, whatever the schedule.<p>[1] <a href="https:&#x2F;&#x2F;sahillavingia.com&#x2F;work" rel="nofollow">https:&#x2F;&#x2F;sahillavingia.com&#x2F;work</a>
pphyschover 3 years ago
There&#x27;s also the flip side to this, &quot;doing too little work before looping in others&quot;. Management brings overhead. Meetings bring overhead. Not every (sub)project needs multiple ICs.<p>That said, I think the E2E MVP&#x2F;&quot;tracer bullet&quot; approach is a good compromise. It sets a clear milestone, which could be achieved by a single IC, but which provides something tangible for a team effort to build on (or meets intractable obstacles and and dies prematurely, saving everyone time before the PM engine is spun up).
pojzonover 3 years ago
I’ve faced worse issue. So you are thinking about problem solution, you created a design and you ask ppl for their opinionated view about the problem and your solution.<p>Issue is - they cannot even give you a good feedback because they are not that advanced.<p>The issue of being a great engineer is that there are not many great engineers you can have a constructive discussion with.<p>You are sometimes even “expected” to deliver solution alone, because there is noone who even grasps the concept.<p>One could say its simply an incorrect team composition in this case but well.. what can you do about it when you are also asked to in the same time train ppl who clearly dont have the capacity to match your level - and better - they are supposed to reach that level soonTM.
评论 #30078569 未加载
评论 #30083373 未加载
alexfromapexover 3 years ago
I&#x27;ve been guilty of this at times but what I would add is a certain type of environment encourages this behavior. If the business or teammates are very reluctant to let engineers work on what they want or give harsh feedback it encourages people to retreat into their safe space and try to create something they feel is worthy of feedback.
评论 #30075493 未加载
评论 #30075380 未加载
评论 #30078495 未加载
评论 #30075765 未加载
评论 #30075588 未加载
评论 #30075344 未加载
commandlinefanover 3 years ago
This whole post strikes me as somebody making up a world as he believes it ought to be and then suggesting advice for navigating <i>that</i> world, rather than the real one. For example:<p>&gt; Always encourage engineers to show their work as quickly as possible<p>Yep, that sounds like <i>great</i> advice. On &quot;paper&quot;, anyway. I tried to do that when I first started out, too. What I found was that communicating &quot;this is just an early draft, it&#x27;ll be better when I&#x27;m finished&quot; was well-near impossible, no matter how hard I tried.
评论 #30082925 未加载
adverblyover 3 years ago
They missed one reason why it can happen: Because doing things &quot;the right way&quot; is too slow, and the engineer is trying to skirt around process because the company moves way too slowly. Not out of malice or negligence, but out of a fear of the megacorp killing agility. I&#x27;ve seen entire teams at megacorps or governments try to keep others in the dark with projects that would be crushed under strict corporate rules.
评论 #30077211 未加载
Veuxdoover 3 years ago
Sometimes you have to dive into a problem, experiment, try things out.<p>There is such a thing as premature collaboration.<p>If you want to be truly great at something, you need to practice it consistently by yourself.
评论 #30077037 未加载
strict9over 3 years ago
Insightful article but surprised at the recommendations. Teamwork is important, yes... but smaller task sizes should have been mentioned too.<p>&gt;<i>Finally, after several weeks, the engineer shares an update, and one (or many) of the following bad things transpire: </i><p>Several weeks? If you are giving developers open-ended tasks that take weeks or more to complete, imo it&#x27;s asking for things to go off the rails.<p>The most effective way I&#x27;ve found to avoid this situation is to ensure that worked assigned is broken down into tasks that are as small as possible.<p>When assigned work is limited to small deliverables you get smaller PRs, limited business logic changes to get lost in, fewer integration changes, etc.
评论 #30078560 未加载
strictfpover 3 years ago
A few things;<p>1. Merging often and early might be viable, but it might also expose your colleagues and the codebase to your exploratory process, which might or might not be desired&#x2F;possible. If you&#x27;re making semi-permanent changes like API modifications or database table updates, going this route will mean a lot of extra work.<p>2. Too many chefs. If you open up for too many questions at the start, you will get a gazillion conflicting opinions thrown at you. You&#x27;ll need to limit the audience somehow, or bring forward a clear idea or opinion. This leads to developers working a bit on the side. I don&#x27;t mind this, I think it&#x27;s good to give autonomy to working groups and let them make mistakes, as long as there is coaching or feedback in place in the long run.<p>3. If you go the route of designing a bit on the side first, to save time compared to 1), you might suddenly find yourself in the situation that the major parts feel quite done. Adding polish is now just a minor addition to what you&#x27;re already accomplished, so you might do that before putting up the PR. This means that a complete solution showing up as a PR doesn&#x27;t necessarily mean that it was over-engineered or overly polished on the side.<p>4. Not &quot;syncing&quot; too often saves time; less context switching, distracting information, and time to reflect on decisions and design.
babbledabblerover 3 years ago
It&#x27;s usually a mistake to build a large scale solution without consulting with others in your organization or team. Other engineers often have good feedback that will make your solution better and you are likely missing some core premise or context.<p>It&#x27;s also a mistake to seek too much approval from others before proceeding. In any group of X people, Y% won&#x27;t agree with you, and of those, Z% will be uncivil. By uncivil, I mean harsh criticism or otherwise toxic behavior that is not constructive.<p>If the organization is healthy that Z% is small and troublemakers will be handled by management if they do act up. If not that Z% will basically become like bridge trolls and you will be opposed by a confederacy of dunces every time you try to do something of consequence.<p>I&#x27;ve experienced both of these scenarios, and striking the right balance is an art and a science that boils down to reading the politics of the place and getting buy in from some key people so that your project at least has a fair shot. Sometimes the place has gone toxic and it simply can&#x27;t be helped.<p>If you&#x27;re in a situation where there is a high percentage of Z, you should ask yourself if the work you are doing is worth playing the politics necessary in order to get the job done. If yes, get smart, read books like the The Prince and Art of War and figure out how to play the game. If not, get outta there as expeditiously as possible, and put your time and effort to something more worthwhile. If you want to be kind, let management know in a professional way exactly why you are leaving so that they can have an opportunity to try to make life better for your colleagues.
mberningover 3 years ago
Spending a few weeks on exploratory or speculative work is not really a huge time commitment. If it was going to drag on for months I would question it.<p>I also challenge the “deliver in small PRs” idea. Yes in practice that would be ideal. But often when you are doing something completely off the map there is no point to submitting the PRs for the 5 things that didn’t work. The author is falling into the same trap that scrum advocates and agilists fall into. Anything can be broken down into teeny tiny bit size deliverables and managed that way. Again, it would be ideal if that were the case, but sometimes you just need to give your best engineers some time and space to swing for the fences.
alokedesaiover 3 years ago
I work at Warp (<a href="https:&#x2F;&#x2F;www.warp.dev&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.warp.dev&#x2F;</a>) where Zach, the author of the post, is the founder.<p>One practice we’ve gotten into the habit of is demoing projects at standup as soon as possible. I’ve found this has been useful to force myself to get to an end-to-end version of a project sooner. This is useful not just in derisking the technical implementation but also in getting product feedback sooner. By playing around a live demo earlier, we often find that the product experience needs to be refined in ways we couldn’t validate from Figma mocks alone.
blindmuteover 3 years ago
I&#x27;m of the opinion that if the problems outlined in the article happen, it was because of poorly defined work. A senior engineer should be able to work on something with no communication for a week and it be correct. If it isn&#x27;t correct, the work was not defined correctly prior to starting the work. Daily updates and frequent collaboration are not the solution; they are a stopgap masking unclear requirements.
评论 #30078677 未加载
Ensorceledover 3 years ago
I have two big rules for developers that report to me:<p>1. The 5 minute rule. If you are stuck for more than 5 minutes reach out. Once the developer is on the team for a while, this becomes 15 or 30 minutes.<p>Caveat ... truly stuck ... tried a couple of things, googled, tried some more ... wondering what to try next.<p>One thing I try to do with a new start is go ask them for help in the same way, &quot;Hey, 5 minute rule, I&#x27;m think I&#x27;m missing something simple here.&quot;<p>2. Project Initiation Memo<p>The is NOT a PRD, it is a high level &quot;I think this is what I&#x27;m supposed to be doing on this project and why&quot;. It might turn into a PRD if one is warranted. It&#x27;s really just a &quot;did you understand the problem correctly&quot;<p>I&#x27;ve avoided so many massive f&#x27;ups or developers drifting into silent frustration for hours with these two rules.
评论 #30076888 未加载
评论 #30082758 未加载
blintzover 3 years ago
I think I do this because it is more fun. Involving lots of other people, especially non-engineers, really can suck the fun out of programming for me. I&#x27;m not antisocial - I love to discuss what I&#x27;m doing and bounce ideas around with other IC engineers. But PM&#x2F;management incentives are generally aligned towards viewing exploratory work as a waste of time; it might be, but it&#x27;s what makes programming fun, so if I don&#x27;t get to do it, I will kind of just consider quitting. Of course, there are times for exploration and times for execution, but to be happy at work, I think most people need to have (and deserve) a mix.<p>I&#x27;m sure the PM and engineering lead and the company in general would prefer that I produce small deliverables on a frequent cadence, for a variety of reasons: (1) to make sure I&#x27;m doing work and not goofing off, (2) to provide better visibility to higher-ups about progress towards an ultimate goal, (3) to encourage me to prioritize delivering finished products over say personal learning, work-life balance, etc.<p>I hope I don&#x27;t sound too rabidly anti-work, but when I look for jobs, I pretty much prioritize the autonomy that management will give me over most other factors; nothing really sucks the joy out of programming quite like being told to break your work into &quot;smaller tasks&quot; so the burndown chart is prettier.
elricover 3 years ago
Knowing when to loop in others is one of the skills that makes a senior engineer. Too early and you end up wasting other people&#x27;s time. Too late and you end up wasting everyone&#x27;s time. Finding the sweet spot is important, but it&#x27;s also important to learn which questions to ask. It&#x27;s one of those skills that I wish could be taught, but it seems something you have to get a feel for over time.
kerneloftruthover 3 years ago
&quot;Looping in others&quot; is an opportunity for others to say NO, or to try and redirect you, or to jump (unwanted and unneeded) onto your band wagon. If I&#x27;m working with true peers (not age or title peers, but truly similar in talent and ability), then their early involvement or collaboration is great.<p>Generally, however, I prefer to get solutions developed to the point where they are their own proof. It&#x27;s much harder to argue against something that&#x27;s (near or entirely) completed and which proves to work. It&#x27;s fine for me to then involve others to get their feedback, etc.
评论 #30078249 未加载
gorgoilerover 3 years ago
Solid advice. Everything is such a difficult balancing act when you work with other engineers. I say this because at the other end of the spectrum its really easy to land yourself and those around you in needless drama by asking too publicly for feedback on ideas. <i>Hey everyone, just wondering what our thoughts as a team are on auto formatting the codebase &#x2F; switching tabs to spaces &#x2F; repainting the bike shed?</i><p>Some wise advice I once got from an engineer who has gone on to be a stellar engineering leader: utilise the power of managers. Good managers are drama fire breaks. They can tell you — without raising the emotional stakes with anyone else — why a particular bit of tech debt exists, whether anyone on their team is going to be amenable to you fiddling with it, and who to work with directly on anything likely to cause drama would it have been more widely shared.<p>Managers aren’t immune to drama but the good ones can help keep it minimised.
lifeisstillgoodover 3 years ago
A late comment I know but one I just realised is important.<p>This whole article bothered me. And the realisation is that it expects upfront design to work as something distinct from coding.<p>&quot;The code is the design&quot; (Jack Reeves) is a fundamental point - until you write the code, you are just dealing with &quot;artist&#x27;s impressions&quot; - vague ideas that might not hang together. The code has to be written (to be thrown away) so that things can be really worked out.<p>Other points:<p>* everyone does not have time to be always commenting on everyone elses iterations. Yes there is time for the big architectural design. But every day? If I am commenting on some other engineers work daily and not actually working <i>with</i> them something is off.<p>* going off and coming back with a big PR. YEs thats bad. Going off and coming back with a Proof Of Concept that will inform the discussion. Thats good.<p>With a Big System, the right way to do it is to do one (at least) to throw away.
babycakeover 3 years ago
To be honest, I don&#x27;t think this is any of the engineer&#x27;s fault. I think we&#x27;re an open creature by nature; we like to share and explore ideas with others.<p>In the corporate field, what I&#x27;ve observed is that deliveries are most important. Not just any deliveries, but the project has to be big and &quot;impactful&quot; (as in, other teams use it too), and you personally have to own it. Like your name has to be attached to it. No one is going to remember your tiny fixes here and there, or tiny feature implementations in the larger system, even if it&#x27;s tracked in sprint. All that stuff gets looked down upon as just &#x27;doing your job&#x27;.<p>To get any kind of recognition and ultimately, a promotion (or better raise, better rating, better bonus, etc), we absolutely have to clam up and take entire ownership of the work. If that&#x27;s not done, other people can swoop in and steal the work. Things become need-to-know basis for your other fellow devs, design meetings is just you leading them and asking if this is fine, etc. Everyone has to know you&#x27;re leading the project, and you have to constantly enforce that knowledge to put down any attempt at a takeover.<p>I&#x27;ve personally witnessed this happening to an older and more senior dev when a college graduate tried to assert himself on the team until the senior dev fought back with office politics.<p>In the end, office politics is what matters, along with your work to back up your office political agenda. Another senior dev could come in and take your project, claim your code is terrible and needs a rewrite, etc. You can only win if the boss is on your side, and that requires you to take on more than you can chew (and of course, deliver it all) to get on the boss&#x27;s good side.<p>Imagine if we didn&#x27;t have that kind of pressure of delivery in the workplace just to get recognition. The first example that comes to mind is Open source work. People just contribute, we share and deliver openly, and as a result community projects grew so big our entire corporate infrastructure became dependent on it.
评论 #30077395 未加载
评论 #30113956 未加载
alanbernsteinover 3 years ago
&gt; Internal Server Error<p>I do make that mistake quite often!
评论 #30075841 未加载
zoomablemindover 3 years ago
The author obviously draws on own experience, thus the conclusions. However, an important aspect is the team and the process, not just the dev and their behavioral patterns.<p>If a &quot;loosely-spec&#x27;ed&quot; feature is assigned to a single dev for implementation, then there must be either reasonable expectation that it could be delivered solo or that the blanks are not critical for the result.<p>Either way, such &quot;pattern&quot; of a supposed dev-vs-team antagonism may be pointing rather at process deficiencies or disbalanced expectations from management.<p>When team management believes that all is clear as day and could be done in a week-span, the devs may have a hard time affording themselves a prototype just to figure out what is there to do, so delaying the feature delivery is a simple hedge.
heisenbitover 3 years ago
While this may be true there is real long term benefit gained by me trying hard for just a little longer: It takes time to truly understand the context and form an own point of view. I take time to find quality reference documents. I take time to do a few experiments. I take time to write down and order my thoughts. Asking someone if required when I have done my homework then yields faster and more effective responses. I get higher level responses that complement and extend my groundwork. Even if I believe I know the answer I find asking can help if only to establish and deepen relationships. Ultimately it moves me in a position where others come to me.<p>Of course doing a submarine dive for weeks is never good except to serve as a straw-man for a blog post .
thrower123over 3 years ago
I&#x27;ve never known any serious work to actually get done without people &quot;going dark&quot; to actually accomplish it.<p>The constant statusing that doesn&#x27;t allow one four hours of uninterrupted concentration is demoralizing and grinds progress to a halt. There&#x27;s a reason more code is authored between 9pm and 5am than between 9am and 5pm, but that wears engineers out badly.
zachlloydover 3 years ago
I&#x27;m the author of the post - would love any feedback &#x2F; similar experiences &#x2F; contrasting opinions!
评论 #30076632 未加载
评论 #30078298 未加载
评论 #30076242 未加载
评论 #30075788 未加载
评论 #30077451 未加载
评论 #30075187 未加载
评论 #30080648 未加载
评论 #30076147 未加载
评论 #30075433 未加载
jackblemmingover 3 years ago
Why wasn’t this caught by a million different processes that most teams have? Scrum, team lead, n different managers, etc. This is on the process, not the engineer.
评论 #30076233 未加载
3pt14159over 3 years ago
This is a bit of a nuanced topic with lots of shades of truth or context, and overall I agree with the article, but that said:<p>Sometimes you know your team is going to do the stupid shortcut if you let them and you save them from themselves by solving the robust solution before they have a chance to &quot;be pragmatic&quot; and pointlessly bikeshed about things that don&#x27;t matter to waste your time. Sometimes you know it will take you a week to do it right or a week with input to do it half right and you just bite the bullet and do it right the first time and, to the articles point, suffer the consequences if or when you get it wrong or partially wrong.<p>Realpolitik is part of being a senior engineer. Sometimes you make the call to take the shortcut without mentioning it, sometimes you force the full solution with the big PR (or, even worse, a series of staged small PRs to make it look like you&#x27;re taking feedback); but most of the time, if you&#x27;re working somewhere good, you get to be completely transparent about what you&#x27;re working on and the feedback you get is corrective and flexible.
评论 #30077062 未加载
评论 #30082612 未加载
评论 #30078097 未加载
JamesBarneyover 3 years ago
&gt; Encourage engineers to get something end to end launched internally as quickly as possible.<p>Pragmatic programmer called this a &quot;tracer bullet&quot;.<p><a href="https:&#x2F;&#x2F;builtin.com&#x2F;software-engineering-perspectives&#x2F;what-are-tracer-bullets" rel="nofollow">https:&#x2F;&#x2F;builtin.com&#x2F;software-engineering-perspectives&#x2F;what-a...</a>
AtlasBarfedover 3 years ago
When you are doing idea creation and getting your head around an idea, I don&#x27;t know about other people, but in addition to not being well quantifiable and structured (which standups and their tickets need), but looping in other people in the IT industry exposes you when you most look like an idiot.<p>It&#x27;s the same reason IT interviews are this big cockpuff show. Everyone is insecure due to a combination of impostor syndrome, constant tech churn undermining your expertise, stack ranking culture, our industry archetype of socially unskilled&#x2F;introverts, projection of bullying from schooling, etc.<p>So it comes down to functioning social dynamics in your group: people not trying to elbow other people in stack ranking, helping out, being eval&#x27;d fairly, etc.<p>Things, you know, that IT companies and manager generally aren&#x27;t good at because technical understanding and achievement is paramount.
pcmaffeyover 3 years ago
The challenging part of this is that knowledge work is intangible and uncertain. Showing progress is difficult, especially with low context. So we want things to be perfect or finished or at least to scope. There&#x27;s a lot more that goes into our work than commits, PRs, and completed tasks.<p>Second, &quot;showing your work&#x2F;progress&quot; should be async. Otherwise, it&#x27;s taxing for both parties as it requires a request and then some sort of feedback.<p>People though are generally curious and want to know what others are working on, if they can help, how it aligns, etc. Having that ongoing visibility into each other&#x27;s progress makes it way easier to build off each other.<p>What we need is a simple, async way to share progress--outside the scope of tasks or timelines.
xtatover 3 years ago
Ok advice for engineers who are following orders but definitely an anti pattern for creativity and innovation.
stephenboydover 3 years ago
I can’t imagine anyone on my dev team or the others at my company being able to spend multiple weeks consecutively on vaguely defined unplanned work. We collaboratively make a plan with product management covering many weeks of work (PI planning) with some date commitments on milestones we expect to achieve. Anyone spending a more than a few days on unplanned work risks making us need to revise the plan that we all made together, so we don’t want to do that because the opportunity cost is obvious.
TameAntelopeover 3 years ago
I&#x27;m honestly surprised Jeff Atwood&#x27;s excellent blog post about this hasn&#x27;t been linked. [0]<p>From his article: &quot;It&#x27;s effectively impossible to go dark if you&#x27;re practicing any form of agile software development.&quot;<p>There are a <i>lot</i> of psychological reasons to &quot;go dark&quot;, but very few (if any) solid business reasons.<p>[0] <a href="https:&#x2F;&#x2F;blog.codinghorror.com&#x2F;dont-go-dark&#x2F;" rel="nofollow">https:&#x2F;&#x2F;blog.codinghorror.com&#x2F;dont-go-dark&#x2F;</a>
kinakinover 3 years ago
We see this with engineers of all ages, but especially with new grads. All have just spent 16 to 22 years working under a model where: you get an assignment, you come up with a solution, you are marked on your result, and then you move on…<p>Our education has trained us that involving others is something done at the end.<p>A lot of our new hires need help shifting their approach (and getting over insecurities) to consider that all their products need iterative review well before the work is complete.
评论 #30080060 未加载
评论 #30077513 未加载
billforsternzover 3 years ago
I chronically suffer from this problem. For example I started working on my chess software in 2008 and just yesterday someone raised an issue on GitHub asking me about pertft(). Gulp. Fortunately it turned out my chess logic does pass that very specific, very easy to check correct&#x2F;not correct test. But it would have been much better to have checked I was building on solid ground 13 years ago!
评论 #30076872 未加载
emptybottleover 3 years ago
My experience is different in that large patch sets usually get a “looks good” while smaller sets get a lot of varied feedback.<p>Depending on what your personal goals are (and your tolerance for accountability should things go wrong) doing the work up front can be a good approach.
评论 #30078918 未加载
drewcooover 3 years ago
It&#x27;s about career growth. Most programmers (hope to) peak there.<p>You know those folks who peaked in high school? You look at them and feel sorry because that was as good as it got for them but tinged with a hefty dose of jealousy because you never had it that good then.<p>This is like that but in software terms. An individual contributor mostly works up to the point where they take on more than they can handle alone and are sometimes heroic. And some people, some really good ones, peak there.<p>The crazy debugging live on production servers in the middle of the night that saved millions of dollars or the championship-winning touchdown. Same same. We love to tell those stories.
samjewellover 3 years ago
I&#x27;m amazed that the author doesn&#x27;t recommend Pair-programming as one of the techniques to avoid &quot;Doing too much before looping in others&quot;<p>He mentions: &gt; an engineer on a project should never go more than a week without showing something, and usually it should be more like a day<p>But in my experience by pairing you can shorten this feedback loop to seconds.<p>A few other people have commented about pairing: It&#x27;s clear people have different preferences and that it&#x27;s wise to use pairing at the right moments, but it still seems a glaring omission from the article to me.
quickthrower2over 3 years ago
One way to address is for the manager to make sure the work is chunked down.<p>Where I see the mentioned problem the most is when teams are too busy. The manager (as in team leader) is putting out fires and does not have the time and&#x2F;or will to mentor and direct the team members that go off track.<p>I think it is everyones job to make sure they are not too busy. Being too busy for basic processes is an antipattern and flag that things need to be reprioritised. Someone needs to walk away from the screen (or in covid times towards it) and talk to their boss!
LAC-Techover 3 years ago
I&#x27;ve got the opposite issue, and if I&#x27;m being frank - maybe it&#x27;s not such a great look for me as a senior.<p>But also at the same time... why should we suffer alone? Sometimes something that might take you a day by yourself might take you an hour with another person with a fresh perspective. Isn&#x27;t it more efficient? Let&#x27;s loop each other in, often. I&#x27;m always down to share screen.<p>Unless of course I&#x27;m the only one oh God I&#x27;ve outed myself as useless on HN...
评论 #30082266 未加载
Ozzie_osmanover 3 years ago
We have a saying on our team, &quot;don&#x27;t go down the rabbit hole alone&quot;.<p>Honestly I think the reasons mentioned in the article for why this happens are valid, but more frequently, people are a little insecure about their work or a little too much of a perfectionist, and that creates slightly enough friction to deter them from sharing progress or asking for help early on.
cercatrovaover 3 years ago
The mistake is &quot;doing too much work on their own before looping in others.&quot;<p>Can we edit the title to remove these kinds of clickbaity titles?
评论 #30076167 未加载
trelaneover 3 years ago
Interestingly, I just realized another sphere where this occurs: management. A manager sees some perceived problem, comes up with a policy to &quot;solve&quot; it, and then requires their employees to follow the new policy.<p>Wonder what this sort of approach would look like for management. It seems like the employees are the &quot;customers&quot; in this arrangement.
taurusnoisesover 3 years ago
Not a developer, like, at all. But, I see this in myself when I work in groups all the time. I get excited about the project, forge ahead on my own, come back with so much stuff, into which everyone else now needs to &quot;fit&quot;. At which point the entirety of the collaborative intention is missed.
mjrbrennanover 3 years ago
I absolutely hate hate hate having to do rework at the end of a feature or other project, so I loop others in with design discussions early and often. I don’t want to get to the end of something only for someone to say “Oh wait I think it should be done this way.” Communication is key.
black_13over 3 years ago
I dont like working with others or rather when I sought out others help I was seen as an impediment to the 10 percent performer. Most organizations reward and the individual scale not group when you tried to work communally you were chastised or all the way punished.
sytseover 3 years ago
GitLab our iteration value <a href="https:&#x2F;&#x2F;about.gitlab.com&#x2F;handbook&#x2F;values&#x2F;#iteration" rel="nofollow">https:&#x2F;&#x2F;about.gitlab.com&#x2F;handbook&#x2F;values&#x2F;#iteration</a> is meant to address exactly this problem
PaulHouleover 3 years ago
I&#x27;ve gotten in trouble too, particularly in open source projects, showing off a half-baked prototype that doesn&#x27;t really prove the concept. If you need to win people over and it&#x27;s a tough fight you need to be in a strong position.
xbarover 3 years ago
This is really good, but I feel like you should have come to us with this topic sooner.
aetherspawnover 3 years ago
I think this can be done on purpose though.<p>In some orgs, if you don’t step around the problem carefully so as to not be “done” immediately with a proof of concept, it might get shipped to the customer from underneath you.
irrationalover 3 years ago
&gt; Throughout this initial period there are standup updates of the form “I’m exploring X, or working through problem Y, but should have something for others to take a look at soon”<p>What is really going on is the developer has basically been given permission to not turn anything in. They are spending maybe an hour a day actually exploring&#x2F;working on the issue and the rest of the day they are working on their own pet projects, playing games, watching netflix, whaterver. Heck, they might even spend just one day doing all their &quot;exploring&quot; and then see how long after that they can just show up for standup and extend out the &quot;exploring&quot; phase while doing whatever they want the rest of the day.
评论 #30076378 未加载
评论 #30076497 未加载
schroderaover 3 years ago
Going dark alone does not very often yield results - even if the right solution comes out getting others up to speed will remove any time gained before easily.<p>Going dark as a team is a different story.
markus_zhangover 3 years ago
Actually, if we turn the perspective and look through the developer&#x27;s eyes, the behavior makes a lot of sense.
duxupover 3 years ago
Sometimes it is really hard to know that you&#x27;ve been out in the weeds for a while until you&#x27;re there.
zachlloydover 3 years ago
working on the issue with the site going down. more traffic than i expected...
评论 #30075947 未加载
globalise83over 3 years ago
I heard it put best as &quot;Don&#x27;t polish a turd&quot;.
retinarosover 3 years ago
yeah. i agree it is a mistake. but I got many times sidelined or robbed of an idea or a project after starting it and involving other people too early. it happened for instance that I started developing a GDPR tool mentioned it to my manager, he then told me a few days later that there was a manager working on this and it was in the making. the manager in question never had anything on the topic, did not start anything as well. two weeks later he had a power point and hired an intern « to work on this topic » he presented the deck to VPs, every one clapped said it was amazing. I had the full mvp working - demo-able and he was supposed to be the one leading this after this presentation.<p>so I guess id rather do too much work before looping in others
escapedmooseover 3 years ago
But I don’t <i>wanna</i> talk to the other kids. :I
louissanover 3 years ago
error 500 xD
newsbinatorover 3 years ago
&gt; the biggest mistake I see engineers make is doing too much work on their own before looping in others.
评论 #30075767 未加载
24thofjanover 3 years ago
I&#x27;m curious about Zach&#x27;s thoughts on how to use Github. Merge or rebase?
uejfiweunover 3 years ago
I feel like one of the biggest antidotes to this is just a simple daily standup. My team does this, a daily 30 minute meeting, and everyone says what they&#x27;re working on as well as any blockers. Seems to work very well in terms of course correction at an early point.
评论 #30075707 未加载
ziggusover 3 years ago
Why the conflation of &#x27;engineer&#x27; and &#x27;developer&#x27;? That&#x27;s a bit confusing.
评论 #30075541 未加载
评论 #30075604 未加载
评论 #30076650 未加载