We are a remote company. Everything is going well. No plans to be in person, but I’d say we can do a better job at communicating. Any tips or articles to read?
Slack / IM often, don't demand a response instantly though, async & remote go hand in hand.
Put important stuff in email not slack/IM
Have a company wiki
Prefer video calls for alignment
Write to each other often, spend time crafting written narratives, 1-pagers, amazon 6-pagers etc. to share ideas, make people read them, use google docs or ms word online and get comments inline in the document using those tools, follow up on video calls to confirm alignment.
Gitlab has a handbook for this stuff, they are a 100% remote business and very open about their practices: https://handbook.gitlab.com/
I personally think important stuff should be in public slack/teams/whatever channels. I pretty much never use email for any communication; the amount of spam I get, even on my work email leads me to ignore basically all email notifications I get. If I really need someone to see some information, it goes in slack. Email is only used for external communication, and even then if both orgs use slack we just create an external channel instead. I get crap for this on HN every time it comes up but I just can't stand email as a communication medium
a wiki is much better than google docs IMHO as the later quickly becomes an unmanageable dumpster fire. I like mediawiki a lot since most people are familiar with it from wikipedia and linking to yet-to-be-created pages encourages participation.
Agreed on the broad points. Personally I found simpler wiki systems to be worth it because you'll spend less time making stuff work and less time debugging because it's less complex. MediaWiki, at least from my experience with -pedia, the OpenStreetMap wiki, and others, is that it's complex and slows down to a crawl for hours~days if you bust the cache by making a change to a central template. DokuWiki runs smooth without needing to concern oneself with caches at all—but, of course, is less versatile if you have a 10'000-people organisation and need advanced features for managing all the information (we don't; it works great for us). I'm sure there are also other great options besides DokuWiki, especially if they use a markup language everyone already knows like Markdown instead of some custom syntax only used on your wiki. Another consideration: GitLab, Gitea, and friends iirc all didn't have page locking when I looked at those options ~2 years ago, so you overwrite each other's changes without noticing. Anyway, just some thoughts on implementation details. Wikis are definitely the way to go as compared to a set of documents on a drive!
Only because we've ruined our email with automated systems that are way too trigger-happy on notifications. I think I've received atleast a thousand-fold amount of mail from JIRA that someone has clicked on something, compared to actually useful, actionable requests.
Video calls. If you aren't having at least one video call a day something is probably wrong. Configure it such that starting a video call takes no more than 4 clicks.
Have a company-wide General/Coffee chat where people talk about arbitrary things. It's better if this chat has history which expires in 24 hours.
Write lots of short documents -- especially for designs. Review them much like you would review code. This can be as simple as Markdown documents in your repository using your normal code review tool. Ensure all documents are listed in a single easy-to-find index of some sort.
Agree with the occasional relaxed "coffee chat", and having a repository full of good documentation, but...
>If you aren't having at least one video call a day something is probably wrong.
That seems excessive to me, especially if everyone is also staying connected via chat, emails, etc. Weekly meetings are about my limit, considering I also have work to do, meetings with external stakeholders, ad-hoc meetings, etc.
At least one video call a day is more about socialization than work; chat and email doesn't really strengthen psychological feelings of connection to the team. Regularly putting a face to the nickname is important.
I consider small meetings (say <10 people) within the team, ad-hoc or otherwise, to count against the once a day minimum. It doesn't need to be a purely social call to be effective.
Different people want different levels of socialization attached to their job duties. If the meetings are a requirement, having them daily is too much for my taste and is more likely to strengthen my psychological feelings of being annoyed.
In any case, not having a daily meeting does not mean something is wrong, as the parent poster stated.
it is insane that we can have face to face and even video meetings that are not logged, but we can't have text based chats like that? what if we meet on IRC? should that be illegal without a bot to log the conversation?
Sadly, I'm sure that the only reason that face to face meetings are not logged is technical capability more than anything else. The law just hasn't metaphorically noticed yet that those can all be recorded to. It's still on the pricy side at the moment. (Don't forget not every business is a tech business that still reasonably expects 20%+ profit margins.)
I often bang on the fact that laws made in the 20th century are often written against an implicit background of what is physically possible that people underestimate, like, the number of laws that people nominally break every day but are impossible to enforce because we don't all have an assigned police presence assigned to us. We should not casually assume that once we acquire the capability to enforce these things that we should. Another example of this is that while I understand the drive to document what a company is doing, we need a certain amount of ability to speak to each other off the record, even in a corporate environment. Yes, it is used to do bad things, but we are humans, we need that slack, and it is used to do good things too.
“Slack” under the law is quite an interesting concept. “Inherent logistic pseudo-discretion” might make me think less about a friendly guy smoking a pipe, but it has some disadvantages, too.
I’m interested by the fact that you and I could travel to Nebraska and whisper to each other in a cornfield in ways that violate the law left and right. Why is this not a huge problem? Because inherent in the logistics of getting there is a presumption that most law enforcement will use their discretion not to care.
Is cornfield-whispering becoming more powerful as other comms get weaker? Is it becoming less powerful as fewer of us choose to go to those lengths? Interesting stuff to consider in the golden age of surveillance.
The friendly guy smoking a pipe was merely ahead of his time. If we are flinging ourselves into an AI-driven total surveillance state we're all going to miss slack more than ever. Hopefully if anyone survives the AI-driven total surveillance state will eventually realize that with the degree of control it has it doesn't have to crack down on literally everything just because it can.
in the culture series iain banks paints an optimistic picture of an AI driven idealistic utopian post scarcity society where nothing is secret, from the AIs at least.
some of the ideas seem to be that in post scarcity many crimes become meaningless, and that the AIs keep your privacy.
well, it depends on the country. in germany this kind of surveillance is illegal unless ordered by a judge, and there is a high bar to get that order. even at work recording of conversations is generally illegal to protect employees privacy. however i think logging of text chats and storing emails is legal. and i believe some people want to make it mandatory.
it is a constant back and forth between both sides.
earlier i have made the argument why written communication should be treated just like the spoken one:
> It's better if this chat has history which expires in 24 hours.
This sounds fun to have a b.s./watercooler chat channel. It'd be cool if Slack had that feature but I wonder if that's a non-starter for corporate reasons.
Workspace Owners and Org Owners can adjust retention settings for public channels. Private Channels and DMs can also be set by members if allowed by admins.
> If you aren't having at least one video call a day something is probably wrong.
Depends on how you work? A video call every day would be too much for me, but two a week seems alright. I'm also not a fan of daily meetings in person either, though.
My vague understanding of the related laws is that as long as the company has a consistent retention policy and is under neither a court order to increase retention nor retaining records for specific incidents as part of policy, that a short retention period is fine.
I expect legal would actually be happy about shorter retention periods since it makes their job easier. HR of course wants infinite retention periods because it gives them a bigger stick, but universally longer retention is not the only way to address those desires.
Note that not everyone likes being filmed. I somehow find it quite different to meet irl compared to being on camera, perhaps because then I can observe what they're looking at. Video calling is like being on stage. (I don't mind being on stage much, just like how video is not a big deal either, but the feeling is similar)
One thing I've found useful is to have deliberate google meet calls when having planning discussions or firming up decisions.
I set up the recording and transcription and then up front we define the problem and what we want the outcome to be. Afterwards I give the transcription to ChatGPT and get it to summarise the content, decisions, etc and add that to our documentation with a link to the recording.
This helps you stay on the same page and also gives context to people who werent present about what has been discussed and decided.
Huge bias here as I work for Figma, but multiplayer collaborative editors like Figma do wonders.
We run nearly everything out of a figma or figjam file. Retros, planning, etc. There's something really nice about being able to see everyones cursors at once, and feeling like you're collaboratively creating something. Presos and slide decks often feel very one-direction from a data flow perspective, which becomes problematic for remote-only roles.
The first is that it's built around collaboration, rather than having it added in after. Keynote and Powerpoint each have collaboration, but they were added in after - it isn't part of the foundation. Google Slides was built around collaboration, but a decade ago when collaborative tools were just emerging. We've learned a lot since then, and I think it suffers from some older architectural decisions that hold it back.
The second is the interop with Figma. The backbone of it is Figma Design - it's all the same tools designers have had for years. Meeting designers in their tool of choice is critical and will smooth the path here, but it'll also mean we hopefully get a lot of features for free in Slides when we ship them in Figma Design (and vice versa).
First off learn to relax. breathe. Just because people aren’t constantly communicating doesn’t mean nothing is happening.
Learn to embrace long pauses in video calls. Learn to accept that a response to a message sometimes takes several minutes or even an hour to come through.
You said everything is going well. Okay, so what’s the problem then? The amount of communication currently happening clearly must be sufficient, otherwise things would not be going well. Right?
This is what my last, 6 person, startup used, and it was really helpful. It lowered the barrier to having a quick discussion, since you could see if someone was at their "desk" or busy in a meeting.
Also you can see if other teammates are having a discussion or co-working in a common area, which made for some ad-hoc co-working sessions.
> This would be insanely disruptive to me and I think most of my team.
> There are much better ways to handle this.
Hi! You could probably turn this from a low-effort rant into a productive comment by removing the first 2 lines of your comment and expanding the last one into something informative.
But I have worked at very small startups where you're all in one room (talking 10-20 people) and it was a kind of "lightning in a bottle" environment that I've been trying to figure out how to recreate for years, especially now that I work remote.
I think in a small, high-trust group like this it could be fun. Agree that once you get to a certain size this is almost guaranteed to be misused.
(I'm not affiliated with the product or anything in this space, just someone who wishes there were better ways to approximate that vibe remotely when desired.)
Not everything is out to get you. Gather doesn't have any automatic idle detection.
I doubt Gather would work well for a large company where there is less trust between individuals - maybe that's the scenario you're imaginging it in?
It works well in our small company where trust is implied by being here and we have few concrete expectations. In practice it's no different than being signed in to Slack.
You have the option to mark yourself as away or to passively lock your desk area so people have to knock to come in but this status isn't apparent unless someone comes by.
Gather is great. I think it lowers the barrier to chats just enough to make it more organic. In particular I find it's really great if you're having a 2-3 person conversation and realize someone else would be really valuable to add. You can just glance at their desk and see if they're available, "wave" to them, etc.
I'm surprised at all the positive mentions of gather town. It just looked like a childish gimmick to me? I was tempted to log in and make some jokes about the pool being closed but I didn't want to out myself like that at work.
When we tried it, gather.town set an awkward expectation that team members had to stand at their virtual desk, otherwise they weren't _actually_ online / working.
That tracks. To me, gather.town is an attempt to replicate office dynamics in a remote setting. In an office, being AWOL is looked down upon. I can see how gather.town builds the same expectation.
In my experience, this expectation gets set either way. Whether that be a green light on slack or having your video on for all calls.
I used a 3d-world collaborative environment in a remote company once, and the only effect I noticed was that it brought the awkward parts of the physical world into the digital world. Where do I position myself? Where do I "sit"? Should I "sit"? Is this the right room? What's the "physical" location I'm supposed to be in?
It was like those flash/java-applet 3D navigation interfaces for websites that were semi-popular for a few years, way back: cute, but just made everything slower and harder.
We've had great success with Gather. Organic conversations happen a _lot_ more often than when we only used Slack. We still keep Slack for async communication.
We have a decent spread of people across the introvert-extrovert band and we don't set concrete expectations on camera on or spending time in common areas - but both are encouraged.
I'm surprised how well it works. We've been using it for almost 2 years now, I think.
What becomes apparent very quickly outside the imposed rigidity of a physical office is that different individuals and different roles all have different optimal communication patterns. And people can get really fussy if they aren't getting the structure/tools/freedoms/whatever that they feel they need.
And so the answer to your question is ultimately much more idiosyncratic than you're hoping it to be. Whatever answers you find here, take them as inspiration for things to try out rather than specific things to do.
With that said, effective communication patterns tend to naturally snowball, so if you can start getting people feeling connected and collaborative, you'll find that they'll naturally keep that up and build on it.
But you are going to need to throw some spaghetti at the wall to see what your team needs in order to get that process started.
One thing people miss about remote work is that it's inherently transactional. Show up to a meeting, get or give what's needed, then go back in your hole. This is nice but for many people the lack of genuine social interaction is a killer.
A few jobs ago we set up Donut (donut.com) to set up a couple 15- or 30-minute 1:1s per week and tried to stick to the rule that we weren't supposed to talk about work, just chat about whatever. A replacement for break room chatter, not Yet Another Meeting. It didn't always work very well but when it did, it was great.
Some of the best conversations I had were with an autistic SRE who spent his first month telling everyone how autistic he was in case we needed to know. He did better virtually than he would have in person - lack of eye contact due to camera angles, maybe? So yeah, this has value even for you neuro-atypical, "I don't need chatter, just code" types.
All work (in-office or remote) is inherently transactional. If I am in an office, I have to pretend to have genuine social interactions with people. Social bonds made between colleagues have will happen organically. No in-office mandatory fun.
I never pretend that co-workers are my friends. I just understand they are co-workers and treat them as such. so then if I was forced to have mandatory socialization and fun I would quite despise it. if I wanted to interact with them, I would reach out and schedule one-on-ones as would happen IRL
ALL work is transactional. I solve your problems, you pay me money.
I have family and friends for "social interaction" and "meaning". I do not seek that from a job, nor do I want a job that claims to provide it.
Any recruiter that tells me "our company is like a family" gets a reply that says "so i can cry on your shoulder in case of a bad breakup, and you'll help me move furniture?" and then gets blocked.
This is such a simplistic take. There is a huge gulf between "We are a family" saccharine corporate BS and "I am a cog in the machine. I am forced to make conversation. Hello Coworker How Do You Do" robo-employee mnemonic.
Personally I prefer to work with people who have a sense of humor, self-awareness about the importance (or lack of) of our work, have some interesting things to talk about it, can be surprising, etc. They don't have to be my best friend ever but I don't want to be bored.
The "we're like family" phrase can mean many different things in the work environment, so don't read too deeply into it.
That being said, it's often a sign of poor management; managers will use "we're like family" instead of addressing problems that they need to address. It can create a very stressful situation if you're a high performer, because the expectations and handholding quickly get unreasonable.
(The song "Surface Pressure" from Encanto explains the situation exactly.)
For example, I once worked with a manager who used the "we're like family" excuse when incoming tickets were incomprehensible and missing critical information. He was just copping out of his job, which was to set processes and make sure new employees knew the processes. Instead, his expectation was that I would handhold the organization through the ticketing system.
> but you might say hi if you walk past their desk
No. I would never interrupt someone's flow for a "hi". What an insane take. Those like you, interrupting us for a "hi" and throwing us off a good thought process when you "walk by", is one of the main things which make us all want to work remotely, far from you, protected by a need to have a purpose for your "hi".
After reading your comments I have decided if I'm ever a recruiter I'm going to say "we're like a family" on every communication just to weed out folks like you.
Love it, love the spite, but you will actually legitimately lose people who don't want to join a cult. If you wouldn't drive me to the airport for free, then we're not family, sorry. Save that term for, like... people who aren't paid to spend time with you.
there is nobody in my family on whose shoulder i can cry except my wife. the friends that i have where i can do that i all met through work.
and yes, coworkers have helped me move too.
"we are a family" is still a warning sign though.
it could mean that the team is a tight knit group that a newcomer will have difficulty to break into, especially an introvert.
or it could mean certain expectations towards each other that i would not understand or be comfortable with because i have not experienced any family like that
so instead of rejecting the idea i would ask some questions to find out what they mean by that.
Donuts are okay, I've used it at 2 different companies now, but I inevitably find myself disabling it after 2-3 months on the job, usually when I start getting repeats. Maybe it would be okay if you could silently veto who you got paired with. No offense to some of my coworkers but I groan when paired with someone who isn't very conversational where I know I'm going to have to shoulder the burden of finding something to talk about.
> This is nice but for many people the lack of genuine social interaction is a killer.
Emphasis mine.
This difference of what people consider genuine or not, some people even including the medium itself in their definition of "genuine", sounds like another possible cultural difference that must be kept in mind when communicating with others.
I cannot relate to the notion that interactions over the Internet must be sterile and non-social. It's like reading someone assert that 2+2=5. My brain breaks trying to process it and starts contorting to figure out how it might somehow be true from some off-kilter perspective when it straightforwardly isn't.
> One thing people miss about remote work is that it's inherently transactional. Show up to a meeting, get or give what's needed, then go back in your hole. This is nice but for many people the lack of genuine social interaction is a killer.
"Inherently"
It's simply the premise on which the entire post is based.
I've got friends who work great over chat. Beyond keeping up the conversation just like someone would irl, the choice or lack of a smiley, the lengths of messages, sentence capitalisation and punctuation, timing of messages and read markers or typing notifications... everything combined works the same as nonverbal communication: how they are feeling, are they busy or can I interrupt, are they at their desk or on the move... It's not that different to sitting across from them
Other people, though, don't work this way. A few aren't as familiar with computers so the cues are hidden under a layer of technical struggles; others simply don't seem to communicate well by text. As colleagues, you're somewhat forced to make it work and so the success rate is much higher than with friends in my experience (probably by saying things more explicitly and less nonverbally), but it can still be a damper and make conversations transactional and sterile
Especially if you had a disagreement or misunderstanding with someone you're not very familiar with, the more-universal nonverbal IRL communication is easier to pick up on than their digital cues. Calling is a decent middle ground but requires synchronicity (often worth it, of course)
The internet doesn't need to make things sterile, but for many people, it does seem to, so I can understand what the person means even if it isn't my only experience
I think that you can have genuine social interactions remotely, but that it takes a certain kind of person. Most people, even most younger ones IMO, just aren’t accustomed to interacting with people online via chat. But people who are eg prolific Reddit/twitter/etc users, or heavy users of discord/IRC/chat-heavy MMOs do really well IME (and yeah, a lot of these people are neurodivergent). You also probably either need to be really passionate about your work or have some kind of common interest to chat about to build a genuine connection, and not to be so shy that you self-censor yourself (/have a culture that doesn’t force people to self-censor).
Video calls are nice but I personally think they’re functionally the same as meeting in person. The biggest difference between remote vs in-person work is how you interact with people outside of formally scheduled meetings (eg showing people how to do something or casually conversing with them). Regular “hang out” meetings can’t fill this role, you really need something like chat IMO.
At prior jobs I’d say usually only 5-10% of people I came across directly at work were “good at chat”. If you could figure out how to filter for these people when hiring you could run a remote company very well, and have a strong culture and sense of community.
Remote work feels a lot like Reddit. I don't actually know any of these people I work with, I just have very shallow interactions with them. I started coming in to the office after years of remote work and its unreal how much more social and friendly it is. People who I would hardly have more than the most transactional of chats with on Teams are now sharing their personal lives freely.
I'm Gen Z so remote work has been most of my work history. I'm just genuinely shocked at how much more effective and fun it is to work with people in person.
I find Discord clunky, speaking as both a gamer (perhaps I'm getting too old for this) and employee who used it with a customer. What does it do that nothing else does, or where is the friction lower in your experience?
1. gather.town
2. Zulip (nuances of design much better than other chat systems for remote work specifically)
3. the 'latent energy' is going to be lower when people aren't eating lunch together and rubbing shoulders. you have to bring the energy to an empty room all the time when working remote. this also has to be exemplified by founders. doesn't mean loudness but instilling a sense of urgency etc.
Still some warts, truthfully, but the core of it is just better for finding information and structuring things.
Integrations are also easier.
Definitely one of my more controversial additions to my company, but the pure volume and quality of conversations would he impossible otherwise. You would be required to wade through a lot of irrelevant dialogues otherwise.
Make conversations public by default. If you use Slack, make team channels, project channels, announcement channels etc. all public. Discourage 1:1 and private communication unless really necessary, especially for engineering topics. This single change will have an immense impact on overall company culture.
How to find comfort for and include characters that don't like the spotlight? At least not during early phase/brainstorming.
I've worked with many great people that hate to handle things without their usual group first, and will stall until a reasonable approach can be presented. Which means creating shadow communication process - the more you push for "discouraging 1:1" the more they will hide.
What your organisation did with such "incompatible" people, relate them until the team left likes how they work, or were there better ideas?
No one is inherently "incompatible". It's mostly the environment influencing their behavior. There needs to be a culture where everyone feels comfortable speaking up and working outside silos, and that is always driven by management and senior eng leaders. For example do junior engineers get constructive criticism on a bad idea or design or are they yelled at and penalized? If the latter, of course everyone will think twice about being open.
And even then you can only do so much. If someone really doesn't want to participate then, well, it's on you to decide how to deal with that.
In my experience, most of the time this can be solved by resetting expectations. Once people learn that asking basic questions won’t open them up to mockery, things move a lot smoother for everyone.
After all, a culture on 1:1 communication has a lot of downsides. The same question gets asked repeatedly, replies don’t become searchable, the same people (usually the most experienced) end up being constantly tapped for answers
That's key, it has to be considered safe to ask questions. Anyone mocking or showing contempt to another on a channel would be immediately reprimanded in private by managers at my company.
if i know a colleague is uncomfortable to speak in a group i can collect their ideas in person, and share it with the group, but ideally the protocol should be public. so create a public chat group with only the two people joining.
if the issue is that the person is afraid to speak up because of being ridiculed for their ideas, you have a culture problem that needs to be adressed.
if the shy person is new, addressing the problem can be as simple as having the new team member do pair programming sessions with everyone on the team, so that they can get to know everyone better, which will make them more comfortable to speak up. maybe their previous job had a bad culture that influenced their behavior.
those pair programming sessions can also help you identify if there are particular people that cause problems by being intimidating in some way to others. sometimes pair programming can even fix those problems, by allowing the two to get to know each other better and learn to respect each other. that doesn't always work though, and care must be taken that the person who is "afraid" to work with the "bully" is not forced to an interaction they are not comfortable with. if the discomfort is that high a more cautious approach is needed. especially if the person afraid is a long term team member.
I appreciate your insight (and all other commenters).
> if the shy person is new
> if the issue is that the person is afraid to speak up
But that's my whole point: it's not always "fear". I'm talking about character. Personal preference. Or "people/character colors" or "16 personalities" or some other names it had.
Enforcing a strict way to communicate and bashing exceptions (which is my way of phrasing the original comment) will work for some, but will also create an artificial leash for others. I think it's too strict and to generic to try to just implement it by force. Yes, whole team should be available to see details, be able to participate, but why enforce that on such a low level as forbidding 1:1 talks...
From my recent experience, aside of excluding many personalities, it kills a lot of inertia that spontaneous prototyping and brain storming needs.
not being willing to speak up is not a personal preference. being an introvert is not a preference.
it can be a deep seating discomfort, that comes from negative experiences to speak up in the past. sometimes it is so deep that they are not even aware of it themselves.
i was that person. i had no friends in school until i entered university. every negative reaction was a setback. fortunately my experience was mixed and i did have positive reactions too. i learned public speaking as a scout leader for example. otherwise i'd be a hermit now.
people like us need more positive experiences. especially when joining a new team. to allow us to slowly change our preference.
and even introverts need to accept that they need to cooperate with others, and that requires sharing their ideas. or they should find a different line of work.
I'm afraid we speak of different things completely. I'm referring to personality differences and how to allow each personality to be part of the team. You speak of dealing with bad past experiences or maybe even trauma.
My point was that you should not and can not change other people's personality. You should make sure understand reasons of why others might not embrace same methods. And some advice in this thread ignores that. It's actually a source of frustration for many, not being understood on such basic level, while nothing is wrong with you.
i know what you mean. my argument is that a personality difference that is so strong that it prevents you from participating in a group discussion must be caused by trauma.
group discussions are a requirement in our industry. if not wanting to talk to people is a mere choice then you should be looking for a job where you don't have to talk to people.
in my understanding, having difficulty or even just discomfort to talk in a group implies trauma. and they deserve any help we can offer. but if there is no trauma and they simply can't be bothered to make an effort to accommodate the group, then why should i make an effort to accommodate them?
There was nothing that drastic in my original comment. I'm speaking of differences that are present in all of us, not extremes.
See those 16 personalities or character colors tests I referred to. (although I'm not saying these are good, just illustrate well what level of differences I'm speaking of)
those differences should not prevent you from speaking up in a group. not wanting to speak up when you have something to say is something drastic that needs to be addressed.
♫ ♪ ♬
It was the dark of the moon
On the sixth of June
In a Kenworth, pullin' logs
Cabover Pete with a reefer on
And a Jimmy haulin' hogs
We was headin' for bear
On 'I-1-0
'Bout a mile out Shakey Town
I says, Pig Pen this here's the Rubber Duck
And I'm about to put the hammer down
♫ ♪ ♬
I can appreciate the thinking here, but it not ideal. Different details are relevant to different people. And async is inefficient for many situations. Yes publish findings/results, but overcommunicating has a cost.
Better to create different channels (sync, async, 1:1, broadcast), provide guidance and trust workers.
It's not necessary about trust, or relevancy. I believe motivation is contagious, and making communications hearable/visible for all most of the time can be beneficial because of this.
... and soon with this type of setting you will arrive at siloing the information. Having all communication public in the channels comes with its cost but everything is as transparent as it can be. Important distinction is that you get to choose if the detail is relevant for your work or not. And not your manager or whoever.
I’d want this as much as I used to enjoy open floor plan at the office… Discouraging 1:1 and private communication in my experience would actually have 100% opposite effect of what you are describing. This is equivalent to discouraging pair-programming which while may not be everyone’s cup of tea many find extremely productive
you bring up a good point. what matters is the forum where decisions are made. you can talk about ideas in private. but the ideas need to be brought up in the group before any decisions are influenced. especially if the private conversation is with a team leader. if a team leader hears an idea in a private conversation they should ask that person to repeat the idea in public. but also they should discourage team members to specifically approach them to bring ideas. that is what is meant by discouraging private conversations. of course you can talk in private, but if the idea is not repeated in public then it is as if it was never talked about
I’m with you, then again Best Practices mean best for your work environment, not all. I’m currently making sure to cultivate an environment where my staff are comfortable sharing information openly. Not all of my people are comfortable announcing things to the group and want to bounce things off me or other supervisors. Sometimes you have to meet people where they are at. Like establishing the vision and just keep making sure you’re moving towards it.
I'm sure there's features here or in progress where you'll be able to ask for an AI summary of all the recent discussion and decisions made on different topics.
> Discourage 1:1 and private communication unless really necessary, especially for engineering topics.
Working at an established org right now, where the team is still remote first. I tried suggesting this, but got pushback and the team actually settled on the opposite. For example, they want any optional changes (e.g. suggestions) in pull requests not to be left as comments but discussed in private which 90% of the time means calls. They seem to dislike discussion threads in Slack and want meetings for things instead. I’ve also noticed things like the person who reviews a pull request being the one who has to merge it and essentially take responsibility for it, versus just giving approval and the author merging it and making sure everything is okay after CD.
I’m very much the opposite and prefer to have things in writing and like asynchronous communication. But when it is written messages, usually people either ask for a call or just do “Hey.” I actually made this a while ago hah: https://quick-answers.kronis.dev Either way, people also really seem to dislike writing README files, or all that many code comments, or making the occasional onboarding script or introducing tooling to do some things automatically. I don't get it.
The amount of strictness or enforcement behind the word "discourage" in "discourage 1:1 communication" in the parent post is open to interpretation.
What you have is people using a tool for different objectives, and when their chosen behavior hinders your objectives things seem out of whack.
I'm against shoving an eye of sauron communication hose down people's throats. I simply give my constructive feedback after the fact. E.g. when someone dm's me I say, "so-so is waiting for this to be done for their thing, so mention this part in the channel." or "the other team would need to know this for a refactor, so add this info to the wiki." If someone feels the need for dm'ing for some psychological safety so be it. But the cost of that safety is additional communication overhead for filling in gaps that the person should be ok with. And the people that value the psychological safety they gain usually don't object or have no grounds to object to a duplication of communication to fill those gaps when someone points out those gaps exists.
> The amount of strictness or enforcement behind the word "discourage" in "discourage 1:1 communication" in the parent post is open to interpretation.
Realistically, if the team decides that synchronous communication and not keeping too much of a historic record works best for them then I guess that's it, it's up to them to deal with that long term, since I'm just a colleague and it'd be counterproductive to try and change everyone's mind. If I did something like that, I'd probably just come across as a bit of a jerk.
You can show people the benefits of a particular approach but whether they accept that those are benefits (e.g. looking at a pull request of mine from 2-5 years ago that shows context for why a certain change was done a particular way, has images of benchmarks, descriptions of other factors to consider etc.) is up to them. Same for synchronous communication: to them, being able to call someone and have a conversation might be easier and more productive than the alternatives, they might just be unbothered by context switching or interruptions... somehow.
Though one could probably argue that some practices (like version control and CI/CD, for example) are objectively good to have, regardless of personal preference, for the sake of the development landscape not looking like The Wild West. How far that might extend, however, I have no idea.
> they want any optional changes (e.g. suggestions) in pull requests not to be left as comments but discussed in private which 90% of the time means calls.
This sounds like a hellish existence to me, tbh.
I'm not saying that either my preference or these folks' preference is objectively correct, but I am saying that I don't think I could work in this sort of environment long-term.
Here's some arguments in favor of public comments and conversations:
- Public communication about pull requests encourages knowledge sharing, not just between reviewer and reviewed, but anyone reading. It stores this knowledge sharing long term, so that any future reader can read up on the context and back-and-forth done to get to the chosen solution.
- Meetings are transient. Unless someone takes minutes or a recording/transcription is made and shared, it means the communication in that meeting will be duplicated when it has to be shared elsewhere.
- While I do think the author and reviewer share responsibility for the code in question, merging should be done by the author so that they know when it was merged and can jump in if something goes wrong. That said, in an ideal world it shouldn't matter who hits the merge button, and in fact, something should be automatically merged if it's approved and the pipelines are green, but that's uncommon.
I'd take notes if you ever notice waste from e.g. private / unrecorded meetings, or if someone has to repeat things said in a meeting; take it to a manager and hint that there is a lot of waste.
But ultimately, don't make it a hill to die on. I dislike people going "hey can we do a call" as well - I'm usually busy / elsewhere / focused on something, and there not even being a hint on what it's about is aggravating. The person asking it clearly believes their time and attention is more important (as in "I need feedback on this now"). Sending people that link (after ignoring them for X amount of time after sending a "hey") is passive-aggressive, but educational. Ultimately though, it should be higher-ups that encourage a culture and the etiquette of asynchronous communication.
> I’ve also noticed things like the person who reviews a pull request being the one who has to merge it and essentially take responsibility for it, ...
I worked on some teams that had that and it wasn't bad at all. In the end, what's on the main branch is everyone's shared responsibility (...was our thinking).
It encourages real PR reviews, where the reviewer is paying attention to the changes, spend time on the review until they understand what is happening and why, and when they feel comfortable, they merge it as if the PR were their own. It doesn't sound efficient, but in the end it means you always have a backup person to turn to in case there is an issue, and we mainly only had "exotic" bugs.
This only works with the right team and leadership. It was completely normal to say "yesterday morning I spent half the day reviewing that PR".
OTOH, I was also on a team where PR approval means someone scrolled through your changes in 1 minute and didn't find anything blatantly wrong, go ahead and merge and hope for the best. This team broke the main branch in a significant way 2-3 times a week.
If I could magic-wand my own company, I would 100% aim to hire folks who are extremely comfortable with written communication. Asynchronous, written communication is 1000% more productive than meetings imo, and makes the organization's knowledge indexable and permanent.
Async PR reviews are an absolute nightmare. Very simple conversations take forever. Reviewers will see something that’s not an actual problem, just something they are confused about and leave a comment rather than approve, and then your PR is blocked for a minimum of most of the day while you want for them to see your response. I just approve any PR that doesn’t have obvious issues now.
Meanwhile if you have a call to discuss it or do it in person, you can rapidly answer any questions and get the reviewer to fully understand what they are looking at.
While Slack - if you pay for it - permanently stores all communications and makes it archivable, it's also ephemeral and anything said more than a day ago is effectively gone. They do have an AI summary tool to catch up though, if you pay for it, which is alright.
To me the difference is in the affordances and mental model.
Basecamp - groups all communication, assets, participants, tasks in a project space. I open the project which establishes context for everything and everyone. This predefined context makes short efficient communication very powerful.
It’s incredibly simple and sophisticated at the same time - allowing grouping activity by people projects tasks etc.
The ephemeral nature of chat-centered systems makes me incredibly nervous about missing things or being unable to find them.
This contributes to stress and notification fatigue, especially when bombarded with alerts from every channel. Some will turn off notifications entirely or disengage to maintain focus on their workload.
I'm struggling with this at my current job: nobody communicates about anything in asynchronous channels, doesn't want any form of daily synchronous meeting (e.g., standups), and won't agree to ad hoc meetings outside of our 1 hour once per week meeting. So lots of decisions and work get done in vacuums, which cause errors in various systems that would have been easily caught and addressed if someone just said "hey, I'm changing this column name from X to Y". So, just to say that the counterfactual here isn't "no stress because no notifications"-- it can be more stress from failed coordination.
There are in betweens here, with the major one being threads in slack. Everyone gets notified about a single message at the start of the thread, but does not get notified for any subsequent discussion. Any interested party can read more and participate as needed. For someone like me (a leader on paper but not really in practice), I'd read all the message and look for dependency or similar problems, but for others they may not need to.
And that's fine. You're not expected to stay online and respond at all times, that's the antithesis of asynchronous communication. Just reserve a block of time per day to catch up - like you would with emails - and go through things then. Only leave notifications on if they're addressed to you specifically.
I'm at a company now where we are trying to do this but the CIO/CEO keep weighing in on EVERY conversation where they disagree with the approaach. The whole reason we are having the open conversation is for ideation and good communication but when a high level person comes along and says "well thats not the way I would do it" everyone decides to go back to 1:1s, direct messaging, and calls so as not to document anything publicly in feat of being called out by the higher ups.
I was going to say the same thing. Had this setup at my last job and the CEO would chime in with irrelevant, outdated, not feasible, or already considered ideas. We'd then have to spend time communicating and explaining the shit we had already been talking about for the last month or whatever. It was incredibly frustrating because it gave a public impression that our team was either incompetent or combative. It was gross.
Private team channels sound like a good compromise
Also someone with good standing in the company to politely point to the CTO that it's not his job to give his 2c at every conversation in slack (typical behaviour of people coming from the technical side)
Incredible. Every point of data shows the highest compensated members of a firm doing the least work / being the most harmful to productivity lmfao. Wonder what the takeaway here is
I find it very dangerous when you have some technical people who moved upwards into non-technical roles still being involved in technical discussions.
Their words carry a lot of weight, yet they have no idea about the actual context of the work being done.
Sometimes this is useful and a fresh perspective from an experienced colleague can unblock things, but more often it stifles discussion and discourages the juniors from thinking freely.
Quick note that if you're actively working around the CEO on a regular basis, you need to stop and find another job. Or possibly replace the CEO but that's a high stakes low probability of success endeavor.
I don't think this would be such a problem if people were comfortable challenging the CIO/CEO. So maybe that's the cultural aspect that needs to change on the exec's behalf?
What's happened here is precisely why communication should be public, it's revealed a real problem in the company you're at.
I've been on teams exactly like this, but the problem isn't public channels, it's "leadership" not knowing how to let go and trust their teams. Doing more work in private is the negative consequence of this bad practice, but I assure you this issue will eventually cause problems no matter how clever people are in avoiding public conversations.
And startups that are on the path to long term success will have leadership abandon this type of butting into every day communication very early in their growth. A good C-level must learn the build teams that can scale beyond their individual interventions. You literally cannot grow beyond a 30 person organization (and survive) if this much intervention is required.
I found this can have negative consequences for more timid employees, junior hires or new joiners. People dont like sounding stupid in public, especially not in front of people they dont know. No matter how much of a safe culture you instil, human nature tends to prevail here and you get the loudest personalities being the the users of those public channels whilst others either dont ask those important questions or seek back channels anyway
Yeah, I'd agree you want a healthy balance of 1 on 1 and group conversation. A quick aside is one thing, and if it is a question that should lead to documentation then documentation should be written for it instead of just assuming someone is going to search through a year+ of slack messages in some public channels.
Even in person, not every conversation is good to be had in front of the large group for a variety of reasons.
Hamfisting an ideology to human nature just doesen't seem to work no matter how nice the end result could be. People don't generally do uncomfortable things unless they are forced to, take for example literally anything else in life; entire fields of professions exist because we don't like cleaning thing X or Y
I think this is something that can really be mitigated by more senior people modeling good behavior.
For example, as a principal engineer on a new project or working on something I wasn't familiar with, I'd go out of my way to ask things along the lines of "Hey, this might be a dumb question, but I'm new to X so could you explain how I do ..." I think this goes a long way to building up a culture of psychological safety on a team.
Teams badly fucks this up by not providing normal-ass chats that aren't private ephemeral-ish groups. Their "teams" only have these weird announcement-oriented chats with terrible UX and visibility for ordinary chat activity, so you end up having to do everything in meeting-tied chats (created by the meeting, not the other way around) or ad-hoc group chats.
You can fake it with lots of manual "pinning" but that relies on everyone agreeing which chats are primary and should be pinned so they don't start splitting messages over other chat rooms, then you still end up with things like chat for one basic topic being split across multiple meeting-chats that all have the same membership or (worse) just slightly different membership.
It's as if they designed the tool to make effective remote work hard—but this also (like most things that make remote work worse) makes using it in an in-office context worse. It's just flat-out bad.
My experience (being fully remote for over a decade) is that it's extremely distracting to have all discussions public. It creates a lot of noise and it's very hard for people to not get drawn into conversations that doesn't directly affect them. It's definitely good to have finished conclusions available for everyone, but the "sausage making" is more distracting than useful.
Of course it depends on the size of the team we're talking about.
It depends on your self-discipline as well, as in, leave Slack or whatever alone for X hours a day, leave channels that aren't important, and if the volume is higher than you can manage in a reasonable time, Slack has AI powered summarization tools nowadays which are pretty decent. Ultimately though, your attention span and information management is your own responsibility, nobody else will filter it for you.
It helps to have lots of channels that specialise. I was effectively remote for 15 years (I was in London other in US).
`
If you are concentrating then you don't notice the chats, unless they are made urgent. When your focus has finished look at the channels that are nearest your speciality or sub team.
First, we use Missive to integrate email and chat. This way everything's in one place, properly threaded, and we can easily discuss emails internally in context. Much much better than GMail + Slack.
Second, I run video chat office hours twice a week (Tuesday/Thursday). Anybody can drop in to discuss anything — or not, if there's no need. This lowers the activation energy for "in person" discussions that otherwise might not get scheduled and promotes async work the rest of the time.
Third, regular company offsites! Even a few days a year is good.
Distributed startup founder here. We love Figma, keep in touch with Gather.town, and have been very happy with Flat.app for keeping us from Asana/Slack hell.
Use video chat for meetings (encourage camera on but don't require it - management should lead by example)
Be kind. Reach out using other forms of communication (like snail mail) if you want to encourage each other with thank you notes, etc.
Use some kind of shared wiki for long term 'shared ownership' documentation. Don't be afraid to lead by example. Don't be obtuse. Give visual examples of processes, technical components, etc.
Lean into visual examples everywhere you can (screenshots, mock-ups, diagrams, etc).
In video chat, screen share and encourage use of annotations when discussing things. (Zoom has this feature and it's awesome)
Use an agile cadence. Encourage people to share questions / concerns at story grooming sessions (which should be regular). Also encourage feedback at retrospectives (which should also happen regularly). Managers should lead by example in blameless retrospectives and lean into positive feedback.
If you're a team of all dudes (or any one thing), you have a blindspot with perspective. You should rectify that.
Get used to the idea that someone isn’t necessarily there when you message. Try to predict when you’ll need to talk to someone and send the message with the info you need.
Document. Everything. Confluence needs to become your best friend. You and your colleagues rely on this information to keep up on things they might miss.
When you’re planning work, especially with lots of uncertainty, optimise to be inefficient. It’s better to start with 20-person calls at the start of a big project and cut them down later than to have 3-person calls and realise you missed critical people 2 weeks before your target date.
On the flip side, once you know what you’re doing, keep your status checks lean. Invite only the leads you need and write down the outcomes to share with the wider team.
Be willing to change your communication habits as you grow. A weekly all-hands is fine for a 10-person startup. It’s a monumental waste of time when you have 200 people across 5 departments.
Try to reduce the number of required sync meetings in favor of async alternatives. For the required sync meetings, make sure there is a rock solid agenda and EVERYONE knows what is expected from them going in. Make sure the meetings cover meaningful material and helpful to all attendees. Encourage everyone to speak up and contribute. If you find certain individuals not contributing or not prepared, proactively have a conversation with them outside the meeting to reset expectations.
For async communication, it can still be helpful to set specific windows of time for things to get discussed. Example, Mondays 9am-Noon ET we review/discuss sprint goals. I like to record short videos with Loom to kick off discussions like this. Make sure to center these types of communication around specific tools, e.g. JIRA, Confluence, Google Docs, etc. Make sure the discussions convert to traceable decisions in your tooling.
Figure out how to have some kind of face-to-face relationship. This could be an annual all-hands trip, or otherwise take a week to fly out and spend time with the person you work with.
You learn A LOT about each other when you interact face-to-face. I once worked with two developers in India, and assumed that the shy one was just so-so, and the talkative one was brilliant.
After some deep day-long conversations, and a few day trips, I realized my assumptions were completely wrong: The shy one was shy, and the talkative one spoke before thinking.
---
More recently, I started work with a hybrid team. I live 60 miles from the office, but it's brutal commute. I go in once a week.
I've also met someone who was so different in real life, not their funny and exuberant selves at all, that I had trouble seeing them the same way when we later met back online. This wasn't work-related but a formerly multi-year friend I met in a video game and talked to daily about anything and everything. It was a strange experience for teenage me, but so this can go both ways (nearly all of my "first IRL meetup" experiences were good, though). If someone is great in online communication, I wouldn't say that there is a reason to meet up unless both parties want to. But you're probably right that, for a company, you need to decide to invite everyone or not to have this type of meeting. You can't exclude some of them so the point is probably moot
For the meetups my company does, one thing I like a lot is that we mix it up. Different countries, different settings, different events. Beyond that not everyone enjoys the same environment, the change itself also makes it interesting and creates talking points. People share more tips or explore something together because nobody is already familiar with the place and/or activity
If you find yourself constantly trying to explain stuff visually, invest on a graphics tablet. Even a "cheap" <100 EUR goes a long way.
As for the "whiteboard", just opening Excalidraw when you need it is very low friction in my experience. Google Jamboard and Miro were okay-ish, I guess, but for me the simplicity and responsiveness of Excalidraw is still better.
I've integrated draw.io into our Confluence. We can now create inline diagrams right in the page being edited. Resulted in higher quality documentation, with a lot more diagrams for even mundane things. I generally work in pictures, so it's great for me.
But I do agree, excalidraw is great. I recon its an importan skill to be able to confidently and quickly whip up a diagram while in a call. I worked with an engineer who preferred MS Paint, but he was really good at it, and it resulted in him explaining tricky concepts really elegantly.
The most important thing to me about remote communication is making time for "coffee catchup" to chat about non-work things.
We literally sit down with a fresh coffee for 5mins just as we might when crossing paths in the office. Find common topics among colleagues to shoot the breeze - football, video games, cars, etc.
Soon you'll have cross-team relationships with people who might never work directly together.
290 comments
[ 4.7 ms ] story [ 94.6 ms ] threadhttps://www.hashicorp.com/resources/remote-culture-at-hashic...
https://www.hashicorp.com/resources/the-remote-developer-s-p...
Put important stuff in email not slack/IM
Have a company wiki
Prefer video calls for alignment
Write to each other often, spend time crafting written narratives, 1-pagers, amazon 6-pagers etc. to share ideas, make people read them, use google docs or ms word online and get comments inline in the document using those tools, follow up on video calls to confirm alignment.
Gitlab has a handbook for this stuff, they are a 100% remote business and very open about their practices: https://handbook.gitlab.com/
consider personal readme's if your team is a bit larger (example): https://gitlab.com/swiskow/swiskow
I personally think important stuff should be in public slack/teams/whatever channels. I pretty much never use email for any communication; the amount of spam I get, even on my work email leads me to ignore basically all email notifications I get. If I really need someone to see some information, it goes in slack. Email is only used for external communication, and even then if both orgs use slack we just create an external channel instead. I get crap for this on HN every time it comes up but I just can't stand email as a communication medium
Have a company-wide General/Coffee chat where people talk about arbitrary things. It's better if this chat has history which expires in 24 hours.
Write lots of short documents -- especially for designs. Review them much like you would review code. This can be as simple as Markdown documents in your repository using your normal code review tool. Ensure all documents are listed in a single easy-to-find index of some sort.
>If you aren't having at least one video call a day something is probably wrong.
That seems excessive to me, especially if everyone is also staying connected via chat, emails, etc. Weekly meetings are about my limit, considering I also have work to do, meetings with external stakeholders, ad-hoc meetings, etc.
I consider small meetings (say <10 people) within the team, ad-hoc or otherwise, to count against the once a day minimum. It doesn't need to be a purely social call to be effective.
In any case, not having a daily meeting does not mean something is wrong, as the parent poster stated.
Probably wise to run that by counsel.
I often bang on the fact that laws made in the 20th century are often written against an implicit background of what is physically possible that people underestimate, like, the number of laws that people nominally break every day but are impossible to enforce because we don't all have an assigned police presence assigned to us. We should not casually assume that once we acquire the capability to enforce these things that we should. Another example of this is that while I understand the drive to document what a company is doing, we need a certain amount of ability to speak to each other off the record, even in a corporate environment. Yes, it is used to do bad things, but we are humans, we need that slack, and it is used to do good things too.
I’m interested by the fact that you and I could travel to Nebraska and whisper to each other in a cornfield in ways that violate the law left and right. Why is this not a huge problem? Because inherent in the logistics of getting there is a presumption that most law enforcement will use their discretion not to care.
Is cornfield-whispering becoming more powerful as other comms get weaker? Is it becoming less powerful as fewer of us choose to go to those lengths? Interesting stuff to consider in the golden age of surveillance.
some of the ideas seem to be that in post scarcity many crimes become meaningless, and that the AIs keep your privacy.
it is a constant back and forth between both sides.
earlier i have made the argument why written communication should be treated just like the spoken one:
https://news.ycombinator.com/item?id=41913176
https://news.ycombinator.com/item?id=41912666
This sounds fun to have a b.s./watercooler chat channel. It'd be cool if Slack had that feature but I wonder if that's a non-starter for corporate reasons.
Depends on how you work? A video call every day would be too much for me, but two a week seems alright. I'm also not a fan of daily meetings in person either, though.
Your legal and HR departments will be much less enthusiastic about this idea if your org is big enough to have either.
I expect legal would actually be happy about shorter retention periods since it makes their job easier. HR of course wants infinite retention periods because it gives them a bigger stick, but universally longer retention is not the only way to address those desires.
I set up the recording and transcription and then up front we define the problem and what we want the outcome to be. Afterwards I give the transcription to ChatGPT and get it to summarise the content, decisions, etc and add that to our documentation with a link to the recording.
This helps you stay on the same page and also gives context to people who werent present about what has been discussed and decided.
I didn’t find another good use of Gemini, but the audio transcription combined with the summaries were great. Best I’ve seen.
We run nearly everything out of a figma or figjam file. Retros, planning, etc. There's something really nice about being able to see everyones cursors at once, and feeling like you're collaboratively creating something. Presos and slide decks often feel very one-direction from a data flow perspective, which becomes problematic for remote-only roles.
The first is that it's built around collaboration, rather than having it added in after. Keynote and Powerpoint each have collaboration, but they were added in after - it isn't part of the foundation. Google Slides was built around collaboration, but a decade ago when collaborative tools were just emerging. We've learned a lot since then, and I think it suffers from some older architectural decisions that hold it back.
The second is the interop with Figma. The backbone of it is Figma Design - it's all the same tools designers have had for years. Meeting designers in their tool of choice is critical and will smooth the path here, but it'll also mean we hopefully get a lot of features for free in Slides when we ship them in Figma Design (and vice versa).
Learn to embrace long pauses in video calls. Learn to accept that a response to a message sometimes takes several minutes or even an hour to come through.
You said everything is going well. Okay, so what’s the problem then? The amount of communication currently happening clearly must be sufficient, otherwise things would not be going well. Right?
Just chill.
I've used it for remote conferences, and I like its 2D UI. Real sense of space there.
Also you can see if other teammates are having a discussion or co-working in a common area, which made for some ad-hoc co-working sessions.
There are much better ways to handle this like using gitlabs handbook.
To me this is the equivalent of having to be on camera all day. Am I idle if my avatar hasn’t moved or interacted with something in game?
> This is horrible.
> This would be insanely disruptive to me and I think most of my team.
> There are much better ways to handle this.
Hi! You could probably turn this from a low-effort rant into a productive comment by removing the first 2 lines of your comment and expanding the last one into something informative.
But I have worked at very small startups where you're all in one room (talking 10-20 people) and it was a kind of "lightning in a bottle" environment that I've been trying to figure out how to recreate for years, especially now that I work remote.
I think in a small, high-trust group like this it could be fun. Agree that once you get to a certain size this is almost guaranteed to be misused.
(I'm not affiliated with the product or anything in this space, just someone who wishes there were better ways to approximate that vibe remotely when desired.)
I doubt Gather would work well for a large company where there is less trust between individuals - maybe that's the scenario you're imaginging it in?
It works well in our small company where trust is implied by being here and we have few concrete expectations. In practice it's no different than being signed in to Slack.
You have the option to mark yourself as away or to passively lock your desk area so people have to knock to come in but this status isn't apparent unless someone comes by.
In my experience, this expectation gets set either way. Whether that be a green light on slack or having your video on for all calls.
It was like those flash/java-applet 3D navigation interfaces for websites that were semi-popular for a few years, way back: cute, but just made everything slower and harder.
We have a decent spread of people across the introvert-extrovert band and we don't set concrete expectations on camera on or spending time in common areas - but both are encouraged.
I'm surprised how well it works. We've been using it for almost 2 years now, I think.
Our company is about 15 people.
And so the answer to your question is ultimately much more idiosyncratic than you're hoping it to be. Whatever answers you find here, take them as inspiration for things to try out rather than specific things to do.
With that said, effective communication patterns tend to naturally snowball, so if you can start getting people feeling connected and collaborative, you'll find that they'll naturally keep that up and build on it.
But you are going to need to throw some spaghetti at the wall to see what your team needs in order to get that process started.
A great insight
A few jobs ago we set up Donut (donut.com) to set up a couple 15- or 30-minute 1:1s per week and tried to stick to the rule that we weren't supposed to talk about work, just chat about whatever. A replacement for break room chatter, not Yet Another Meeting. It didn't always work very well but when it did, it was great.
Some of the best conversations I had were with an autistic SRE who spent his first month telling everyone how autistic he was in case we needed to know. He did better virtually than he would have in person - lack of eye contact due to camera angles, maybe? So yeah, this has value even for you neuro-atypical, "I don't need chatter, just code" types.
I have family and friends for "social interaction" and "meaning". I do not seek that from a job, nor do I want a job that claims to provide it.
Any recruiter that tells me "our company is like a family" gets a reply that says "so i can cry on your shoulder in case of a bad breakup, and you'll help me move furniture?" and then gets blocked.
Personally I prefer to work with people who have a sense of humor, self-awareness about the importance (or lack of) of our work, have some interesting things to talk about it, can be surprising, etc. They don't have to be my best friend ever but I don't want to be bored.
That being said, it's often a sign of poor management; managers will use "we're like family" instead of addressing problems that they need to address. It can create a very stressful situation if you're a high performer, because the expectations and handholding quickly get unreasonable.
(The song "Surface Pressure" from Encanto explains the situation exactly.)
For example, I once worked with a manager who used the "we're like family" excuse when incoming tickets were incomprehensible and missing critical information. He was just copping out of his job, which was to set processes and make sure new employees knew the processes. Instead, his expectation was that I would handhold the organization through the ticketing system.
They obviously meant social interactions in remote environments are inherently transactional.
You never make a zoom call just to say hi to your coworker when your mouse moves past the icon, but you might say hi if you walk past their desk.
Again… read between the lines. Think a little bit into what i said. Think about it a little critically
There are important ad hoc interactions that you have in an office that you don’t when you’re remote.
I personally prefer remote, but recognize that it’s easier to collaborate in real time in person.
Not everyone is you and not everyone agrees with that evidence-free claim
Not really something worth arguing about.
Water is also wet, but I don’t have a specific source to link for that.
"we are a family" is still a warning sign though.
it could mean that the team is a tight knit group that a newcomer will have difficulty to break into, especially an introvert.
or it could mean certain expectations towards each other that i would not understand or be comfortable with because i have not experienced any family like that
so instead of rejecting the idea i would ask some questions to find out what they mean by that.
Emphasis mine.
This difference of what people consider genuine or not, some people even including the medium itself in their definition of "genuine", sounds like another possible cultural difference that must be kept in mind when communicating with others.
Feeks like a relic of the early pandemic times (although there are countless other tools like it now).
"Inherently"
It's simply the premise on which the entire post is based.
I've got friends who work great over chat. Beyond keeping up the conversation just like someone would irl, the choice or lack of a smiley, the lengths of messages, sentence capitalisation and punctuation, timing of messages and read markers or typing notifications... everything combined works the same as nonverbal communication: how they are feeling, are they busy or can I interrupt, are they at their desk or on the move... It's not that different to sitting across from them
Other people, though, don't work this way. A few aren't as familiar with computers so the cues are hidden under a layer of technical struggles; others simply don't seem to communicate well by text. As colleagues, you're somewhat forced to make it work and so the success rate is much higher than with friends in my experience (probably by saying things more explicitly and less nonverbally), but it can still be a damper and make conversations transactional and sterile
Especially if you had a disagreement or misunderstanding with someone you're not very familiar with, the more-universal nonverbal IRL communication is easier to pick up on than their digital cues. Calling is a decent middle ground but requires synchronicity (often worth it, of course)
The internet doesn't need to make things sterile, but for many people, it does seem to, so I can understand what the person means even if it isn't my only experience
Video calls are nice but I personally think they’re functionally the same as meeting in person. The biggest difference between remote vs in-person work is how you interact with people outside of formally scheduled meetings (eg showing people how to do something or casually conversing with them). Regular “hang out” meetings can’t fill this role, you really need something like chat IMO.
At prior jobs I’d say usually only 5-10% of people I came across directly at work were “good at chat”. If you could figure out how to filter for these people when hiring you could run a remote company very well, and have a strong culture and sense of community.
I'm Gen Z so remote work has been most of my work history. I'm just genuinely shocked at how much more effective and fun it is to work with people in person.
(No “professional” solution is even close to gamer tech for remote communication)
Maybe Zulip for a slightly more searchable option?
I wrote "Writing style for Slack" a couple years ago if you're interested:
https://www.kcoleman.me/writing/slack/2023/03/11/writing-sty...
Still some warts, truthfully, but the core of it is just better for finding information and structuring things.
Integrations are also easier.
Definitely one of my more controversial additions to my company, but the pure volume and quality of conversations would he impossible otherwise. You would be required to wade through a lot of irrelevant dialogues otherwise.
I've worked with many great people that hate to handle things without their usual group first, and will stall until a reasonable approach can be presented. Which means creating shadow communication process - the more you push for "discouraging 1:1" the more they will hide.
What your organisation did with such "incompatible" people, relate them until the team left likes how they work, or were there better ideas?
If all-communications-are-public is the company culture, then the company culture is also not to accommodate that alternative communication style.
Because any out of channel communications require multiple people to participate, not just the person who prefers it.
And even then you can only do so much. If someone really doesn't want to participate then, well, it's on you to decide how to deal with that.
After all, a culture on 1:1 communication has a lot of downsides. The same question gets asked repeatedly, replies don’t become searchable, the same people (usually the most experienced) end up being constantly tapped for answers
if the issue is that the person is afraid to speak up because of being ridiculed for their ideas, you have a culture problem that needs to be adressed.
if the shy person is new, addressing the problem can be as simple as having the new team member do pair programming sessions with everyone on the team, so that they can get to know everyone better, which will make them more comfortable to speak up. maybe their previous job had a bad culture that influenced their behavior.
those pair programming sessions can also help you identify if there are particular people that cause problems by being intimidating in some way to others. sometimes pair programming can even fix those problems, by allowing the two to get to know each other better and learn to respect each other. that doesn't always work though, and care must be taken that the person who is "afraid" to work with the "bully" is not forced to an interaction they are not comfortable with. if the discomfort is that high a more cautious approach is needed. especially if the person afraid is a long term team member.
> if the shy person is new
> if the issue is that the person is afraid to speak up
But that's my whole point: it's not always "fear". I'm talking about character. Personal preference. Or "people/character colors" or "16 personalities" or some other names it had.
Enforcing a strict way to communicate and bashing exceptions (which is my way of phrasing the original comment) will work for some, but will also create an artificial leash for others. I think it's too strict and to generic to try to just implement it by force. Yes, whole team should be available to see details, be able to participate, but why enforce that on such a low level as forbidding 1:1 talks...
From my recent experience, aside of excluding many personalities, it kills a lot of inertia that spontaneous prototyping and brain storming needs.
it can be a deep seating discomfort, that comes from negative experiences to speak up in the past. sometimes it is so deep that they are not even aware of it themselves.
i was that person. i had no friends in school until i entered university. every negative reaction was a setback. fortunately my experience was mixed and i did have positive reactions too. i learned public speaking as a scout leader for example. otherwise i'd be a hermit now.
people like us need more positive experiences. especially when joining a new team. to allow us to slowly change our preference.
and even introverts need to accept that they need to cooperate with others, and that requires sharing their ideas. or they should find a different line of work.
My point was that you should not and can not change other people's personality. You should make sure understand reasons of why others might not embrace same methods. And some advice in this thread ignores that. It's actually a source of frustration for many, not being understood on such basic level, while nothing is wrong with you.
group discussions are a requirement in our industry. if not wanting to talk to people is a mere choice then you should be looking for a job where you don't have to talk to people.
in my understanding, having difficulty or even just discomfort to talk in a group implies trauma. and they deserve any help we can offer. but if there is no trauma and they simply can't be bothered to make an effort to accommodate the group, then why should i make an effort to accommodate them?
See those 16 personalities or character colors tests I referred to. (although I'm not saying these are good, just illustrate well what level of differences I'm speaking of)
Better to create different channels (sync, async, 1:1, broadcast), provide guidance and trust workers.
Use mute and let people @ you to pull you in when you're really needed. You don't have to leave notifications wide-open on every channel.
Working at an established org right now, where the team is still remote first. I tried suggesting this, but got pushback and the team actually settled on the opposite. For example, they want any optional changes (e.g. suggestions) in pull requests not to be left as comments but discussed in private which 90% of the time means calls. They seem to dislike discussion threads in Slack and want meetings for things instead. I’ve also noticed things like the person who reviews a pull request being the one who has to merge it and essentially take responsibility for it, versus just giving approval and the author merging it and making sure everything is okay after CD.
I’m very much the opposite and prefer to have things in writing and like asynchronous communication. But when it is written messages, usually people either ask for a call or just do “Hey.” I actually made this a while ago hah: https://quick-answers.kronis.dev Either way, people also really seem to dislike writing README files, or all that many code comments, or making the occasional onboarding script or introducing tooling to do some things automatically. I don't get it.
What you have is people using a tool for different objectives, and when their chosen behavior hinders your objectives things seem out of whack.
I'm against shoving an eye of sauron communication hose down people's throats. I simply give my constructive feedback after the fact. E.g. when someone dm's me I say, "so-so is waiting for this to be done for their thing, so mention this part in the channel." or "the other team would need to know this for a refactor, so add this info to the wiki." If someone feels the need for dm'ing for some psychological safety so be it. But the cost of that safety is additional communication overhead for filling in gaps that the person should be ok with. And the people that value the psychological safety they gain usually don't object or have no grounds to object to a duplication of communication to fill those gaps when someone points out those gaps exists.
Realistically, if the team decides that synchronous communication and not keeping too much of a historic record works best for them then I guess that's it, it's up to them to deal with that long term, since I'm just a colleague and it'd be counterproductive to try and change everyone's mind. If I did something like that, I'd probably just come across as a bit of a jerk.
You can show people the benefits of a particular approach but whether they accept that those are benefits (e.g. looking at a pull request of mine from 2-5 years ago that shows context for why a certain change was done a particular way, has images of benchmarks, descriptions of other factors to consider etc.) is up to them. Same for synchronous communication: to them, being able to call someone and have a conversation might be easier and more productive than the alternatives, they might just be unbothered by context switching or interruptions... somehow.
Though one could probably argue that some practices (like version control and CI/CD, for example) are objectively good to have, regardless of personal preference, for the sake of the development landscape not looking like The Wild West. How far that might extend, however, I have no idea.
This sounds like a hellish existence to me, tbh.
I'm not saying that either my preference or these folks' preference is objectively correct, but I am saying that I don't think I could work in this sort of environment long-term.
- Public communication about pull requests encourages knowledge sharing, not just between reviewer and reviewed, but anyone reading. It stores this knowledge sharing long term, so that any future reader can read up on the context and back-and-forth done to get to the chosen solution.
- Meetings are transient. Unless someone takes minutes or a recording/transcription is made and shared, it means the communication in that meeting will be duplicated when it has to be shared elsewhere.
- While I do think the author and reviewer share responsibility for the code in question, merging should be done by the author so that they know when it was merged and can jump in if something goes wrong. That said, in an ideal world it shouldn't matter who hits the merge button, and in fact, something should be automatically merged if it's approved and the pipelines are green, but that's uncommon.
I'd take notes if you ever notice waste from e.g. private / unrecorded meetings, or if someone has to repeat things said in a meeting; take it to a manager and hint that there is a lot of waste.
But ultimately, don't make it a hill to die on. I dislike people going "hey can we do a call" as well - I'm usually busy / elsewhere / focused on something, and there not even being a hint on what it's about is aggravating. The person asking it clearly believes their time and attention is more important (as in "I need feedback on this now"). Sending people that link (after ignoring them for X amount of time after sending a "hey") is passive-aggressive, but educational. Ultimately though, it should be higher-ups that encourage a culture and the etiquette of asynchronous communication.
I worked on some teams that had that and it wasn't bad at all. In the end, what's on the main branch is everyone's shared responsibility (...was our thinking).
It encourages real PR reviews, where the reviewer is paying attention to the changes, spend time on the review until they understand what is happening and why, and when they feel comfortable, they merge it as if the PR were their own. It doesn't sound efficient, but in the end it means you always have a backup person to turn to in case there is an issue, and we mainly only had "exotic" bugs.
This only works with the right team and leadership. It was completely normal to say "yesterday morning I spent half the day reviewing that PR".
OTOH, I was also on a team where PR approval means someone scrolled through your changes in 1 minute and didn't find anything blatantly wrong, go ahead and merge and hope for the best. This team broke the main branch in a significant way 2-3 times a week.
Meanwhile if you have a call to discuss it or do it in person, you can rapidly answer any questions and get the reviewer to fully understand what they are looking at.
Encourages grouping people by projects, with all communication on a project being public.
All activity on a project listed in one place.
Catching up with work takes minimal effort, including when someone goes on vacation or leaves the team. All it takes is skimming through the project.
Slack is built around chat with high has its limitations when applied to the context of a longer term project.
Basecamp - groups all communication, assets, participants, tasks in a project space. I open the project which establishes context for everything and everyone. This predefined context makes short efficient communication very powerful.
It’s incredibly simple and sophisticated at the same time - allowing grouping activity by people projects tasks etc.
The ephemeral nature of chat-centered systems makes me incredibly nervous about missing things or being unable to find them.
There are in betweens here, with the major one being threads in slack. Everyone gets notified about a single message at the start of the thread, but does not get notified for any subsequent discussion. Any interested party can read more and participate as needed. For someone like me (a leader on paper but not really in practice), I'd read all the message and look for dependency or similar problems, but for others they may not need to.
Also someone with good standing in the company to politely point to the CTO that it's not his job to give his 2c at every conversation in slack (typical behaviour of people coming from the technical side)
I find it very dangerous when you have some technical people who moved upwards into non-technical roles still being involved in technical discussions.
Their words carry a lot of weight, yet they have no idea about the actual context of the work being done.
Sometimes this is useful and a fresh perspective from an experienced colleague can unblock things, but more often it stifles discussion and discourages the juniors from thinking freely.
I've been on teams exactly like this, but the problem isn't public channels, it's "leadership" not knowing how to let go and trust their teams. Doing more work in private is the negative consequence of this bad practice, but I assure you this issue will eventually cause problems no matter how clever people are in avoiding public conversations.
And startups that are on the path to long term success will have leadership abandon this type of butting into every day communication very early in their growth. A good C-level must learn the build teams that can scale beyond their individual interventions. You literally cannot grow beyond a 30 person organization (and survive) if this much intervention is required.
Even in person, not every conversation is good to be had in front of the large group for a variety of reasons.
We’ve gone backwards in terms of the internet being reliable. Human experience is still useful.
For example, as a principal engineer on a new project or working on something I wasn't familiar with, I'd go out of my way to ask things along the lines of "Hey, this might be a dumb question, but I'm new to X so could you explain how I do ..." I think this goes a long way to building up a culture of psychological safety on a team.
You can fake it with lots of manual "pinning" but that relies on everyone agreeing which chats are primary and should be pinned so they don't start splitting messages over other chat rooms, then you still end up with things like chat for one basic topic being split across multiple meeting-chats that all have the same membership or (worse) just slightly different membership.
It's as if they designed the tool to make effective remote work hard—but this also (like most things that make remote work worse) makes using it in an in-office context worse. It's just flat-out bad.
The people making the decision to switch to Teams don't "get" slack.
They think the features are the same, so what's the problem?
Ironically, Microsoft Teams is terrible for teams.
It's a Frankenstein cross between instant messanger and SharePoint.
Of course it depends on the size of the team we're talking about.
Since that's teh inevitable state of communication via slack with this sort of policy.
Async all the things.
Keep devs out of meetings.
Don't track work hours.
Never do Slack/Teams unless a client pays a lot to suck you into that or if they pay a very large number to have your devs in it as well.
First, we use Missive to integrate email and chat. This way everything's in one place, properly threaded, and we can easily discuss emails internally in context. Much much better than GMail + Slack.
Second, I run video chat office hours twice a week (Tuesday/Thursday). Anybody can drop in to discuss anything — or not, if there's no need. This lowers the activation energy for "in person" discussions that otherwise might not get scheduled and promotes async work the rest of the time.
Third, regular company offsites! Even a few days a year is good.
I used to do that with a large remote team. It was extremely helpful with onboarding, and keeping a dedicated space for technical discussions.
Use video chat for meetings (encourage camera on but don't require it - management should lead by example)
Be kind. Reach out using other forms of communication (like snail mail) if you want to encourage each other with thank you notes, etc.
Use some kind of shared wiki for long term 'shared ownership' documentation. Don't be afraid to lead by example. Don't be obtuse. Give visual examples of processes, technical components, etc.
Lean into visual examples everywhere you can (screenshots, mock-ups, diagrams, etc).
In video chat, screen share and encourage use of annotations when discussing things. (Zoom has this feature and it's awesome)
Use an agile cadence. Encourage people to share questions / concerns at story grooming sessions (which should be regular). Also encourage feedback at retrospectives (which should also happen regularly). Managers should lead by example in blameless retrospectives and lean into positive feedback.
If you're a team of all dudes (or any one thing), you have a blindspot with perspective. You should rectify that.
Get used to the idea that someone isn’t necessarily there when you message. Try to predict when you’ll need to talk to someone and send the message with the info you need.
Document. Everything. Confluence needs to become your best friend. You and your colleagues rely on this information to keep up on things they might miss.
When you’re planning work, especially with lots of uncertainty, optimise to be inefficient. It’s better to start with 20-person calls at the start of a big project and cut them down later than to have 3-person calls and realise you missed critical people 2 weeks before your target date.
On the flip side, once you know what you’re doing, keep your status checks lean. Invite only the leads you need and write down the outcomes to share with the wider team.
Be willing to change your communication habits as you grow. A weekly all-hands is fine for a 10-person startup. It’s a monumental waste of time when you have 200 people across 5 departments.
For async communication, it can still be helpful to set specific windows of time for things to get discussed. Example, Mondays 9am-Noon ET we review/discuss sprint goals. I like to record short videos with Loom to kick off discussions like this. Make sure to center these types of communication around specific tools, e.g. JIRA, Confluence, Google Docs, etc. Make sure the discussions convert to traceable decisions in your tooling.
What about a rock band instead?
Figure out how to have some kind of face-to-face relationship. This could be an annual all-hands trip, or otherwise take a week to fly out and spend time with the person you work with.
You learn A LOT about each other when you interact face-to-face. I once worked with two developers in India, and assumed that the shy one was just so-so, and the talkative one was brilliant.
After some deep day-long conversations, and a few day trips, I realized my assumptions were completely wrong: The shy one was shy, and the talkative one spoke before thinking.
---
More recently, I started work with a hybrid team. I live 60 miles from the office, but it's brutal commute. I go in once a week.
For the meetups my company does, one thing I like a lot is that we mix it up. Different countries, different settings, different events. Beyond that not everyone enjoys the same environment, the change itself also makes it interesting and creates talking points. People share more tips or explore something together because nobody is already familiar with the place and/or activity
As for the "whiteboard", just opening Excalidraw when you need it is very low friction in my experience. Google Jamboard and Miro were okay-ish, I guess, but for me the simplicity and responsiveness of Excalidraw is still better.
But I do agree, excalidraw is great. I recon its an importan skill to be able to confidently and quickly whip up a diagram while in a call. I worked with an engineer who preferred MS Paint, but he was really good at it, and it resulted in him explaining tricky concepts really elegantly.
We literally sit down with a fresh coffee for 5mins just as we might when crossing paths in the office. Find common topics among colleagues to shoot the breeze - football, video games, cars, etc.
Soon you'll have cross-team relationships with people who might never work directly together.