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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Why Remote Engineering Is So Difficult

74 点作者 go37pi超过 10 年前

14 条评论

moron4hire超过 10 年前
It&#x27;s easy to say that communication is key, because it is, but all else being equal, if your team can&#x27;t execute projects in a distributed, remote environment as well as it can in a centralized place, then it&#x27;s not as good at communicating as you think it is. Dragging a failing remote team into an office isn&#x27;t going to magically make them successful, and scattering a successful team across the world isn&#x27;t going to suddenly make the project fail.<p>I personally find the very disconnected nature of the teams I lead in my consulting work actually forces us to communicate in an open, concise, discoverable way that would be good for any type of team, but that co-located teams get to cheat out on because a weak team member can always ride his stronger teammates&#x27; organizational coat tails with nosey interruptions and annoyances.<p>We <i>have</i> to think things through and write clear specs, because we can&#x27;t use body language to clarify and count on the people involved in the meeting to just remember the attitudes expressed. We <i>have</i> to be good about change management, because we can&#x27;t just turn around and ask someone to &quot;get out of a file&quot; or do whatever we want to the database whenever we want to. We <i>have</i> to keep meetings to a minimum, because you just can&#x27;t have a productive, two-hour phone call.<p>These are all good things for non-remote teams, too. But they cheat and don&#x27;t follow good practice.
评论 #8818507 未加载
klochner超过 10 年前
My experience is that engineers often:<p><pre><code> * hate meetings * prefer slack&#x2F;hipchat&#x2F;etc even if seated adjacently (myself included) * work asynchronously </code></pre> So the main friction is in the interface between engineering and other disciplines. Remote works well so long as non-technical leadership has a local lead they can interface with.
评论 #8818756 未加载
评论 #8818808 未加载
Htsthbjig超过 10 年前
I have always worked remotely. My company works this way, my employees work remotely.<p>IMHO it is not hard or difficult per se, but you need to design your company around it, like with other things.<p>It is also an area that needs more study in order to develop fully.<p>Probably if I had a conventional company and I had to transform or convert it to remote, it wouldn&#x27;t work. There would be vested interest against the conversion on some people, some people would not believe it is not possible(people tend to believe that if you don&#x27;t look busy to others you are not working) or managers will fear their employees slacking.<p>When you create a company that makes money from day one remotely, you have not this problem, as you organize around it and it is not optional.<p>In some ways it is weird. If you go out of your house to get your children from school because you did not spend 1 hour commuting to work, 1 returning from it, society could believe you are not working at all.<p>They are often surprised to see you have money, and much more money than they have.<p>But I suppose it is not different from an old farmer watching people sitting in a chair in the city call it &quot;work&quot;.
评论 #8819255 未加载
评论 #8819843 未加载
jcr超过 10 年前
The more interesting thing about this story is how all of the examples are tied together in an already well known way stated by Fred Brooks in his 1975 book, &quot;<i>The Mythical Man-Month</i>&quot;. You may have heard the adage of how adding developers to a late project only makes the project more late. The reason is communication overhead. One developer can produce some number of lines of code in a given day, so you&#x27;d expect adding more developers would result in more lines of code being written -- essentially O(N). Unfortunately, there is communication overhead and it increases complexity at O(N^2) as well as being an even bigger drain at the start when bring new developers up to speed with the existing group. If you take a step back, all of the remote working patterns presented in the article as working are essentially ways to eliminate the need for communication.
wallflower超过 10 年前
In a former life as a corporate software developer, I distinctly remember having to get up at graveyard-shift hours to infrequently coordinate with some of our Indian team members.<p>Some minimal time-zone overlap is never overrated. I think it is hard to beat real-time communication over chat or voice - asynchronous delays break up any flow in collaboration and turn it more into throw the requirement over the wall and listen for an echo the next morning.
评论 #8820363 未加载
ojbyrne超过 10 年前
I believe the key to making remote work work is that everybody has to work remotely, or as if they were remote. If you have meetings and other communications happening face to face, then the remote people, to a greater or lesser extent become Cowboys, through no real fault of their own.
评论 #8818396 未加载
fsloth超过 10 年前
Very good writing. A few comments:<p>&quot;as a product you’re betting that your API design is robust enough that groups can remotely work at their own pace or velocity. The core question is why would you want to constrain yourself in this way? &quot;<p>I am not certain which constraints are implied here - to me an API that facilitates such a work is <i>simple</i> and <i>understandable</i> which to me are admirable qualities.<p>Perhaps the challenge then is to split the architecture into small enough testable units which communicate through the simple APIs? Once again, this sounds great.<p>But in practice simplicity, understandability and good architecture are reachable by experience or trial and error so I suppose it would require either a situation were a known pattern is reapplied to new business requirements or one where there is ample time for designing and prototyping with these qualities as explicit design constraints.<p>&quot;how to balance resources on each side of the API.&quot;<p>I suppose the best situation would be then an API that supports a directed graph of rensponsibilities. Like a plug in system, for instance?<p>&quot;...however you find you can divide the work across geography at a point in time, it simply isn’t sustainable. &quot;<p>So I suppose to make remote working work software architecture and team management need to be linked on a very intimate level? This would be nice in any situation, I think
dasil003超过 10 年前
Very interesting food for thought here, but the difficulties of remote engineering are not fundamentally any more challenging than any other collaboration obstacles. Obviously having all the stakeholders sitting in the same room is the platonic ideal of a team, but to me this is a secondary concern after getting the absolute best people we can.<p>I think the author is a bit out of touch with how startups operate. Personally I&#x27;ll take a crack team made up of five best people sitting in San Francisco, New York, Berlin, Bangalore and Tokyo over a special team with a powerful corporate mandate ensconced in Microsoft&#x27;s Redmond campus.<p>If everyone is good at what they do and has their eye on the ball, then communication can be managed from anywhere, but if you&#x27;re dealing with the political reality of operating in a major corporation then you need all the help you can get.
评论 #8818417 未加载
dperfect超过 10 年前
&gt; If I had to sum up all of these in one challenge, it is that however you find you can divide the work across geography at a point in time, it simply isn’t sustainable. The very model you use to keep work geographically efficient are globally sub-optimal for the evolution of your code.<p>I think this is true of any organization, geographically divided or not. These are the challenges of organizational structure, and I&#x27;ve seen them affect organizations in a single location just as much as organizations with remote engineers.<p>In my mind, the single most important thing to do is to re-evaluate and adjust the structure early and often. The way you divide up work today will almost <i>never</i> be sustainable - regardless of geography. The trick is to help everyone understand and expect those changes to occur frequently.
jmnicolas超过 10 年前
What I always wondered with remote work is how do you prevent angry ex-employees to &quot;share&quot; their code-base with the rest of the world (dump it on The Pirate Bay) or with your competitors (in this case you may not even know that they did it).<p>Of course if they live in a first world country you can probably sue them (and hopefully it could refrain them from releasing your code) but if they come from countries where the law is an abstract concept there will be no brake to exacting their revenge.
评论 #8819001 未加载
utuxia超过 10 年前
all this WFH fud. its total bullshit. i work on a distributed team and i do video conferencing, pair programming (screenhero) and chat all day w&#x2F; them. I talk to these coworkers more than I ever did my onsite cohorts.
rexignis超过 10 年前
I think it&#x27;s almost impossible given human biology to expect excellent architectural&#x2F;engineering decisions from remote teams. You need the in-the-flesh discussions, whiteboarding, leadership, etc.
评论 #8818299 未加载
peterwwillis超过 10 年前
The only thing about remote work that is different than local work is communication paradigms. Specifically, whereas you could normally poke your head around a corner and interrupt someone to ask them something trivial, with remote work it&#x27;s harder to forcibly intrude on them and get instant feedback. And I think that&#x27;s what people have a hard time grasping: how to &#x27;work&#x27; without instant feedback?<p>Of course we all own a telephone, so the instantaneous-ness is always there. But timezones create a mandatory delay to availability which can&#x27;t be easily worked around. So whereas people are normally very accustomed to working via a continuous flow of real time communication, they now have to learn to communicate via delays and compartmentalize decisions and production.<p>Some people can&#x27;t deal with this. So they start to find ways of splitting up work by location. But eventually, things get out of sync, because they never learned how to communicate in a new way. This then creates things like a mandatory daily meeting just to figure out what&#x27;s changed in the last 24 hours, or red tape designed to keep people from making decisions on their own, or a lack of any kind of tape, or a breakdown in leadership, or the inability to accomplish tasks independently, or lowered morale, etc. This lack of being able to cope with communicating and working asynchronously is, I believe, a sort of stagnating death spiral that (without seriously competent self-starting workaholics) just results in mismanagement and tepid progress.<p>As a contrary example I like to use the open source development world. They work on different parts of different projects in different regions all the time. They self-organize and come to consensus quickly, and are led by a small team of well established hierarchy that makes quick, decisive executive decisions. There is basically no bone-headed executive level muddling with your work, nor contemptible middle-managers fighting for power, nor tepid low-level engineers waiting for someone to make a decision. Everyone just gets shit done because they all have one goal: to ship a good product. That&#x27;s all very nice because you aren&#x27;t part of a corporation, and you feel like your contribution matters more.<p>But in a corporation, you have to deal with all the usual corporation bullshit, in addition to now working asynchronously. I think this is where the big breakdown occurs in practice; two different sets of problems (asynchronous communication, and corporate bullshit) add up to a more complicated way of working. If you&#x27;re very lucky, everyone will be able to work the same way and things will go smoothly. But in practice, not everyone works the same way, and thus bugs crop up in the work due to process incompatibility.<p>So why is remote engineering difficult? It&#x27;s not; it&#x27;s just a specific skillset.
paulhauggis超过 10 年前
I worked at two companies where everyone worked remotely.<p>I think one of the big differences I noticed is that I never felt like I was that close to the rest of the team. We talked a few times&#x2F;week through Webex or Skype, but it&#x27;s just not the same as being there in person.<p>Communication was also a big issue. It&#x27;s not impossible to have good communication remotely, but I&#x27;ve rarely seen it in practice.
评论 #8818690 未加载
评论 #8819036 未加载
评论 #8818453 未加载
评论 #8818553 未加载