Hacker News new | past | comments | ask | show | jobs | submit login
Remote work requires communicating more, but less frequently (balter.com)
336 points by chmaynard on Aug 4, 2023 | hide | past | favorite | 314 comments



> Remote work requires communicating more, less frequently, because asynchronous communication involves less frequent, but richer communication, meaning there is less time talking about the work and more time doing it, allowing the system to optimize for throughput and flow.

This whole thing seems to be what people struggle with about remote work. Communication is way, way more important, and being an effective communicator doubly so. There's nobody's desk to go stop by, so noting things down and making sure we understand each-other is vital to accomplishing anything.


There's a bit of a challenge today with chat, though. I work 4 timezones away from most of my team and we all prefer to swap e-mails, but chat seems to have stripped away some folks' ability to methodically go through topics, explain options and summarise next steps, leading to the usual "let's set up a call [to actually discuss everything in the e-mail thread]".

Reading through old mailing-lists (and even older e-mails from the same company, but from seven years ago) shows a markedly different communication style - you could pretty much take the last two e-mails in a thread and paste them into a memo that would neatly encompass all of the scope.

Not so today--there's a constant chattering of people who just can't prioritise or discuss more than a couple of topics in tow.


Email is the victim of its own success. Because it had/has such dominance in the business world everyone had to live in their inbox, marketers appreciated that and lots of people grew to hate that. There have always been bad practices surrounding emails but I think it reached a point a long time ago where email itself was considered bad. Thus "email free Fridays" and internal comms plans which say email should be a last resort. People felt empowered to refuse to read many emails, especially if they were over 3-4 paragraphs.

I too have colleagues who reflexively ask for a meeting in response to any email longer than a few lines, even though the issue is clearly communicated and obviously requires someone to read it and build a proper response. The ease with which we can all "jump on a call" has contributed to this. Yes, of course we've all seen email chains which go back and forth without progress but that's not a reason to assume every message will end up there.


>The ease with which we can all "jump on a call" has contributed to this.

I hate that term and concept "jump on a call". I often find that people don't prepare enough before the call, which defeats the purpose of the call.


> I too have colleagues who reflexively ask for a meeting in response to any email longer than a few lines, even though the issue is clearly communicated and obviously requires someone to read it and build a proper response.

Oh, yes. So much this. Except, I think it's fair to say it's managers and bosses who have this tendency, not so much colleagues.


> I too have colleagues who reflexively ask for a meeting in response to any email longer than a few lines, even though the issue is clearly communicated and obviously requires someone to read it and build a proper response.

I have spent many of these calls effectively just reading what I wrote in the email in the first place. Complete waste of my time.


We could jump on calls well over seven years ago (I actually worked in ISDN video calling in the 1990s, and spent a decade or so working in a multinational telco, with plenty of conference calling involved).

The loss of focus definitely accelerated with the rise of chat.


I too long for the days of mailing lists and neatly structured email threads where you could reply to each point in order using >> markers for context and so on.

In my view, it was GMail with its top-posting proportional-font-only interface that killed email and mailing lists.


> leading to the usual "let's set up a call [to actually discuss everything in the e-mail thread]"

You forgot the part where the call is scheduled for next week even though today is Wednesday. And any attempt to discuss further in text is met with "let's leave that for the call".


If you want to do this really well, title the meeting something generic like "catch up", don't attach an agenda or any kind of description and invite a bunch of people who weren't in the original discussion.


Solid point.


I had the opposite experience because of a single point I think: a Confluence/Notion centric team.

Chat/email is solely for semi-live discussions ("is this a bug ? how do you do X ? where's the doc ?") and decision making ("can we release this feature this friday ?")

Anything else that requires bullet points, graphs and/or more than 5 min of thinking goes into a Notion page where the team comments and argues the topic. Sometimes the Notion page will even start with Slack snippets for context, as the topic just happened to require a more constructed discussion. The magic of it is that people switch mode and write complete, coherent arguments if they're on a page, vs small the chatty style they have on Slack.


Both email and chat are ephemeral and make things really difficult to find. Who said what when about what in what thread?

People use the same thread to speak about unrelated to the thread topics which makes those communications impossible to find.

I’ve introduced and use basecamp with my team. It’s genius is in collecting things into projects, and in intentionally resisting complexity. Frictionless flowing focused communication - with everything in its right place, providing just enough information in activity feeds etc.

It’s for high trust teams who are trying to find all needed info to get their work done, and delivers.

Truly signal over noise.

I am a total fanboy after trying a bunch of systems trying to be too clever, track time, create Gantt charts etc.


Additionally, they refuse to answer the question that’s put to them. I am very careful with my words. I say exactly what I mean in as few words as necessary, but I find myself copying and pasting the same sentences into the chat box because the person or people reading seem to want to answer a completely different question.


Yes, this is the worst. I assume some people glance at the question and answer their misunderstanding.


Smaller attention spans, information overload, and consequent lack of attention to detail, are some of the reasons, IMO.

And the first two of those are largely due to the uncontrolled effects of the Internet, i.e. the web and social media, on people, of course.

Edit: wording


Funnily, studies have shown that people spend more time on chat and less time in face-to-face communication when working from an openspace office than when they work from home.

Hopping on a quick 5min zoom is frictionless at home. Walking aaaaalll the way over to someone’s desk and disrupting the entire office with your conversation, or god forbid finding a free conference room, is way harder. So you smear the meeting on slack across a 1 hour back-and-forth pingpong instead of doing a quick 5min sync.

https://www.bbc.com/worklife/article/20180718-open-offices-m...

Private offices solve this problem of course. Wfh is the easiest way to get that.


I've never been more productive than when I have an office with a door -- home or otherwise. That also makes it much easier to have quick chats without disturbing the rest of the floor.


Even well done, this kind of communication doesn't substitute for more free-form 1:1s that in-person allows. The latter are key to building trust.

I'm finding this to be one of the key drawbacks of remote work - some decisions require cross team trust and I've yet to see anything besides more frequent ad-hoc conversations that builds it. The problem is that the most trust building conversations tend to be "off-topic" conversations that just don't happen organically in a remote environment. I as an individual can try and make these happen but I can't force the org to do so.

If anyone feels like they have a solution I'd love to hear it (we're already doing quarterly off-sites, it's not enough)


Not discounting this, but i Free-form 1:1's always have an aura of being more "improvisational" and in the moment. Good 1:1's are supposed to be semi-structured (ie not 'free form'). A shared journal, a retro exercise, etc. I have not had the experience that these build trust. Good team work, and delivering high quality work towards a common goal do that. You popping by for a 3 minute conversation in ear shot of 5 other people trying to do their work doesn't.

It may FEEL like it because those people chatting get energy from it. But it doesn't. If you need energy from people like this it's 100% a good idea. Go nuts. Personally I think people over index on this because they have no idea how to structure async team comms.

– Videos – Longform content – Team agreements to respond to things async without x-hours – Team collaboration spaces – Good sprint ceremonies like refinement – Team QA-type exercises

Ad hoc conversations also contribute immensely to what I call "comms debt". The jolt of energy you get from water cooler talk last 3 minutes, and excluded anyone not in direct proximity. If the best idea was in the head of somebody 3 rooms away you have no way of knowing it. Add dozens of these micro-interactions throughout the day and it's a recipe for comms breakdown and kliqish behaviour.

I see this a lot in User Research. Let's "get out of the building" and talk to people. A good idea in practice, but without actual goals or hypothesis product leaders mistake the first 5 opinions they collected as fact — often cherry picking sound bytes that fit right in with their own biases (and I've seen this A LOT in older leaders). This is mistaken as research. But they love it because it has that face to face energy. The feeling makes it right, regardless of the evidence.

Trust in a team is based on good communication — and an agreement on what you expect from it. If someone posts a video to Slack do people respond? Do you have ceremonies to build togetherness and understanding? All of these things are somewhat easier when you just have to deal with Zoom logistics.

Anyone who has to clean up and index the deluge of Design Sprint whiteboard stickies knows what I'm talking about. Put that shit in Miro, thanks.


I think I've been unclear on the problem. Trust inside a single team is not something I've found to be a major problem, but between teams. Let's be more concrete:

I need to build trust between between 6 EMs spread over three different directors and 2 vps + some very senior engineers. I need to do this so that we can solve one of the larger problems the business is facing. Most of these people have no good reason to talk to each other (or me) regularly. Without trust, one or more of these people will likely torpedo the proposal in order to avoid tying themselves to other teams and people they don't know.

Pre-covid the solution to this problem was (mostly) chatting over lunch. You'd get the right people talking, seed the idea, and build up to a proposal that everyone could agree to drive forward. IME this whole style of consensus building is dead in a remote world because async communication is too low bandwidth for trust building.

This makes it really hard to take good organizational bets, you have to wait till you have a mountain of data and customer feedback before you can sell big projects. The quality of the company's output really noticeably declines from this.


> Pre-covid the solution to this problem was (mostly) chatting over lunch.

Except that Pre-Covid, those [6 EMs spread over three different directors and 2 vps + some very senior engineers] were already probably not at the same office.

They were spread across three states, two countries, and one was a consultant from India.

This was my experience with any company bigger than about 40 people, anyways.


Maybe part of the problem is a lot of orgs are watching(and logging) your remote conversations with an all seeing eye. But they're not necessarily bugging your in person office?


Not sure if this would work for you, but I tend to have ad-hoc, 1on1 video calls with people.

If you are not doing deep work, it's no biggie.

I also would schedule 1on1 meetings to 'catch-up' (not too many of them, but ...)

Don't get me wrong, meeting some of these people in person is great, but I have several great relationships at work where we've never met in person


I like the concept of water-cooler -- an always on zoom meeting that you can choose to join... Or not. It's up to you whether you hop in.

Your reward for being willing is exactly this spontaneity that is missing from remote work. I have seen it work again and again...!


I don’t think there is a good solution here. I realized that I must have a 90th-95th percentile memory when compared to my coworkers, but it frankly doesn’t matter if I write things in chat or a long form document, it’s often lost to much of my team.

I have come to realize the best path forward is likely pair programming/working meetings (remotely) because writing things down and repeatedly referencing them doesn’t stick


I have a decent memory but my attention span has been decimated. I find myself tuning out on calls and looking at anything else. Then I come back to reality and realize I have missed something important. Recently I have started closing my eyes while on zoom (camera off). It has really helped me focus and pay attention. this breaks down of course when someone is sharing their screen. I find that a solution to this is to turn my camera on as it forces me to pay attention or people will see me with my head turned to the side. Incidentally it also forces me to shower and shave most days, something that has really fallen off since going remote and covid. I almost never leave the house so my presentation suffered. Only time I cleaned up is if I was going to the gym. So I was somehow in the best shape of my life while also looking like a homeless person when forced on camera.

Both have helped, still not perfect but its better.


I had this issue when I had a larger team to manage. I'm also one of those who remembers an email that was sent 3 years ago by some random guy listing all these useful things. However,it doesn't work for most people. The communication needs some guidance too 1) anything quick and simple- chat 2) something more complex - email 3) something complex and likely to stay relevant long in the future - knowledge base, documentation, etc 4) major announcement- medium matters less but they need to be stored somewhere for people to refer to later.

Communication requires enforcement too: I had people in my team that kept saying that they weren't told about x,y,and z. If those are repeated behaviours( they usually are), they need to be managed accordingly so people would start take it seriously.


It's not a memory issue- it's an attention issue. I'm on the other spectrum from you- I have clinically diagnosed terrible memory. I write and read a lot to compensate. If you are writing something down- things are getting lost to your team because they are not taking the time to read and process what you wrote.

I'm also finding that the best path forward is to pair frequently- because a lot of people just don't read. Also, it's important to note that with writing things down for people, referencing is just as important as the content. If something is written in a slack conversation- they are unlikely to go searching back months for it- when they could just ask you again! When something is documented in a structured and easily memorable manner however...


Few people mention the difficulties of the other paradigm, though. I've had lot of hallway conversations where, if I don't write down some notes, it's gone. Plus, if you don't have any control over it, having someone stop by your desk is a significant interruption.

Ever been in a situation where you asked someone for something you need done, they said yes verbally, it didn't get done, and now everyone is looking at you for the reason why it isn't done?


Ya I'd probably consider switching careers before returning to the tyranny of my manager just being able to pop up behind me. Fuck that.


How do you communicate the "right things" tho? That's the part i find difficult. I feel like most consumers just want cliff-notes. Which are difficult to write for a wide variety of audiences.


This is tough, yes. I'm a programmer -- so for me, knowing what's _vital_ to a task is what I'm always searching for. Nailing down requirements is challenging...!


I think the most frustrating part of remote work are people who expect synchronous communication. Conversations that go like “good morning, how are you?” and then wait until you reply to say “so I was wondering about x”

It’s annoying, wastes a lot of time and people keep doing it because they’re still stuck in office mode when they should be following IRC rules (don’t ask to ask)


Yes exactly. I worked with folks located in India and I had to tell them it’s OK to get straight to the point without having to wait for me to say hello back etc. I had to explain it’s not rude if they leave out the hellos and how are yous. Probably a cultural thing.


Communication is important and does require more communication - but more frequently I don"t think so. You don't pop into somon elses space and interrupt them unless you have a reason and don't do that often. IRC or other chats happened a lot more often as the receiver can just ignore it.


Currently in crisis because I simply can't handle communication in remote work. For something I do for the majority of my working day, I feel devoid of human interaction to such an extent that it's massively affecting my mental health.

I regularly find myself clock-watching until the next time I can talk to someone because everyone is always busy - there are no water coolers or coffee breaks to stitch in between.

Even if you create the virtual coffee break and have a chat with people, often we're pushed to abandon it - presumably because it's flipped from an opportunistic (oh, we're all of the phone, let's go grab a coffee) to a scheduled event which a) gets dropped and b) doesn't naturally recur.


I have to admit as someone who enjoys WFH and would never work in an office again, that having co-workers like you is one of the main reasons. You should work on not relying so much on others. You may be benefiting from all that social "charging up", but you're taking that from the person on the other side of the conversation.

I work to make money, not to fill someone's social void. You'll be happier if you explore the root cause of your issue and get a little more comfortable with yourself.


They're not referring to socializing with you, per se. I see this mistake made all the time in these discussions. Many just prefer to be around other people, myself included. They're not necessarily the caricature of the "overly social office mate that needs to find friends outside of work" that you are implying.

I really think you're overassuming your knowledge of the person you're responding to.


It’s not a mistake. People who are pro-WFH are so dogmatic about it (and so protective of their “right” to WFH) that they intentionally reduce anyone who prefers working in an office to somebody with no social life.


I guess it’s unsurprising that people without the social capacity to handle in office work would not have the social capacity to empathize with someone who prefers it.

Or more fairly, probably the inverse; plenty of WFHers wouldn’t be so derisive, we just don’t hear from them


That’s quite the generalization, and isn’t at all the typical pro-WFH attitude I see on HN.

I’m pro-WFH and have WFH-d since 2009 but I’d love to go to the office more, if the office were nice and in the right place.


Many of them bought homes way out in the boondocks assuming this covid remote crap would never end…


Yeah, and? That gives them the right to put down anyone who likes working in an office by calling them an anti-social loser?

Every decision has consequences.

Anybody who thought “covid remote crap would never end” is either way more optimistic or way more pessimistic than I am.


Totally agree. I really hate how so many people paint those who want 2019 normal office interaction back are somehow deeply flawed and just need to straighten up and fly right somehow.


I actually agree 100% with this perspective. Well said.


The root cause of my “issue” is I’m human and I’ve evolved to work with people face-to-face, not through a computer.

I’m not yearning for social interaction because I need a friend. I’ve got friends and they’re not at my job.

I’m yearning for the variety of different communication methods I have in a physical domain with the added bonus that I can change the environment I’m in to accommodate different tasks.


I mean, they can just as easily tell you to deal with in-person. This isn't a particularly useful contribution imo.


No offense to you, but this is why my next job will not be remote.


It’s fine to have preferences, it’s telling if you’ve reduced anyone who differs with yours into a mental disorder. Personally, I believe that your attitude is the bigger red flag.


Yet another case where capitalism incentivizes pathologizing natural human behavior. It is absolutely normal to want to talk to people, to chitchat, to be social for some portion of the half of your waking hours that you are getting stuff done. At least on assembly lines you can have some of that. WFH can be demonic.


Send your DMs when people are on "busy" status anyway. They can respond later. That's the huge advantage of remote work. Async communication is so much more efficient. If you're watching the clock, there's something wrong.


Async communication is not even remotely close to socializing, and hardly feels like genuine human interaction.


Work != socializing. Quality work requires deep concentration over long stretches of time, not tapping on a shoulder at random intervals. Both IRL and virtually.


I keep seeing people say this, but I always sympathize with others who lament the lack of socialization that comes with remote work. I have several engineering friends, and myself, who all have gone full remote and are starting to go a little insane from feeling lonely all the time.

"Just socialize outside of work!" seems to be everyone's go-to response, totally missing how much time is taken up by the 8+ hours of the workday, and how much ambient socialization has been lost with that time now spent remote.

Sure, remote is more convenient for "deep work", but I honestly never had issues with that in-office: If I had my headphones on, people didn't bother me. If I had questions, I'd take them off and look around to see if anyone else was "surfaced" to talk to, or ping someone on slack. In the meantime I could kill time chatting with my team or going for a walk around the building--when I would inevitably find someone else from another team who was taking a break, and I could either ask them or just chat.

Now it's just me, in my apartment, all day, except for maybe standup. The only reliable face-to-face human interaction I have is my partner when they come home from work--and they're usually exhausted and ready to go to bed in an hour.

Work absolutely used to be a significant portion of socialization--just like going to classes used to be, in college or secondary school. We've absolutely lost that.


> "Just socialize outside of work!" seems to be everyone's go-to response, totally missing how much time is taken up by the 8+ hours of the workday, and how much ambient socialization has been lost with that time now spent remote.

You're working remote, not necessarily working from home. The world is your office now.

For particularly meeting heavy days I have experienced no shame going on a daytrip while on those calls. It's nobody's business how you do your job remotely anyway. Get some coding in while stopped somewhere. Yes this means I have to make up for lost time in the day with all the interruptions. No I can't just put away the laptop at 5pm because I still have stuff to do (usually done by 8pm), but it's worth it. If Sarah from accounting is allowed to flex time to pick up her kids from soccer practice, I'm allowed to shoot the shit with random people I meet while getting gas or trying a new restaurant. There's your new watercooler. Go to the beach or something. If your partner is driving you around, even better. Use the laptop like its namesake suggests.

Not exactly a "digital nomad" lifestyle, but it's such a mood boost to mix light travel with working hours. It's a win for everyone if productivity goes up from these little things.


My team does collaborative sessions twice a week with the whole team, and has a game session once a month. Between all the rest of the meetings, and between the important work we get done through chat, I feel that we do get to know each other and enjoy the time we spend together online. Plus we have public and private social chats full of devs of relatively the same level or age groups where coworkers feel comfortable chatting about sensitive topics. I feel socially fulfilled by this but I can't know if everyone else does.


> Work != socializing.

That's plain unhealthy.

> Quality work requires deep concentration over long stretches of time, not tapping on a shoulder at random intervals. Both IRL and virtually.

This has little to do with socializing or not.


>> Work != socializing.

> That's plain unhealthy.

Why? I have friends and people I socialize with, I don't have to socialize with my coworkers. I am friends with people I've met along the way, but with everyone else I keep a distance and remain professional. Why is it unhealthy to have boundaries around work relationships?


It's a basic psychological need: humans are social animals. People spend 40+ hours at week at work for many decades. Unless you work only 5 hours a week, it's a huge fraction of a lifetime.


I had this issue and the only way I could solve it was moving to a primarily in-office company. This was the best thing I ever did for my mental health.

Not trying to start a big debate over the whole issue, but just sharing that I felt very similarly to you ("massively affecting my mental health") and that it was solved by doing the obvious: going back to the office.

No amount of socializing outside of work or hobbies or 1:1s during the workday sufficed for me.


It would be interesting to see what happens when all the extroverts self select for in office work and introverts self select for wfh.


I did the same as DiggyJohnson. And I'm introverted. Even introverts need human connection and interaction. And in my experience, being in an office is easier for an introvert.

Being 100% remote for several years was terrible for my mental health. As to why... well, a lot of it was precisely because I'm introverted.

As an introvert, it's a lot more draining to do the explicit communication required to work remote effectively. Maybe 10% of people can work effectively over written comms. As a lead, I had to schedule zoom calls and make explicit face to face time to make any of it work. In an office setting, this happens more naturally and is a lot easier.

On top of that, I found at a 100% remote company it seems more common for people issues to happen. When you are only interacting over text most of the time, misunderstandings seem to happen more often.

I found it very draining to fix these issues. It was much harder than if we had been in an office together, where we could just have a quick chat and fix sensitive topics. It's also more obvious in an office setting when this stuff happens and so you can sort it faster.


Well said, I appreciate you sharing this. I consider myself almost completely neutral on the extrovert / introvert scale, but when it comes to this topic, there’s a lot of spurious assumptions made about the type of person that prefers to be in office. It strikes me as caricature.


My team is incredibly quiet on slack and I find it pretty frustrating. We're under 10 people so I don't expect constant chat but it's not uncommon for our guild channel to have a day go by with no messages.

I try to keep it alive by posting interesting articles, updates and tools and things like that and that sometimes drums up some conversation but it's rare that my teammates do the same thing.

I'm not sure if I'm more passionate about tech, more extroverted, more obsessed with improving processes or just less busy than them. It's been like this at multiple companies I've been at so it's not unique to my current team. And I'm clearly the outlier.

I just try to not take it personally and keep going. I feel like I post really cool things, especially new tools/repos/projects that benefit everyone to the void sometimes.


I sympathize. You're the person who does this because they love it and sees room for improvement everywhere. Unfortunately, most people are not like that. I know because I've been in a few teams and it's rare to find the person who is seeking constant improvement. Most get to just good enough and stop there. It's fine. It is what it is.


> I try to keep it alive by posting interesting articles, updates and tools and things like that and that sometimes drums up some conversation but it's rare that my teammates do the same thing.

It's a lot of work to read articles when people post them or evaluate a tool. It's even more work to form an interesting opinion about it and discuss it.

I enjoy researching things on my own time, but I find it stressful to add to my workload at work, especially when it's not related to the other work I'm already doing.


> I'm not sure if I'm more passionate about tech, more extroverted, more obsessed with improving processes or just less busy than them. It's been like this at multiple companies I've been at so it's not unique to my current team.

It's none of these things. I am the same way but we are the minority.


find the social outside of work? Work has always been work for me and nothing more, not really looking for socialising.

In fairness I've been fully remote for 10 years but I see friends during the day for coffees, lunch, exercise. And then multiple sports clubs in the evenings


> Work has always been work for me and nothing more, not really looking for socialising.

But work is 40-50 hours of my week. That's a HUGE portion of my life. Almost half my waking hours are at work. (7x16=112 waking hours a week. 35-45% of it at work).

Not taking time to socialize during that period is draining as hell for me. I guess what I'm trying to say is you're way overestimating the percentage of people who can go to work and just... work. Most people need the socialization.


Outside of just cutting WFH, alternatives are to work in places where there's people: libraries, co-working spaces, co-working coffees etc.

You'll have no commitment to come everyday, have people to talk to, and still hopefully be close enough to home to get back anytime you need pure calm or a full dedicated environment.

To note, for many people WFH means their family is around one door away, which makes it a widely different experience from people living alone.


Sounds like WFH isn't for you then.


That's... my point. WFH isn't for a lot of people. And there are factions who say stuff like "Just get a hobby dude!" as if that fixes anything.


I have a great social life outside of work and still felt the same as GP during the remote work day. And I'm pretty reserved at work, not known for bothering people incessantly.


Do more 1:1s. You'll have to chase some things piecemeal across two to three people, but you'll soon figure out who actually owns a topic and be able to have more in-depth conversations.


I have a friend who often works alone for extended periods of time in isolated locations and loves being with people. Similar to your situation, but more outdoorsy. His solution is having an open phone line, just have a call going and occasionally saying things, chatting, joking, etc, or not. Sometimes it's real quiet for long stretches, but it's less lonely. I'm a quiet guy, and even I enjoy being on those calls.


Take your own breaks. Hang out with friends. Take a lunch. Your officemates do not have to be your end-all of social interaction :)


Welcome to my world. You aren’t alone. Remote work absolutely ruined my career…

I really hope what shakes out is some places are all in on the office and some are all in on remote. None of this dithering crap that came post 2020


This is why I went back to the office, but it took me a very long time to realize it.

Try to exercise a lot during the day, it helps.


i had the same problem. i solved it by becoming much more social in my non-work parts of life.


If its affecting your mental health so much, perhaps you should change jobs.


What did you want to talk about?


This sounds great for experienced engineers, but in my experience junior workers often require bite-sized guidance in order to avoid going down rabbit holes. A 10 second conversation could easily save hours of head-banging-into-wall type work for a junior SWE (not even exaggerating).

Accordingly, during the pandemic I think it was mostly the less experienced engineers suffering from low productivity and lack of confidence (which feed into each other).


I had the rare privilege of pair-programming 40 hours a week for several years early in my career. This follows the extreme programming ethos of "everything in the limit," where pairing is "code review in the limit" and "mentorship in the limit," to say nothing of the oral tradition it imparts[0].

Even pair-programming with my fellow juniors was both more productive and more educational than a rubber duck[1].

I had the opportunity to sit down to dinner with some very junior devs at a family gathering, recently, and to hear of their isolation due to remote-work broke my heart. They simply have no idea what they're missing.

0. https://www.youtube.com/watch?v=4PaWFYm0kEw

1. https://en.wikipedia.org/wiki/Rubber_duck_debugging


As a counterpoint, I have a hard time coding with other people, it’s like part of my brain spends the whole interaction thinking about what they could be thinking and I usually can’t shut this off. It’s especially aggravated if the person isn’t very familiar to me. For leetcode style interviews that means I basically memorized hundreds of kinds of problems and pattern match to them because thinking deeply while supervised just doesn’t reliably happen for me.

I know mentorship is important and spend quite a bit of time on it everywhere I work, including with pairing. But the costs to many senior people’s productivity are very real and can’t be stated lightly. Remote work has been a godsend, previously I would do my best work behind a closed office door, in the back of a company bus, or after hours at home and it’s like having unlimited access to that zone.


I think it can work great for some people. I did it for a few weeks at one point, and found it thoroughly unproductive. 90% of my time was spent waiting for somebody else to type something, or trying to verbally communicate something that would be better done in writing/code.

Even now I find it incredibly off-putting to have somebody looking over my shoulder when I'm trying to work, to the point that I basically just can't. People have asked to watch me do something, and my response is that you can either watch me, or I can do it, but not both. It's like Heisenberg Uncertainty for work output.


> waiting for somebody else to type

> trying to verbally communicate something that would be better done in writing/code

> somebody looking over my shoulder

At the risk of sounding flippant, none of these activities comprise pair programming. What's better written should be, and the simplest way might be "can I just show you?" or, from a particularly well-atuned pair, "would you mind showing me?"

"Waiting for someone else to type," in my experience, is either a good opportunity to finish a bit of thinking that'd I'd put off moments prior, or else premeditate on our next move. Sometimes, however, the typing is, as you alluded to, an attempt to communicate something, in which case watching them type is roughly equivalent to listening to a person in conversation, and therefore an opportunity to learn, catch bugs, etc. In other words, when I am pair-programming I am never waiting qua idling.

And, lastly, I completely agree that "somebody looking over my shoulder" is an unnerving condition to code under. As purely ergonomic concern, "over one's shoulder" is not a healthy position from which to operate a computer. ;)

But, seriously, it's not pair programming if you're not on equal footing (seating?), with equal access to mouse, keyboard, and monitor. Don't stand for someone standing behind you!

I am sorry for the unpleasant experiences you've had. As a practitioner, I would not have subjected you to them. I am, frankly, vicariously irritated with whomever did.


"Looking over your shoulder" was just a figure of speech, not a literal description. And I suppose I could have grabbed the keyboard, but there's social niceties to navigate, everyone likes their keyboard & IDE set up different ways, and it's generally a PITA.

Also the way I tend to code is never linear in a way that anybody else could follow. I write something, edit it, throw it away, put it back, rename it, hack out something I _know_ is buggy so I can see how it looks, and basically "thrash" my way to a solution that I like. That makes it essentially impossible for anybody to follow in real time, and having them try to point out errors would be counterproductive. In the later stages someone could help polish it, but even then I think it'd mostly be a waste of time.

That's before we even get to things like dealing with interruptions, or answering other questions quickly. Ideally interruptions don't happen, but in practice they do, and I don't want to be wasting someone else's time.

There's a lot I liked about XP, but I still think that (for some people) it's just a great way to make two devs produce the output of one intern.


Meh, I don't think this is an intrinsic quality of working in the same space. Sometimes it is, if you're very lucky, but my experience in offices was mostly wasteful interactions with people who weren't satisfied with me checking my messages periodically instead of instantly.


> I don't think this is an intrinsic quality of working in the same space

It's certainly not.


I'd chew my arm off to have that 40h a week pair programming experience to be honest.

Sounds like my dream job.


I still think that is a culture problem. I have a team of engineers that frequently has a lot of junior engineers. I find it really REALLY important to reinforce the culture of "software development is a team sport" and provide concrete mechanisms to do so.

Junior engineers need help as the same rate they did before. They still need to ask for help. Remote work lets it:

- happen asynchronously & synchronously

- creates visibility of asking for help

        - reduces this weird shame around it

        - allows us to correct bad answers

 - allows people to learn from others with the same questions

 - self manages by capacity because the people with time are the ones that can answer questions

 - produces an awesome collection of analytics: how many & what questions are being asked by who, Who is answering questions and about what?
Remote work is a communication and cultural change that a lot of teams have done poorly. I think most teams decided when the pandemic hit: "oh we'll use teams or slack. That's enough" and never thought more about it.


It's always difficult for people to ask for help. The best thing senior engineers can do is set the example and ask for help when they get stuck on something--even if it's something they could figure out on their own with some time.


100%. If your seniors aren’t asking for help or even casually chatting in channels, then why would the juniors be expected to start. Setting the example helps encourage it and make it no big deal.


Your team started out as in person?

What kinds of things did you think about to transition to where you are? How did that transition happen?


Well, it was always true for EMs that you could have a junior dev quietly spinning their wheels and not asking for help. The difference is before you could sometimes see they were frustrated, and they could see other people asking for help and know that's just part of how you work. If they can't see it passively, you have to proactively show them.

You can and should still have those 10 second conversations. We've got Slack huddles, screen sharing, VSCode Live Share for more complex pairing... the tools are really good now.

That said, I tend to agree, a remote culture that doesn't respect the need for teaching and mentoring is going to be bad at it.


When I worked in an office it was much easier to casually ask for quick help. It was often pretty obvious whether a senior engineer was busy and focused or between tasks, checking email etc. and the overhead/friction of these ten-second conversations is higher when you have to wait for a response on slack, then launch a video call, share screen... instead of just making eye contact and saying "got a sec?"


Pair junior developer with a senior, starting with an hour every other day.

I had more problems with junior developers who think they're senior developers (some experience, high-confidence) bc they don't ask for help when they should.


I had the opposite experience with junior devs on my team. The ones that knew how to communicate and ask for help thrived. It was easy to negotiate some head banging on the wall time while also pairing from time to time to discuss where they're going. I've seem them flourish in less than a year's time and be able to perform just like experienced devs.


All of the junior devs Ive ever mentored, I would be as detailed as possible with my onboarding, demo the product from end to end, walk them through the codebase, and provide step by step instructions to start up their own dev environment. This usually took a couple of days, depending on the project and the dev.

Then I give them a ticket and say "if you get stuck, let me know"

For the first little while, I am super responsive with them and answer everything immediately and eagerly.

After a while, I start to wait about 5-10 minutes before I respond to questions. Usually they figure out the answers before I even get back to them in these cases, and then I get to praise them for it.


That's a great technique I would say!

I stumbled on it by chance when I failed to make it to a client meeting with one junior dev I was leading. He was counting on my presence to support him, we had already discussed it before. But I got caught up last minute and he decided to go alone. And I know it was hard for him, but everything went fine. And from then on he was a lot more confident in his day to day.


>A 10 second conversation could easily save hours of head-banging-into-wall type work for a junior SWE (not even exaggerating).

Weeks, even. It took me a while to come to terms with the fact that this is the majority of my value to an org now. Not so much in my IC abilities, but in the ability to save endless amounts of time for lesser experienced folks.


In my project (30+ members) we have team members located in multiple locations (6+ cities in 4 countries). And for the last 2+ years I am the only one working from my country. While our company is 500+ strong in this country, for this particular project I am the only one.

So interactions with the project team is fully remote.

I am sure even pre-covid many MNCs might have a similar structure with members spread across different location. Though coming to office, but project work happens remotely. Also have juniors joining the team.

It might be difficult for juniors to get started. But not impossible to handle.


> Its difficult - yes. But not impossible to handle.

The problem with “difficult but not impossible” is that it requires special personality types to handle it.

Some people can do it, but now you have a secondary problem in that you need to find a way to filter those people in the hiring pipeline. You also have a risk of hiring people who can’t handle it and having to cut them and re-hire.

This is why most “difficult but not impossible” conditions are reserved for special exceptions but aren’t useful for general policies.


> it requires special personality types to handle it.

I agree, and I don't see a problem with it.

> [...], but aren’t useful for general policies.

offices are just optimizing for the loudest and more social people, this is a consequence of managers tending to be like that, I don't think that approach is useful for general policies neither.


Isn't the same thing true about working in an office? Certain personality types thrive while others suffer.


I disagree its difficult. When the culture supports mentorship, onboarding and first year experience as high priority items with solid guidelines / process around them, its pretty easy.

but wait, that means changing cultural and such, that's not easy is the response I often get to this, to which I say preemptively:

That I would agree with, because the US business cultural is surprisingly stiff to changing things that would have favorable impact to workers, but that is IMO a different and separate discussion to the fact that this is a readily solvable problem.


A 10 second conversations sounds like a slack message to me, or providing the guidance before they go down the rabbit.


The difference is you can tell on someone's face whether they're struggling or cranking away without bugging them.

"Give guidance before" is about as good a "just don't make mistakes."


No you can't. Also, this could be a slack message.

"Hey, I need you to take a look at #154, don't worry about the issues Jeff is mentioning, we just need you to fix the error in the form and write a test. If you run into any frontend issues, work with Mike, I already let him know you might be coming to him.

This is basic manager, Sr. Developer stuff.


I think the experience of banging your head against the wall (for a bit) can be valuable. As long as the culture of the team encourages this and offers an escape hatch after a few hours (or whatever timeframe is appropriate for the problem).


> the experience of banging your head against the wall (for a bit) can be valuable

Yes. This "get it done as fast as humanly possible whether or not you actually understand what you're doing" is the most detrimental attitude toward beginning software developers I can think of. "Going down a rabbit hole" is a dismissive way of saying "actually figure out what the computer is doing" which is what actually makes you valuable to the team. If you just wanted somebody who can type in what they're told to type in, you're wasting a lot of money hiring computer science graduates.


What's worse, you're actually hurting their future career by allowing (or encouraging) them to develop bad intellectual, work, and communication habits. Borderline abusive IMO because the junior doesn't realize they've been misled until much later.


Yep, this is learning. Asking for help is a key part. Without trying first, asking for help is asking for someone to do it for you.

In office, remote, whichever - I've been ignored. It took a while to learn to ask questions.

People will help, but "the squeaky wheel gets the grease", and all. There's movement [or an attempt] implied with this.

The locality doesn't matter, effective communication can exist in either.

It's possible to foster a remote environment where Juniors do ask questions - I've worked in several. As such, I'm skeptical of this 'Think of the Juniors' concern. It's manageable.

It's also worth pointing out, Junior and Senior aren't diametrically opposed. It's relative and nebulous depending on context.

I'm a Senior Architect, but know very little about the specifics of our network devices - for example. I'm Junior to our 'Network Engineering' team, making an Ouroboros of Seniority

Recognizing where strengths are helps greatly. Productive environments have their Seniors evangelizing this awareness


> As such, I'm skeptical of this 'Think of the Juniors' concern. It's manageable.

The top comment is saying how to manage it. TFA isn’t saying no remote work, it’s saying less frequent communication. That doesn’t work in all cases. Struggling for hours without getting much done or understanding more isn’t effective for productivity or learning by definition. These cases can often be prevented with quick questions. “Send me an email, I check it every Monday and Thursday” doesn’t support that.


My skepticism isn't aimed at them

This can be prevented without (net) more involvement... with better use of those existing sessions, perhaps splitting them.

The definitions on that aren't clear - the comments around seem to expect the worst, absent employers abound.

I expect a fairly guided mission, with reports on findings. Questions both ways, Socratic or not.


Totally agree. But with newbies I feel it’s very important to check from time to time if they are banging their heads on the right wall.


exactly, the most frustrating type of behavior for any colleague (esp jrs) is those who just default to consistently ask for help instead of diving deep. That behavior is costly in slowing down others. People need to learn how to learn, otherwise they will just be handicapping team if they cannot function independently. At the same time, navigating large proprietary or new knowledge sources can be tedious and sometimes impossible, but I have found that starting from the ask first mentality to be a positive feedback loop for never diving deep.


> default to consistently ask for help

Don't necessarily blame the developer - there's a _lot_ of pressure from the PHB that doesn't understand the difference between HTML and Linux to "get it done right now" and they think (for no reason) that nagging somebody else to do it for you is the most efficient way to do that.


I think if you have a good mentor or guide in a space where there might be a proprietary system, it’s a lot easier to start being able to do those deep dives. I found that when people were able to explain the larger context for the question I was asking, I would be able to move along faster and deep dive, but with brief answers that didn’t really go beyond my surface level questions, I ended up having to ask a lot more questions, sometimes finding certain information was never documented.


On the one hand, I agree from personal experience. Banging my head on the wall is how I’ve learned quite a lot of what I know and developed many helpful instincts.

But on the other hand, I think that value comes from more than the persistence alone: it depends a lot on what you hope to get out of it. And I also say this from experience. Banging my head to “make it work” has almost always been an enormous waste of time and effort, but to “learn how/why it works [or not]” has been the exact opposite.


It is particularly helpful if the team answers using a text format that is easily searchable (e.g., Slack). Long-term written communication is better for building a team's institutional knowledge than verbal communication. I have saved hours of work just finding URLs and documents that I had posted, let alone others.


I myself have also learned a lot from this. But I also see people doing it whilst they feel more pressure and less space to ask for help. That can lead to a non helpful state of a very quick shallow search for solutions. Anything complicated gets dismissed as 'will take too long', and you end up with completely suboptimal bodged solutions that, if anything, taught the wrong thing.

Learning to do things properly by banging your head against the wall is great. But only if you feel like you have the leeway to figure out how to do things properly. Without that leeway, you need the space to ask for help.


I dont. Ive gone down many rabbit holes thanks to, for instance, subtly incorrect or outdated docs in working cultures that valued not being interrupted and it's a recipe for anxiety and a huge waste of time.


Hopefully you updated the docs as you encountered them and figured out the most up to date context.


I dont think I even had edit rights. I was also under pressure to do my actual job.

I would have loved to have been working in an environment where I could work with the system maintainers to fix their docs collaboratively but alas it was more of an "I'm busy go away" type environment.

I think this type of dysfunction was fairly common during lockdown WFH.


> Hopefully you updated the docs as you encountered them and figured out the most up to date context.

I've been in an environment like this, and it really burned me out.

People broke docs faster than I could fix them, and it was an accepted part of the development process.

My conclusion was that fixing the docs was simply a waste of time. My resulting despair for the software and the company surely destroyed my productivity. (I'm not saying this is a valid excuse; just an explanation.)


> My conclusion was that fixing the docs was simply a waste of time. My resulting despair for the software and the company surely destroyed my productivity.

What did you do instead? It’s certainly frustrating to have people breaking docs that you fixed. But what else is there. You just figured it out on your own and left the docs broken?


> What did you do instead? It’s certainly frustrating to have people breaking docs that you fixed. But what else is there.

I concluded that it was a fatal and unfixable flaw in that community / product / company. This sapped my motivation, and I'm sure resulting burnout was a factor in eventually being laid off.

One thing that sucks about being a senior dev is you're subject to Cassandra [0] syndrome. In a tight labor market, that gets painful.

[0] https://en.wikipedia.org/wiki/Cassandra


I bang my head into the wall all the time. You just have to know which walls have a pot of gold behind them.


It a useless exercise to have people do so for solved problems.

Sure, reinventing the wheel every time is a valuable experience, but it's not efficient to relearn how to do things every time.

This is like letting toddlers struggle to learn how to tie shoes themselves, sure they will eventually figure it out, but it's better to just teach people have to do the basics, and let people bang their heads against hard problems.


> This is like letting toddlers struggle to learn how to tie shoes themselves

Junior engineers aren't toddlers. Hopefully they're a lot more competent. Nobody hires toddlers to do work.


It’s just an analogy. human progress is made from “standing on the shoulders of giants” not starting from scratch.


It wasn't a good analogy. For one thing, toddlers don't tie their shoes: the average age for learning to tie your shoes is 6 years old. And it's not clear that kids will learn for themselves if you give them a few hours. We're not talking about letting junior engineers struggle for weeks or months, but they can bang their heads for a few hours or maybe even a few days and figure out a lot of things for themselves. That's a useful skill to acquire.

Here's my analogy: if you want to learn how to ride a bike, you've got to take off the training wheels, and sometimes that means falling over.


I don't think you get it. Letting a junior engineer bang their heads for a few days on something you could show them in ten minutes is just a waste of time and money. In my experience there are PLENTY of real problems for them to solve, things I DON'T know the answer for.


You can't just consider one question and one answer in isolation. The questions and answers add up. It's a waste of the senior engineer's time to spend ten minutes each answering every question of junior engineers who are constantly asking questions, seemingly incapable of helping themselves. The senior engineer becomes a glorified babysitter, and the junior engineers then never learn to solve problems for themselves, which will waste everyone's time in the future.

Not every problem is going to take junior engineers days to solve for themselves. I was stating an upper bound of how much rope to give them, not an average.

Besides, what happens when the senior engineer leaves the company? Sometimes "institutional knowledge" walks out of the institution.


Yes, what happens when the senior engineer leaves the company, having never shared his or her knowledge?

It sounds like you are trying to address issues during mentoring that should have been addressed during the hiring process. In my experience, all the juniors I've worked with come in with the idea that they can solve every single issue themselves, and part of my job is to show them how wasteful that is, that a simple question can save the whole team days if not weeks worth of time.

If someone walked through the door who is not enthusiastic about solving technical issues themselves...your hiring process needs work.


> A 10 second conversation could easily save hours of head-banging-into-wall type work for a junior SWE

Agree, though sometimes the hours of head banging will benefit greatly to the skills of said junior.

That aside, everyone should be encouraged to ask to company's developer forum (slack channel). That way, if the senior that's responsible to train the junior is busy, other less busy senior can help.


Reminds me of when I blew up on my partner when I told her I'm not going to tell her how to switch from Playstation to Roku on the TV for the 1000th time. She spent 2 minutes trying to figure out and actually now understands how it works.


It doesn't have to be this way though. This sounds to me like a huge gap in communication and on-boarding process, which indirectly is a cultural problem, its not a remote work problem.

You can solve this, and many organizations have. It does mean re-thinking expectations around onboarding and the role of mentorship in the company though


I think it's actually better for junior engineers to go alone for long stretches of time. That is such a huge driving force for their own success, when they have to learn by doing a lot of things on their own, without external help, and without someone constantly micro-managing them.


I don't know. Really depends.

Some of them are very independently-motivated and self-contained, but inexperience means they are still prone to rabbit holes. Others really will sit on their hands until explicitly told what to do, which doesn't mean they're bad or lazy, just that they require tight feedback loops.

In both cases, it seems like quicker feedback cycles do more good than harm.


I’m convinced the strength of the “rabbit hole detector” is what truly differentiates software engineers. While I do think experience has something to do with it, I have also observed very senior people with terrible RHDs.


Part of the job of a mentor/senior engineer is spending time helping get juniors up-to-speed on projects and getting them comfortable asking questions. And if they're not asking questions, checking in on them to see how they're doing. (Pro-tip: don't just ask them how they're doing, have them explain what they're doing and why. Problems show up a lot faster that way. :)

Building an environment where junior engineers learn how to find things out on their own and when they need to ask questions is a company culture thing and has very little to do with remote vs in-office.


> but in my experience junior workers often require bite-sized guidance in order to avoid going down rabbit holes. A 10-second conversation could easily save hours of head-banging-into-wall type work

This is why I more or less never go and "do my own research" before asking questions for hobby projects. I've gotten stuck in too many research rabbit holes and (hopefully) have learned my lesson. Ask first, then get mired in irrelevant details if the response to my bizarrely unique question is crickets.


I dunno, I was only a few months into my first job when covid hit. Going down all those rabbit holes alone was a massive learning experience. I'd much rather do all that head-wall banging and figure it out myself. I'd have felt smothered if somebody was checking in on my every couple of hours. But this does seem to be a fascinating difference with academia and industry. E.g, in gradschool I got 30 min a week with my advisor, and by some standards that is actually a lot.


Dealing with frustration is part of this job.

Also this is trivially solved through checking on the person twice a day and doing call reviews, thus making it at most a few hours.

Actually, this is a regular part of successful remote team building.

Meanwhile making the junior approach unannounced is counterproductive. I for one would rather have my interruptions at least scheduled if they can't be avoided.


Agreed. As a 10 YoE engineer working from home is a blessing. Interruptions are minimal and I can take a 15-20 minutes nap if I want. Before the pandemic my office provided a nap room so napping during business hours is NOT frowned upon.

People still ping me frequently for a "quick chat" which is rarely quick, tho.


This is very true. For interns and junior devs if the team is remote the seniors need to set aside time to help them out daily. I've started doing this as a senior dev on my team, basically setting time for office hours, and it's been great so far.


Office hours is an ironic choice of words.


Agreed, tools like gathertown can make a big difference in improving this problem for remote teams, but it requires buy in from the top and the right culture (everyone has to hang out in there during working hours).


That's true, but I don't see how this relates to pandemic or being remote?

Also not reaching out when getting totally stuck is a bad thing, but again unrelated?


There is a higher hurdle to setting up a zoom call than there was to waking up to a colleague who was at their desk and didn’t look obviously busy. Solve that, and you probably solve a lot of low-grade communication challenges that are made worse by being remote as compared to in-same-office.


A 10 second convo is a two liner question I can shoot of via chat any time, not even needing to look for (and still fail or mistake) unbusy persons (and with a small team chat even broadcast to multiple people to also solve finding the unbusy person)? There are always many perspectives.. I have also seen introverts cope much better that way than approaching IRL. Heck you can even combine, "let me know when you are not busy to quickly explain me X" providing already the question async way, and then have the call or real desk meeting afterwards?

> There is a higher hurdle to setting up a zoom call than there was to waking up to a colleague who was at their desk

Also just not getting that, hitting the call button (or a real phone call) was always quicker and easier than walking two floors down to another room just to find the person not at its desk. Where is the hurdle?

Really, just not getting it ;) What's to be solved? I see it may be a problem or hurdle for some, but for others the bigger hurdle is the opposite way. Don't extrapolate, generalize and state it like fact, because that is imo not true for everybody and may be the other way round.


Slacking 'hey, can we do a quick huddle?' takes about the same time as walking to someone's desk (less if the desk is far away;)


> I don't see how this relates to pandemic or being remote?

There was more friction to asking quick questions, compared to being in office. This may not be the case any longer at all companies, as it's possible that some of them solved this with new communication practices.


Absolutely agree. I think remote engineering work is a skill that is hard to acquire when you're very junior.


Those "rabbit holes" are where you learn. Saving hours is more important if you bill hourly, less if you are salaried.


Generally agree that rabbit holes (or as my wife calls mine: black holes) can be conducive to learning. But I suspect that there's diminishing returns. At some point, you may end up spinning your wheels and reaching out for help does not distract from learning the valuable lesson.


If you're doing a PhD, that point is a weekly chat with your supervisor. I don't see why a few hour "rabbit hole" would be a problem in software engineering. If we're even discussing hours unless billing hourly, that's a red flag for micromanagement.


Indeed. There may be a toxic or stupid management culture at that company if they're worried about someone going down a rabbit hole to learn. In my experience this is usually in teams that are run by people who don't have technical ability.


Going down rabbit holes and getting something out of it is fine, but that doesn't always happen.

Sometimes people are just frustrated and spinning their wheels, or doing work that turns out to be pointless because they failed to understand something which would have been clarified by a short conversation.


That can be measured by frequency of code commits. You can tell which juniors are making the most of a rabbit hole and becoming better versus which ones are mindlessly surfing because they don't want to think. The first group will have things to share or talk about if they go some time without committing code and their mentor or manager starts getting worried.

If someone hasn't pushed something in a week or two, that's a good time for their mentor to initiate a conversation and see where they're at and when they think they will push something.

Anything else is micromanagement by a company that has hired someone without giving them any amount of runway to actually work and learn the space they're in. You can also tell on company hardware and on company accounts if the junior's browsing history represents getting better or just resting on their haunches because they want someone else to do the thinking. Let's not pretend the micromanagement cultures where "fear of rabbit holes" exists are not already doing this.


>You can also tell on company hardware and on company accounts if the junior's browsing history represents getting better or just resting on their haunches because they want someone else to do the thinking.

Are you saying the mentor should actually go and check the browsing history of one their engineers to verify whether they've actually done "correct work" or what are you trying to say exactly? This sounds to me like micromanagement of the highest order.


What I'm saying is that they already do it and already have access to enough information to know who is making the most of a rabbit hole and who is not. Code commit frequency is sufficient in itself.


A culture of good, clear documentation is critical.


Have the 10 second conversation over video


That's why one should hire juniors based on how well they communicate and less based on their skills to invert a binary tree or design a URL shortener service.


There's an abundance of people that can talk but do less. Real tech talent are rare, not that you find them by algorithms quizzes.


Oh.. The poor juniors.

Instead of properly adapting the onboarding and mentoring to the remote setting let's romanticize the good old ways that imho sucked.

Let's cherrypick and pretend everything is fine. We went from offices to cubicles to open space and nobody stopped to think if it was a good idea. Wr transformed the office from a place where work actually is done to a placr where we "socialize". Work? Do that on your own time.


Can you please make your substantive points without fulminating, snarking, or posting in the flamewar style? This is in the site guidelines: https://news.ycombinator.com/newsguidelines.html.


I will try


Thanks!


> Instead of properly adapting the onboarding and mentoring

But... how? Remote check-ins with juniors every 30-60 minutes? That's crazy. But that's basically the only way to replicate the in person experience.

The best mentoring results for me as the mentee and for me as a mentor have been when we're sitting next to each other. The mentor can visually tell when the mentee is stuck, and mentee can tell when the mentor isn't focusing on anything important and is more willing to ask for help.

No matter how many times you tell junior engineers to ping you at the first sign of trouble, they're not going to do it. They're going to toil for way longer than needed, unless you're sitting right next to each other.


I like to do virtual desk with Slack, where I will have a channel where I'm always in a huddle and they can drop by when they have questions, just like they would in-office.

I have to say as a counter point though that I've had a lot more trouble with coworkers coming to my physical desk for questions that they could have Googled than with Junior getting stuck for extended period of time remotely. It's all a matter of culture and relationships.


100% this. Keep an open channel for IM and setup regular shadowing. I've been on both ends, learning and teaching. It's way preferable to have your own computer, shared screen vs trying to look at another screen and taking notes. Remote is better for collaboration and training. Proper documentation is a big part of it, and open channels for IM, like slack.


> Remote is better for collaboration and training.

Oh come on... I get arguing that there are ways to make remote training good enough. Maybe even similar. Maybe even a net-positive when you look at the entire picture (including the productivity and happiness of your senior staff). But saying remote is better for training specifically? No way. That makes no logical sense.


Please elaborate how it's better in person? Remote: I can see and hear the person. I can see their screen. I can copy past back and forth (as can they) through the screen sharing app. I can invite others into the training pretty much instantly. I can send links and commands typed properly in the chat. User can record session for later.

In person: Usually have to face the person or the screen, can't see both. I have to write down commands and pass them, or type them myself. There is a delay finding others if we need to talk to them. More chance to transpose commands incorrectly by the user. Harder to record the session without losing parts.


Everything you can do remotely, you can do in person as well. I don't know why you think you can't screen share or send links and commands in a chat if you're in person.

So at minimum, in person would be the same. So I can't possibly see how in person could be worse.


So you're just ranting, no data and looks like no experience. OK

In person is worse. I've done both. It's noisier, you're crammed into a cube taking notes, etc. If you're going to use remote tools, what's the benefit of in person?


> looks like no experience

Got it, I see you're in the "make up stuff about the other person" phase of the discussion. No point in continuing here.


Sure, all you ever said was you could not believe and you could do remote stuff in person. Way to support your statements.


It's really not an issue to have a junior bang their head against the wall for a few hours and then telling them that they should have gotten help sooner.

They won't do that every single time. At some point they'll realize that asking for help isn't an issue.


Yew, if only we could assign a senior engineer to watch over every new person that joins /s

Part of learning to be a sw developer is learning how to go about your work. Learning when to ask for help. If someone is doing this for you, you'll never going to learn.


Why the /s? I happen to agree with that statement.

Part of being a senior engineer is to use the mentorship skills you developed along the way and make judgements about how much struggle is right. Every new person should have a more senior partner with whom they can ask the dumb questions and not be made to feel dumb.


> learning how to go about your work

There are whole college degree programs designed to teach this, in fact.


The juniors will have to read documentation and spend long hours writing and reading code and understanding what has already been built. Just like all of us who did that and had to do it in order to move up. The idea of spending time "mentoring juniors" has always ended up being an euphemism. It's just a way for non-technical people, at the end of the day, to consume as much time as possible from other people so they can pretend to be doing work.

It's clear which juniors are motivated and will make the most of the mentorship and which ones are not. Some are just there for the check and you cannot compromise your senior and higher talent on people who don't want to learn and grow and just want the prestige and check of a high-tech job. It's the same situation with someone who is drowning not listening to orders and taking down their rescuer with them too.

If a junior needs someone to sit next to them because they toil for way longer than needed on clear simple requirements and goals, this may not be the field for them. I never needed anyone right next to me that couldn't have been a direct message or a brief remote call to clarify something specific, clear, and to the point. You're describing a reality where the people who don't do are just trying to take as much time for themselves as possible to hide the fact that they don't want to think.


Effective use of group chat works well. The most effective remote teams, there are little conversations happening in the team Slack, often more than once per hour that can go for 5-10 minutes. Some people are bad at communicating over text but some people are also bad at communicating in person and in-person just biases for the latter, it's not inherently better. It can be helpful to hop on video but there's a ton of ways to communicate, often more effectively and less disruptively.


> But... how? Remote check-ins with juniors every 30-60 minutes? That's crazy. But that's basically the only way to replicate the in person experience.

We've used day long zoom windows or slack huddles. Keep muted until you want to say something. Slack is the same thing, just send a message.


Agile environments are much better at this. Its inherent frequent touchpoints and "fail fast" mindset can help to ensure the juniors are getting as much information and direction as required.


Who suggested checking in with juniors every 30-60 minutes? GP certainly didn't. You're arguing against a strawman.


Sorry I edited to include my point there. If you don't have 30-60 minute check-ins with juniors, they're not going to have the same rapid feedback that they'd get from in person mentoring.

And very importantly, I'm saying 30-60 minute remote check-ins are an absolutely insane idea that should never be implemented.

I don't know any kind of remote system that provides for anything even close to the power of in-person mentoring.


Lol. Are those juniors in the room with us right now?

How about letting them figure it out and provide opportunities to chat and ask questions from time to time. Everyone wants superdevelopers but everyone expects that you're going to put a complete noob in a room with a senior developer, they're gonna rub hand and in 2-4 days you're going to have another senior developer. That's not how it works.


Pair programming sessions.


I was one of those juniors, the rapid shift to remote work ruined me. I had just moved to a new city where I knew no one to start a life doing the work I loved, and all at once I got told leaving my house was dangerous and to stay home alone all day staring at a screen to keep people safe, for 2+ years…

It’s great you value work life balance, but junior engineers suffered a lot (to different degrees), and you being on edge that remote work might be taken away from you is nothing compared to what I went through and haven’t recovered from.

We’re allowed to love our work and the people we do it with, that’s my ideal, just a because you hate it doesn’t mean everyone should


Look: except for a few months in high school, I have never worked for a stereotypical company where I would go into an office and do work with other people; I have always worked by myself or remote. I relish working alone and have never had an issue with it; I've even been quite fanatical about it, trying to make sure everyone knew how great this lifestyle was (one which I learned from my father, who worked for a company half a world away from him, from a home office where he was always accessible to his son: me).

But... the pandemic also broke me. Bad. I wasn't at all prepared for life trapped inside where my only interaction with human beings I knew was via video. There were like four months in early 2021 where I only had about four interactions with flesh and blood humans whose name I knew (like, not some entirely random person)... one of them was the guy who lived in a nearby park whom I normally avoid as it is so difficult to end conversations. I gained a ton of weight and at one point--end of 2020--I had given myself some kind of weird anemia (I think from lack of B12 in my stupid closed-in diet).

Like: I am someone for whom his entire life normalized remote work and who thrived in such an environment and yet the pandemic was so hard I still haven't really recovered... thinking about it makes me cry. (And like, yes: I could have better managed my lifestyle or better handled the loneliness. Whatever. That is also true for you, and I at least am not judging you for that.) It is one thing to not work in an office--you can work from anywhere! and there are a ton of people who you can get to spend time with--and it is entirely another thing to work explicitly from a small room in your home day in and day out for a year without human contact.

I thereby want to posit that maybe--just maybe--the issue isn't working remotely but being forced to stay at home and at times even fear going to the supermarket. There were periods during this thing when people were even afraid to meet up outside, and so human contact for white collar professionals outside of relationships was pretty much just verboten. The world was in a shitty place, and you shouldn't judge working remote based on the experiences you had during a pandemic without even trying to control for the existence of a pandemic as part of your analysis.


I vividly remember trying to meet up with the few people who stayed behind and didn’t move to their parent’s lake house during covid, one person in the group being concerned about even meeting up outside and everyone else not wanting them to be left behind, so we did virtual on zoom. Laughs and fun, then with a button press the screen flicks black and you’re alone again in your tiny apartment you signed when the plan was to spend almost no time there.

You’re right, I do still think there is value working in person, but remote work by itself isn’t what caused this, even if it’s still what happened.

Hindsight has made all this more clear, but imo loneliness is a silent killer around the world today, and covid threw jet fuel on the fire.


You need social in person interaction as a human being. Nobody is disputing that. Should you rely on your work to get that interaction and can you make the claim that it helps your work?


Considering that it delivers a feeling of productive communion, the camaraderie and esprit d'corps of solving problems together, and generally feeling useful, the answer might be yes. Especially if, as an adult, it's where you spend most of your waking hours.

Don't misunderstand me, I'm not romanticising the marriage of one's social life to one's workplace, nor overlooking the ways this "we are more than a company, we're family" rhetoric benefits employers at the expense of their employees' outside lives and broader well-rounded and fulfilment. But I think asking people to separate them in an extreme way is just as untenable.


I had the same timeline as you, but it was fine for me. Granted, I've never known anyone anywhere I've lived and barely leave home anyway. :p I'm grateful I seem optimized for the fully atomized cyberpunk existence which may only become more intense and universal in the future.


I can sympathize, but you should not have let it ruin you. Take responsibility for your own life.


When you’re alone, someone telling you it’s your own fault and just take responsibility for it can feel really dark


My apologies. I know the pandemic was particularly hard on young people. This is the problem with old, comfortable and scared people making all the decisions.


I've worked in cubicles and open space plans as well as remotely as a junior. It seems self-evident to me but maybe those who haven't experienced the various environments do not realize that in person it is much easier to ask a random question to a senior. You can poke them and have a small discussion that would flood a chatroom and take much longer to develop remotely, without feeling like you may be inconveniencing them or the rest of the team since you cannot see if they are busy, or you can follow them to the coffee machine and discuss issues that are not urgent but could use their input instead of just notifying them over chat at a random time that may or may not be convenient.

Working remotely I found myself constantly wasting time trying to figure things out on my own because I don't know if people are even online/active (spread out across the globe, another issue common with remote), if they are online I don't know if they have something more important to deal with at the moment, it is more difficult to extract information from seniors who are poor communicators - as good as they may be as ICs, most of my seniors will assume I should know every undocumented internal mess and it makes asking for more details intimidating. And I don't want to look like an idiot in writing! (lol, but I do feel that way sometimes)

If you want juniors to learn anything in a reasonable amount of time you have to give a bit of a shit and invest more time solely towards that especially in remote environments, seems that people just expect juniors to take the lead and force their way in though which isn't my style at all and if there isn't a common agreement and people are all just doing their thing it can come off as presumptuous to be bugging people left and right for the first months. Yes part of the problem is company culture not properly adapting to the environment, but I also haven't seen any change in the way we deal with communication since the Corona and of course seniors don't care because they got their job security.


Hate to bang the same drum over and over, however this very much sounds like a culture problem, based on

> if they are online I don't know if they have something more important to deal with at the moment, it is more difficult to extract information from seniors who are poor communicators - as good as they may be as ICs, most of my seniors will assume I should know every undocumented internal mess and it makes asking for more details intimidating. And I don't want to look like an idiot in writing! (lol, but I do feel that way sometimes)

Sounds like the company lacks good culture, process and guidelines on expected patterns of communication and behavior. There should be an onboarding buddy when things are implemented well.

Its not your fault, at all. Its the company. Its not inherent to remote work though


If your team penalizes you for "asking questions and looking like an idiot" then the team culture is poor.

Nobody knows everything. Everyone makes mistakes. The team should help those people but they need to ask.

Today I was looking in the wrong devtools tab for a token value. Because we've worked hard making our team a safe place in which to ask questions, I felt comfortable asking what I was missing. Heck it's give and take, I know way more DevOps and Linux-y stuff, the devs know more about their job.

Because we try to think as a team, we do better and have less interpersonal clashes. I still complain about things each dev does, that's natural, but our team does pretty well together.


This is such an important point I don’t think it can be overstated. Psychological safety is one of the key things to have a well-functioning culture and it’s one of those cultural things that I’ve tried desperately change in past positions. It’s hard, and in one place, almost impossible save for eliminating a few key people who hold onto that mindset and clean house a little bit.

There is no growth, no team cohesion in an environment where you’re berated for asking seemingly stupid or dumb questions. But I think people become numb and indoctrinated to it because “well, I had to endure this when I was learning” is such a demoralizing and abusive stance and nobody wants to change.

Things work so much better when everyone has a chance to pitch in, even if some ideas are dumb, just having the option is miles ahead of whatever bullshit people can justify from the “old way”.

Part of the process to change I’ve found is just leading by example. I’ll intentionally ask stupid questions that I know raise the ire of my similarly-leveled coworkers just to make the point to the more junior people that “hey, this staff-level guy is asking this, I might be able to too”. Junior people will gradually start to get the picture and ignore the rantings and ravings and toxicity of the debbie-downwers and the sticks-in-the-mud.


> Today I was looking in the wrong devtools tab for a token value. Because we've worked hard making our team a safe place in which to ask questions, I felt comfortable asking what I was missing. Heck it's give and take, I know way more DevOps and Linux-y stuff, the devs know more about their job.

That's easier to do when you're more or less on "equal footing", but if you're a junior, it can take months to years to develop knowledge that seniors don't (depending on several factors). That's the problem, it takes much longer to reach a point where you have knowledge that is equivalent to that of seniors if the culture doesn't lend itself to frequent and high-quality communication and you have to learn about internal tools, processes, code bases and such largely solo. If you share a physical space with seniors you'll at least have some common downtime like a coffee or water break to "bother" them and it can save minutes to hours of tedium each time.

So either you end up being "that guy always asking stupid questions in the chat and interrupting my work" or you spend a lot of time spinning your wheels pointlessly for months/years on end. The first approach leads to unhelpful and delayed responses and the latter makes you so inefficient that you favor lower quality work so that you can actually deliver something.


Hard disagree with random questions. If it's easy to ask a random question you're just going to keep asking random questions. How about you write down that question and try to formulate the answer or a strategy for finding the answer?

Here is a workflow I made all people I mentor go through: 1) what is the problem? 2) why is this a problem? 3) what are you actually seeing? 4) what have you tried to solve it? What are the results?


"Random questions" doesn't mean questions without any thought put into them. It just means anything helpful from workflow or environment related questions to code style or processes that are not documented or easy to find. vs. wasting time trying to find things that don't exist or reinventing the wheel, which is more tempting to do when you can't see what your coworkers are doing and don't want to risk offending people who have no interest in passing on knowledge, like a sibling of your comment.


Allowing a noob to spin their wheels for too long isn't just wasteful, it sets the exact wrong tone. The goal is not to "figure everything out for yourself". It's to GET THINGS DONE.


Well said. I am currently working my way through an unfamiliar codebase and even as a mid-career developer, I find it intimidating and inconvenient to continually ask for help over slack for "basic questions". People say the answer is to go deep and gain expertise, but in my experience you need to reach a certain escape velocity with the codebase before that kind of spelunking becomes valuable learning experiences and not just a confusing and messy waste of time. You need either:

* Documentation that is up to date and answers not just technical details but the "why" behind the architecture. Something that shows you where to focus and where the frontier is.

* Defined, limited scope (at first). Scoping yourself to the entire codebase is a good way to become an expert in nothing. You need a foothold where you can gain expertise and give yourself a jumping off point to adjacent areas.

The latter is easier to accomplish than convincing everyone to write pages of docs that don't exist.


As the person you kept interrupting and following to the coffee pot, I much prefer this new way of working.

To be clear, labelled as an 'IC' I have zero interest in training you. You will job hop at the first opportunity, and never lift a finger to help me in the future.


With that attitude yes I'm not surprised that people would be tempted to jump ship.


> We went from offices to cubicles to open space and nobody stopped to think if it was a good idea.

People have been complaining about this development since forever. I'm not sure who that 'nobody' in your sentence is?


That nobody is obviously within the people making the decisions. The people complaining were a whole different set of nobodies.


There's lots of different people making different decisions for different reasons.

Mark Zuckerberg might be a true believer in open plan offices (judging by his public comments). But your average Fortune 500 company might only be into it for the savings in office space expenditure to be had from cramming people tighter. And some companies, like SAP (at least when I did an internship with them ages ago), still have offices (shared amongst eg 4 people) instead of going open plan.


My point is that we are invoking this alleged benefits when it serves a narrative but just ignore it when it's convenient for the "bottom" line


Who is 'we'? Different people do different things.


To add to your point. Just because there's a tradeoff one way doesn't mean we shouldn't make that tradeoff.

Yeah, there might be some impacts to junior engineers. But if it improves the efficiency of your more expensive senior devs, isn't it worth it?

And just because your team has a problem with onboarding and mentoring junior devs in a remote environment doesn't mean A) Everyone has the same problem, B) you can't fix that problem yourself. Self improvement is the name of the game here anyway


Nothing about what they said is socializing.


Another (unrelated) problem with Remote work is how harder is to lose weight when you stop moving throughout the day.

Before the pandemic, I usually got up to make coffee, to ask for help or to make consensus with my fellow coworkers (other devs or even UX people, a few stairs away). I usually walked from work from time to time to clear up my mind. Now I barely move. I live in a small apartment. The fridge is 3 meters away from me.

Back then, I could somehow manage my weight by applying some casual restrictions, like eating fewer carbs and eat mostly lean cuts of meat. Now I need to apply some zen monk level of self control if I want to not gain more weight. And losing it is terribly hard.


Opposite for me, wfh means healthier lunches, more time and flexibility to be active . The short walk to transit (of not driving) doesn’t come close


It’s not for everyone, but people who don’t already have an entire life outside of work struggle to start one when the majority of your day is spent alone staring at a screen. The idea that socializing at work is a bad thing I think isolated a huge number of people who used to thrive on work relations and didn’t need a huge number of close friends outside of work to be happy.


My company is 90% remote in practice even though almost everyone lives is in the greater Boston area. It has a Monday meeting over Zoom that starts with socializing, typically discussing personal events from the weekend. This kind of conversation might help people (particularly junior employees) realize that it is possible to have a life outside of work and give some ideas about how to start it (e.g., organized bike rides).


I don’t think socializing at work is bad, but depending on it I think can be: you may not get along with your coworkers or have any common interests, and the ones you do might leave/depart anytime. you shouldn't expect or need them to reciprocate

Having a strong social life outside of work insulates you form this


For me it’s the opposite. I don’t have any junk food at home but when I was in the office I was constantly surrounded by pretzels, ice cream and candy bars. I also often do some work in the backyard while I am thinking about a problem.


Maybe for you.

Working from home means I make healthy lunches for me. It's a lot easier to eat right when you have a full kitchen and pantry at your disposal.


I made my lunch the day before and carried it on a small tupperware (how are these called?)

Wasn't as great as fresh food but at least I made sure it was healthy.


I've actually gained weight since having to go into an office a few days a week, was much easier to exercise when working from home imo.


This is just a description of your lack of discipline. Since the pandemic, I lost a significant amount of weight and increased my fitness across all other parameters as well. This is because remote work facilitated that. If you need to work in an office in order to get up to make a coffee or to ask for help or to "make consensus" then that's a you problem.


A lot of people don't know how to cook. Maybe the company offered access to a gym too. The "you problem" could be doing a lot of lifting here.

I can cook but I appreciated not having to think about it, and the food was great.


If you don’t like remote work, it’s always “your problem” somehow. Everybody has to like remote work, I guess. And if they don’t it means they are flawed somehow.

It’s kinda nuts the lengths people to go put down those who simply hate working at home 40 hours a week.


Nobody is putting down people who don't like remote work. People are putting down the people who are telling other people why remote work is bad. Those people are trying to take it away. Go work in an office or find a place that is onsite if you think this way.


For me it's the other way. I used to drive to work. Now I walk before and after work.


I struggle with this too. My usual exercise routine is to run alternate days. With WFH, I go on 1 hour evening walks on days I am not running. This makes up for the lack of walking at home.


It's weird seeing all this content the past 3+ years about remote working as I've worked remotely for 20+ years. I'm not an authority on the matter (why would I be), just weird to see so much 'authority content' on it lately.

Maybe there are more granular and data-driven conclusions, I'm just someone who sees the benefit of communicating information over vast distances aka the web and appreciate that it's something we can do nowadays.

A message, SMS, phone call, a group call, a skype call or whatever can clear things up right quick.

Plenty times I'll send someone an email because I don't want to engage with someone and the time frame of their reply can be minutes or days. That's fine.

WFH/remote is all about trust from an employer and motivation by an employee.

You're entirely free to communicate as much as you need to whether you're physically present or not. The work gets done or it does not.

I don't really understand the confusion about this.


>>> It's weird seeing all this content the past 3+ years about remote working as I've worked remotely for 20+ years. I'm not an authority on the matter (why would I be), just weird to see so much 'authority content' on it lately.

That type of blog post is typical from so-called thought leaders that want to assert themselves as experts on the latest trendy subject.

In real life, everything is a shade of grey but of course it makes for less of a clickbaity headline to acknowledge that.

Also, the author is a lawyer/mba and doesn't have a single experience in engineering.


There’s a difference between the population that worked remotely before and after Covid.

The population before Covid were often highly experienced, disciplined, and proven workers.

The population after Covid, was well, everyone who worked with a laptop.

Not everyone is cut for working remotely.

In addition, there’s a difference between 1 out 20 people working remotely full time and 20 out of 20.


I have worked remotely for 7 years and in a few different companies in that time.

In my experience the companies that struggle with remote work are the ones the manage via attendance. One company drove me insane with random “Hows it going” messages throughout the day so I just left for another company and let them know why on the way out.

Managers that have enough domain expertise to manage via outcomes however thrive in remote environments. But, this is harder to do than taking headcount.

Remote working environments require different approaches than in person or hybrid. Change is hard and all that.


> One company drove me insane with random “Hows it going” messages throughout the day so I just left for another company and let them know why on the way out.

But this is ideal right? Their culture is asking "how's it going" throughout the day and it's not a culture you wanted to be part of so you left.

Asking "how's it going?" throughout the day isn't objectively good or bad – it's just not for everyone.


> Asking "how's it going?" throughout the day isn't objectively good or bad

Most of the time, this simple innocent question is an introduction to a work related question. It is, and has always been for me, a massive waste of time. You lose your focus, you stop working while waiting for the coworker to decide whether or not he will ask you the real question in the next 10 minutes.

I approximately lose 1 hour every day due to this behavior and it's really annoying.


I just reply with nohello.net


Asking "how it's going?" without following up about a specific task is objectively bad.


No it isn’t.

You may not like it, but the idea that’s objectively bad is your opinion not a fact.

What’s wrong with a company’s employees deciding they like checking in with each other and not having it tied to a specific task?


it depends on who is asking, of course


No, it doesn’t.

Again, nothing against you if you dislike being asked how things are going by a coworker — but if that is the culture of the company you work at, there’s nothing wrong with it.

It might be wrong for you, so you either get a different job or learn to deal with it.


"How's it going" from your co-worker is obviously different from HR or your CEO or someone X levels above you.

As a long-time WFH person I always assume I am big-time socially inept (and I definitely am) but apparently office-dwellers (you) are even worse!

To me it is clear that Bill-From-This-Mornings-Standup saying "Hey, what's up" is different from Emily-Director-Of-HR saying "Hey, how's it going today?" is different from "Kim-your-bosses-bosses-boss" saying "Good morning. Got a minute?"


Part of my point is that if the company’s culture is such that everyone asks everyone “How’s it going?” then there is no difference in who asks it.


I don't like being asked how I'm going by a cashier either, because its just insincere stupid social norms.

If you have a question, just ask. If you have a genuine interest in my wellbeing you will ask something more specific than "how are you?".


There are common etiquettes across cultures that transcend age/location/rank, etc.

Wasting people's time is objectively, universally bad. Even if it wasn't universally bad, it would be at least overwhelmingly bad in the context of a productive enterprise, which most workplaces are.


It’s 100% fine to be someone who doesn’t want to be asked randomly by coworkers, “How’s it going?”

It’s less fine to be that person and work somewhere where the culture values being asked randomly by coworkers, “How’s it going?” But it might be something you can live with.

It might be a conscious choice to trade off short-term productivity in favor of long-term balance. It might be a way to weed out anti-social people who they don’t want working there.


I've worked remotely for about 9 years now. At the start of the pandemic I'd argue there's a wide gulf between those who knew how to work remotely because they've done it for years, and those forced into it and still figuring it out.

We spent 3 years in pandemic mode working from home for everyone. We've all figured it out by now. Go into the office if you'd like, but don't force everyone back to it.


The problem is we haven’t all figured it out. I have some coworkers who absolutely need to be in the office. Unfortunately they don’t have the self awareness to realize that, and they heavily believe the only benefit to in office work is making middle management happy. They’re good developers, but they have a bad habit of getting sucked into rabbit holes. Left to their own devices, they’re highly likely to disappear for hours and come back with an architecture astronauts dream that technically does what they’ve been assigned but also does it in ${newest language or framework} with ${unsupported dependency} and insufficient tooling to actually deploy it into production.

When they’re in the office 3 things work to prevent that:

1) yes they are supervised. More senior devs and also management can keep an eye on them

2) They’re more likely to just randomly ask a question or ponder aloud than they are to write something in slack, so it’s more likely someone can catch them going off the rails and re-direct

3) They’re more plugged into what everyone else is doing, so more likely to keep “coming up for air” and keeping their mind focused on the main goal and not the rabbit hole.

Again, these are perfectly fine junior devs with perfectly fine skills, and even their tendency to get enthusiastically lost is just more junior dev stuff.

But they don’t know how to work remotely, they’re not self aware enough to know they need to learn, they don’t take the feedback on it very well either (again see “it’s only because management wants butts in seats”)

So the options for this are mandate them to the office or eventually fire them for being more dead weight remotely than they’re worth.


And between those who don’t want remote work. Who enjoy building real relationships with people and brain storming ideas on a whiteboard. Remote work feels like contracting, and when everyone is a contractor is it really a cohesive company?


You need to build rituals to recapture that cohesion; do things online or offline that are not just about work. It is a good idea even if your company is not remote.


>20 out of 20.

tbf, if you meant the full workforce it's never going to be 100%, there's so many jobs that require physical presence out of necessity.

There's maybe some jobs where you could also argue it's required.

Emergency surgery, police, paramedics, electricity grid maintenance, plenty jobs where there's simply no WFH angle.

I'd totally agree that personality types would also clash from WFH, so it's definitely not the definitive solution, but it works for a lot of people.


I feel the same, been remote for 15 years and all this reinventing stuff and challenges seem a little weird to me. There was remote work companies before COVID that had been learning through the challenges and optimizing for it.


What I have found is this inherently means re-wiring an organizations culture around async communications and trust. The biggest hurdle that I think many aren't able to get through is that remote work doesn't have the same "allowance" for ad hoc calls / face to face meetings like offices did.

Not that those were great, by they are incredibly prevalent in an office setting and there was never enough industry wide pushback to these interruptions to really put a dent in them. Remote work has allowed workers to put some boundaries up around this and made their "tax" much easier to feel and quantify by workers in general.

This is where I have found in a nut shell is why communication breaks down without re-wiring it from the ground up and ingraining the new remote work into the culture of the company. You can't just lift and shift the methods from one modality to the other


I graduated from school in Spring 2020 and started working in Aug 2020. In that timeframe, I had not been inside an employers office more than 3 times. Since Mar 2023, we've had a "mandatory" 4 days in office every week. Here's what I've experienced since going the office:

* Occasionally I'll get a good conversation with a teammate or manager about something technical, but the frequency has not gone up. The technical conversations are still scheduled on a calendar and happen at the same frequency. I really haven't experienced many people stopping at my desk and I think I've only stopped at the junior engineers desk to check in.

* Socializing at work has not been my strong suit. I am pretty introverted when it comes to strangers (e.g. anyone who has not been introduced to me). I find the socializing to be more energy draining.

* I walk to work. I like that typically. The walk can be... disturbing to say the least since I walk through downtown Seattle.

* A lot of people in the office prefer to speak to each other in languages other than english. Everyone on my team (my manager + all my coworkers on my team) prefer speaking something other than english and do so unless I'm involved in the conversation. This surprised me and at times I find it frustrating because I wish I could know what they're chatting about when it's technical (certain keywords I can pickup on since they're the name of internal things).

* working in office 4 days a week has given me something to really look forward to each week, and that's the WFH day.

* I don't think my productivity has gone up. Some days it's definitely worse. Now there's an obligation to go sit and eat with others for 30min-1hr a day. Previously, I'd just bring my lunch to my desk and continue to work.

I don't think my experience is the norm. But I certainly miss the pure WFH days.


I’ve experienced the non-English thing in a few different contexts and while I love the diversity of languages and speak a few myself, I think not mandating an official language to be used in the office is a mistake.

Your case is the obvious one: if most people speak Finnish but you only require English of your hires, sooner or later you will have people unfairly excluded from the social part of the office. Even if you’re in Helsinki, you need to either require that work conversations be in English, or make obtaining Finnish fluency an official part of the job. The latter being the much harder route.

However, in real life this requires a more enlightened C-suite than you probably have (cf. butts-in-seats order), so you might consider carving out an hour a day to quietly learn whatever language is being spoken by the rest of the team. It’s probably easier than Finnish and it could help your career!


They speak Mandarin. I don't know much about other languages, but I've heard that's notoriously difficult to learn.

It's also not just my team. I see other tables at lunch and other teams having conversations in what I assume is the same language. I have a hard time differentiating based on sound.


Gotcha, my bad, yeah that's probably even harder than Finnish. :-)

But correspondingly more valuable if you end up learning a little!


> A lot of people in the office prefer to speak to each other in languages other than english. Everyone on my team (my manager + all my coworkers on my team) prefer speaking something other than english and do so unless I'm involved in the conversation.

If you're based in the US, this is just extremely rude.


I feel as if people have changed. I'm back in the office twice a week now and the good conversations and socializing parts just don't seem be happening like they were previously to the pandemic. I'm not sure what to think of it and maybe in some time, things will be more like it used to.


Partly because a lot of these companies “return to office” took away all the cool stuff like sitting next to your team, having an actual desk of your own, etc.

I just want one single place that is actual 2019 normal. None of this BS hotdesk crap.


> It shifts communication from a one-to-one relationship, to a one-to-many. Next time you’re about to “send a quick DM” or “schedule a quick chat”, consider what steps you could take to optimize for the long tail of information retrieval and discovery.

This is the only real difference: that any individual can wield the power of one-to-many communication. We all have a voice now.

Calls and DMs exist solely to ensure what's in writing is understood. Same as it was in the physical office for meetings.


f--k the "office" and f--k the soulless two-faced corpo-goblins who thrive within it. never going back.

in 20-30 years i'll be worm food. not going to waste anymore time rotting in an office. f---k no.


Amen brother.

People fail to understand that rotting in an office is not the type of memory you want when life flashes in front of your eyes on your death bed.

Imagine sitting there, and all you see is a bunch of scrum meetings and planning sessions followed by scuttlebutt with someone your dread gossiping about someone you don't even know, thinking they are your friends.


This kind of contribution is completely unhelpful but yeah great for harvesting upvotes I guess.


Is this some kind of ChatGPT output? While I agree with the message, the writing feels forced, intentional and fake because every other sentence uses exactly three verbs or adjectives in order to engage, provoke and clarify. Sometimes twice in one sentence!

"relying on constant, synchronous, and often interrupt-driven interactions"

"Async work allows for more reflection, research, and synthesis"

"Those working async can and should take the time to think, learn, and synthesize before sharing their ideas, opinions, or solutions"

"form of communication for the purpose, audience, and context"

"use writing for documenting, explaining, or persuading; use video for demonstrating, teaching, or storytelling; use chat for coordinating, clarifying, or socializing"

"Write clearly, concisely, and comprehensively"

"using simple language, short sentences, and clear structure"

"provide enough detail, context, and evidence to support their points, answer potential questions, and avoid ambiguity."

"Record videos with empathy, enthusiasm, and engagement"

"using eye contact, facial expressions, and voice modulation"

"keep their videos short, focused, and interactive, using visuals, examples, and questions"

"Communicate proactively, regularly, and asynchronously"

"communicate their goals, plans, and updates without waiting for prompts, requests, or deadlines"

"communicate their availability, boundaries, and preferences"

"using synchronous communication only for urgent, complex, or sensitive matters"


Maybe tangential but:

Recently joined a new company that is remote first with a fair amount of juniors in it. It's rather difficult since they often lack guidance and start rabbit-holing in the wrong direction before eventually failing or producing a very non-ideal solution.

For us a pure asynchronous comms workflow simply doesn't work well yet, this may change w/ more seniority.

I found that having weekly (or even bi-weekly) 1:1's with my colleagues and pair/cowork dramatically lowers communication barriers and boosts productivity through the roof (albeit at the expense of 2 people working on the same project).

Major issues can surface when colleagues don't communicate at all other than just pull requests / issues / standups / design docs (whatever you call them). It can cause people to perceive others are 'faceless entities'. This can range from building completely misaligned solutions to even sparking interpersonal conflict.


One thing my team does is we have a daily quick standup meeting where at the end we all have the option to stay on. The room is set up to always be accessible by anyone who wants to join and many of us sit in the room camera/mic on or off all day just in case someone wants to ask a quick question. If the conversation gets to be really long between two people in the room we will split off into a breakout room. I love this method, and it's all optional so the days where I want to focus on work I can just leave after standup. Most days I stay in to either help people out or ask questions myself.


How long have you been doing this? Curious, bc many teams tried something like this but it fizzled after 3-4 months.

(full disclosure, we're building a platform that integrates with Zoom to visualize all these rooms, and who is in them, so people can hop into the rooms where people currently are, and know when someone isn't available before joining, etc. would love to interview you for user research if you're up for it)


So far 14 months and counting. It's great for giving a hybrid work feel, especially for people who like that sort of thing, without the actual requirement to live near the office or commute daily.


Management communication style is "Communicating less, but more frequently", the opposite of OP. This explains why management likes to see more people in offices.


pg has written about this dichotomy years ago: http://www.paulgraham.com/makersschedule.html


Keep the managers working from home and get all devs to the office?


There can actually be logic to that. Many managers spend most of their time in meetings—with people scattered around the world larger organizations. And they spend a lot of time with customers too. What’s the point of having Ann office aside from occasional in person team events?


It SHOULD require richer less frequent communication (in fact, ALL work communication should probably be done that way).

In practice, it is the complete opposite with context switching on steroids brought to you by Slack channels.


I think the most efficient way of communicating is about the same whether you're in an office or remote:

- If you have a deep technical problem that you already understand a lot of the context for, and you can explain it like an expert Stack Overflow user, then use writing to ask someone who might be able to help you.

- If you're a newbie to this context, don't know what you're dealing with, and there's no documentation that you can understand, write a much shorter message focusing on the immediate issue and ask if it might be most efficient jump on a call, ideally with screen share.

- If you're somewhere in between, do your best to set up the problem in writing, but don't overthink it or assume too much about what your helper needs to know. Again ask if a call with screen share might be more efficient.

Basically, always use writing to start, but adjust the length of the message based on your ability to set up the problem for your helper. And if it's urgent, hopefully there's some way you can ping or notify the person.

More generally, the more you can predict about how the conversation should go, what details are needed by the other person, the better it is to use writing. The less you can predict, the better it is to use a synchronous medium, such as in-person conversation or a call with screen share.

And if you find yourself always needing synchronous media, I would suggest that you try to do more to retain and document knowledge in writing, so that you're not always going back to square one every time you need to solve a problem. After a few months working in some area, it should be increasingly possible to ask expert questions in writing.


I've worked remotely for about 15 years now, and I think it's the same amount of communicating, it's just broken up differently than in-person.

Instead of booking a 30 minute meeting, that only has maybe 10-15 minutes of work talk and 5-10 of personal talk, we might instant message for 15-20 mins spread across a whole day.

Or if things get complicated in the first few minutes we'll just have an adhoc call for 5 mins, then IM whatever details we thought of after hanging up. That 5 minute call is similar to swinging by someone's desk.

Some people still insist on booking the 30 minute meeting, and that can make sense when you have several people or some "meetings are my job" people are involved (upper management, marketing, sales, etc).

It seems like about the same amount of work talk either way, but usually less personal talk. Introverts love that, extroverts are missing out.

It also varies by person. Some people are too vague in their typed messages so it's better to talk on the phone. Other people have really thick accents and English may be a second language, so a detailed IM conversation can actually be more efficient than talking on the phone for both parties.


I think gaming is very similar to remote working. You log in when you sit down, put in your headset and typically are available.

Work isn’t much different. My team leaves zoom standup open all day, we break into conversations all the time. It both (a) keeps everyone engaged and (b) removes blockers fast.

That said, we setup side “rooms” we can move in and out of. There is also the option not to be accessible, but it’s typical to be available


How long have you been doing this? Curious, bc many teams tried something like this but it fizzled after 3-4 months.

(full disclosure, we're building a platform that integrates with Zoom to visualize all these rooms, and who is in them, so people can hop into the rooms where people currently are, and know when someone isn't available before joining, etc. would love to interview you for user research if you're up for it)


Lol given that it fizzled out… seems weird to me what you’re building?

To answer your question — many years


> allowing the system to optimize for throughput and flow.

Sometimes you need lots of small synchronous communications and sometimes you need and fewer large asynchronous communications.

Large asynchronous communications work when everyone already knows what they're doing. They work at a company which has already figured out its business model, built out its necessary expertise, and saturated its market, where everyone's a senior engineer. Like, I don't know, GitHub, where the OP works as a Director of Engineering.

Frequent synchronous communications allow for tight coordination in the face of business risk. This is the startup world, the "we're-still-figuring-out-what-we're-doing", "maybe-this-will-work-maybe-not" area of the company stability spectrum. Also this is the area where junior devs are with their careers, so this model is best for them, too.

This reminds me of parameters that can be used to tune garbage collection. Collectors can either be tuned for throughput, or availability, but not both. Throughput optimization translates to long stop-the-world GC pauses, where availability translates to more frequent, but smaller pauses so the application is available to take traffic.

It also reminds me of a soccer player trying to control a soccer ball. Getting the ball down the field (throughput) is often via a single really hard kick. It's fine if control is reduced, it's throughput that is needed when the ball is too far away from the goal. Conversely, controlling the ball downfield requires lots and lots of tiny touches of the foot.

One final comment: asynchronous works great for open source, so why not business? In short: business has a deadline, (hobbyist-run) open source often does not. This being the case, it's fine if the communication takes a little longer. But in a time-critical project, synchronous communication is still our friend.


> asynchronous works great for open source, so why not business?

Hold your horses. Your constant synchronous communication reduces the aggregate throughput by increasing context switching, which incurs dead time for the interrupted parties as they refocus on their task. A better way is to reserve synchronous communication for urgent requests, and time block (batch) or async the rest.


Any tips for working with a remote micromanager? Constant “can you talk now?”, even though we have a daily 1:1 scheduled in an hour.

Written daily updates in slack followed by 45 minute stand up.

I already try to overcommunicate, but it does not stem the interruptions and it’s certainly not asynchronous.

Frequent “how’s it going” an hour after stand up, and before and after the 1:1.

How do I push back?


IMO you try these in order:

- Direct feedback to the manager about your needing space to work and their disruptive behavior.

- Same feedback to their manager.

- Look for new jobs.

There’s no way to solve this that avoids direct feedback and the possibility of confrontation.


Confrontation seems like the nuclear option so I’d like to avoid that.

In the spirit of incremental improvement, what’s the smallest action that you’d recommend that I can take?


Seems this is about people skills. Some people are weird and annoying and you have to find ways to thrive even with their presence, or move to another project as others are suggesting

Many different ways of dealing with it,

- from not responding at all (I do this often when people just ”ping” without stating their business),

- to asking what the matter is and if its urgent otherwise lets discuss it (a good while) later when I have time (I do this often too, my job is programming and requires focus time)

- to just saying that you are busy right now

Just a few ideas, find the guts to experiment and learn

I actually rarely bring up these kind of issues with managers, I find its mostly about signaling and breaking the loop that annoying people thrive on. Learn to subtly draw a line, repeatedly if you must, without being confrontational


I don't think things will improve if you don't say it's an issue (to either your mgr or theirs).

If you say "hey, I'm the middle of working on X. Can't this wait until we have our 1:1?" do you think that wouldn't be well received?

Also, maybe give them some information on how expensive context switching is.


Reach out and have a chat with a recruiter. Tell them about your situation (it's very unhealthy) and skill set and see what they have to say. You're currently employed, which is a great place to be while you look for new work. Have them bring you opportunities that are not just better than your current situation, but align with your ideal situation.


> Instead of relying on constant, synchronous, and often interrupt-driven interactions, remote workers embrace asynchronous, and often higher-fidelity, forms of communication, such as long-form writing or thoughtful videos.

This has actually been difficult for some people to get used to, since they much preferred synchronous communication (calls) or drip feeding information (what they need, spread over multiple messages, starting out with a simple "hey").

I actually made a site a while back to elaborate on how to make others do context switching a bit less often, maybe it's helpful to some here: https://quick-answers.kronis.dev/

(the other guides that I found online about this had a bit of a mocking tone)

Of course, there are also times when you do need a bit of synchronous communication too, which is also fine.


Remote work and async comms means that latency tends to be high. Latency issues can be overcome by not stopping to wait at each decision point.

For example, low latency this is ok: “do you want to go to dinner or a movie?” Movie. ”Do you want to see Barbie or Oppenheimer?” Oppenheimer. “Do you want to go at 6:00, 7:00, or 8:00?” 8:00.

Instead for high latency, this will cut down on a lot of dead time in back and forth: “Do you want to dinner or see a movie? If you want dinner do you prefer to go to Il Capricio (Italian) or Sushi Go 55? I can make reservations at 6, 6:30, or 7. If you’d rather see a movie, do you want to see Barbie or Oppenheimer? Barbie is at 6:15, 7:20, and 8:15. Oppenheimer is at 6:00, 7:00, and 8:00.” Let’s do Oppenheimer at 8

It’s more work up front and any unchosen paths are “wasted effort”, but for work there’s usually value in fully exploring the alternate paths anyway.


I feel socially uncomfortable asking a bunch of questions which have lots of dependencies, somehow it feels presumptuous and overwhelming. I’m not saying it actually is presumptuous, there’s every possibility that there’s a defect in my social skills.

Somehow I’ve become more comfortable just proposing a complete plan, but also explicitly calling out the fact that it is actually totally up for discussion. So instead I’ll say something like:

Want to see Oppenheimer at 5:30 on Sunday (n.b. I pulled that time completely out of my ass just to get the ball rolling, any time this weekend is fine on my end, and Barbie also looks good).

Somehow it just feels more natural to me, I don’t know why. I like that it presents the person with a default-path, but also leaves everything up for discussion if necessary.


The headline says “remote work” but then the article immediately talks about “asynchrony work”. These are two different topics.

Async work can, and often should, happen in the office is well. Synchronous work is often required in remote work.

A big stumbling block for remote work is the belief that remote means you shouldn’t have to interact with other people much. Some people like that idea, while for others it’s a big problem. Juniors especially struggle when their contact with other team members is forcibly reduced to narrow windows or very delayed responses to everything. Juniors shouldn’t be reaching for help at the first signs of struggle, of course, but some of the async work zealots push the concept so far that juniors are expected to be almost solo developers.

As someone who has successfully worked remote for years, I worry about all of these ideologic prescriptions for how remote work must look. Most of the remote work failures and return to office mandates I’ve heard about in local companies have their roots in unrealistic ideas about remote work, both from the company side and the employee side. Having done this for years I think it’s important that people are still available for ad-hoc collaboration and conversation in company chat, within reason. Remote fails quickly when people take it as an invitation to isolate themselves and check e-mail or Slack once or twice per day.

The only exceptions might be work that is highly repetitive and truly isolated, like an employee who can take an endless queue of similar tickets from Jira and do isolated work on the same tasks over and over again. Most engineering R&D work doesn’t look this isolated, though, so the model fails when forced on more traditional software development.

I’ve also experienced the opposite extreme, where managers go remote and feel obligated to schedule meetings all day long. I had a short-lived remote job where my calendar was over 50% recurring meetings before even scheduling time to discuss work with peers that week. Predictably, nothing got done at that company and they are reluctant to let anyone work remote now.


Well said.

Curious: what does your current team / company do to enable the real-time ad-hoc conversations that need to happen? Are there conventions or tools that have helped?

(full disclosure, we're building a platform that integrates with Calendar, Zoom, and Slack to try to solve this problem and let people turn to one another in real-time, without interrupting heads-down time. Would love to interview you for user research if you're up for it)


Remote work requires more direct and straightforward communication. Ideally in writing only because then there's no bullshit happening off-the-record in calls where people are clearly just wasting time or trying to annoy other people with bullshit. You can notice this the most when someone who is not good at their job or not technical or not interested in the product is always resorting to calls and constant communication. That's micromanagement culture.

I do not think this means more communication. It means less time spent communicating and more time spent working on your area. What on earth are you all working on that requires constant communication?


> asynchronous communication involves less frequent, but richer communication

Problem is that most people aren't good at written communication. They're passable, but not good. This means the communication isn't actually "richer" it's just longer.

The rise of remote has led to so many wasted hours (for the author and readers) due to RFCs and proposals that just never had the chance of going anywhere, because the people that could help don't have time to figure out what the author is actually asking for or trying to get done.

Then people whine about how no one is listening to their great ideas.


I was recently told by my manager (large FAANG) that I should never expect my skip manager or above to respond to my messages/emails. I should always book time on their calendar.

After 2 years, this was when I knew that this particular manager was struggling with the same problems in the local working unit and that leadership at the VP-level (externally hired) was totally inaccessible to help make critical decisions.

It's a tough job market, but I'm looking more ferociously than ever as of this week.


I've found it's best to use a combination of written and spoken word, when trying to communicate more, but less frequently. i.e.

- Write a set of concise, clear, well-structured discussion notes ahead of a meeting

- Give all attendees time to pre-read the notes and flag the specific points requiring deeper discussion

- Once face-to-face, discuss ONLY those flagged topics. Don't waste the opportunity for high-bandwidth communication on the notes/topics that aren't contentious.


This is how I've been working for years, since before COVID. (Except for videos; I don't do videos.) As another commenter noted, this might not work as well for junior engineers. If I were mentoring/guiding/working with a junior engineer I would plan on being available for one-on-one interactions.


We're struggling with this (80 people) and basically decided we have to get the entire company together twice a year. I'm not saying this is any perfect best practice, just that there is something that always gets lost in translation when we are remote. That gets cleared up instantly when we are together.


But what do you do for the weeks and months in between? Like, how do people turn to one another in real time?

(full disclosure, we're building a platform that integrates with Calendar, Zoom, and Slack to try to solve this problem and let people turn to one another in real-time, without interrupting heads-down time. Would love to interview you for user research if you're up for it)


Why is everyone pretending that remote work is some drastic change? I remember back when I worked in an office, we communicated in the same channels, same frequencies (github, slack). The only new channel now is video calling, which simply replaces meeting rooms, same frequency too.


Am I the only one who finds that author gives very little details about what "working asynchronously" is and how it actually functions, focusing mostly on some benefits it ought to provide or some other behaviours benefital in traditional office life as well?


Remote work requires asynchronously communicating more.


in my current role at my current company, the opposite is the case. Daily sometimes hour long meetings talking about features and some crap and less time for the actual work. I hate it. Because I love to code, but I am constantly distracted. Everyone wants something from me... some people ask if I have time, some simply call, even if I am in another meeting already.


Curious: do you use DND in Slack or block your calendar in an effort to protect your focus time?

(full disclosure, we're building a platform that integrates with Calendar / Zoom / Slack to visualize who is available, who's in a mtg, and who is in Focus Mode - the idea being to help people turn to one another in real-time, but without distracting people who need to focus. Would love to interview you for user research if you're up for it)


The precise concept of "more" in this article is dubious.


I don't enjoy fully remote work, it is too isolating for me. I enjoy being able to talk with my co-workers in person if I there's an issue, I think Hybrid is a good middle ground.


these "hot takes" pick one job role and base their thesis on it. I work 100% remote, and I'm in meetings 25 hours a week. my job relies on other people doing theirs. but what can you expect from a 200 word "article" (with a TL;DR no less!) except click-baiting HN to reply with "Well at my job...". like i did.


An article just in time for the end of (most) remote work




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: