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.
> 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.
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?
Core values are core values, and for better and worse, everything is not for everyone.
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.
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
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.
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.
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
Massively agree with this. It can be difficult to create a culture where everyone talks in the open but it can save so many little and big mistakes!
Basecamp is incredible for this.
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.
100% this. The fact that teams does not have an easy voice channel is a disgrace.
Every team needs a one-nine (CB channel for chat/truckers)
what happens on that channel?
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.
In addition slack search becomes a great onboarding tool.
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/
consider personal readme's if your team is a bit larger (example): https://gitlab.com/swiskow/swiskow
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.
I miss donut. Is it still around?
Feeks like a relic of the early pandemic times (although there are countless other tools like it now).
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.
100%
I think you can read between the lines of the OC.
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.
> 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".You sound like a joy to have as a coworker…
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.
> I [...] 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
It’s both well known and self evident that communication is richer in person for the vast majority of people.
Not really something worth arguing about.
Water is also wet, but I don’t have a specific source to link for that.
there is a middle ground. if i walk past you and you make eye contact, i say hi. if you are focused on your screen ignoring me, then i remain silent
That doesn’t account for folks who fail to make eye contact (of which there are many in tech)
it does, because i won't be greeting them, which is exactly what the poster above is asking for
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.
> 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.
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
Please no. This sounds awful tbh.
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.
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.
> if you can start getting people feeling connected and collaborative, you'll find that they'll naturally keep that up and build on it.
A great insight
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.
>For the required sync meetings, make sure there is a rock solid ...
What about a rock band instead?
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?
Just chill.
> No plans to be in person
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 have found that the key to running remote teams is cadence, communication, and connection. This is more difficult with a remote team, so you need to be much more intentional. Remote teams that are not connecting tend to focus solely on work and miss the purpose behind everything you do.
Here is a simple cadence: hold all-team group meetings to share core values, mission, and to keep the vision in front of the team. Next, create smaller groups if you are managing a larger team, and encourage introverts to participate alongside extroverts to build relationships within the team. By doing so, the team will work harder and even help each other as a cohesive unit. While it takes effort to build, it is worth it.
The final step is communication, which we all know is vital. With a remote team, you sometimes have to over communicate since there are no casual water cooler chats or coffee breaks to connect informally. This requires a time investment to develop, but the return is a longer-lasting team with minimal turnover. It's worth the effort to build a great remote team.
If you're in similar time zones, try https://www.gather.town/ ?
I've used it for remote conferences, and I like its 2D UI. Real sense of space there.
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.
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'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.
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.
This would be insanely disruptive to me and I think most of my team.
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?
Hi again. I agree, this isn't for everyone.
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.)
> Oh god, please kill it with fire.
> 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.
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.
> 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.
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.
> 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.
> It's better if this chat has history which expires in 24 hours.
Your legal and HR departments will be much less enthusiastic about this idea if your org is big enough to have either.
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.
> It's better if this chat has history which expires in 24 hours.
Probably wise to run that by counsel.
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?
We do three things:
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 run video chat office hours twice a week
I used to do that with a large remote team. It was extremely helpful with onboarding, and keeping a dedicated space for technical discussions.
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.
Gemini is actually good for audio transcriptions, I tried other AI tools that were much worse.
I didn’t find another good use of Gemini, but the audio transcription combined with the summaries were great. Best I’ve seen.
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.
how do you think Figma slides will play into this? (Big Figma/Jam fan here BTW, thanks for your work!)
Slack / IM often
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.
I work from the USA with people only in Singapore and India.
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...
I worked for multiple companies remotely and the thing that worked the best for me was:
- Everyone must be connected to Discord in an audio room. - Encourage pair programming. - Record every meeting make them available to everyone. - Log every decision in a central place, easy to browse and discover. - Meet regularly (IRL) with you colleagues.
By far the most important point is always being on Discord. You can quicky jump in someone's room and feel very connected to your teammates. Obviously, like in a real office, don't disturb someone if it can be managed asynchronously.
WhatsApp is very common for smaller simpler projects, and I'm pretty happy with it.
My main communication related complaint is when it just doesn't happen at all.
Plans change and nobody tells me so I work on cancelled features, only one person actually knows what's happening and they're busy so you don't want to ask them about every detail, minutes are not taken at meetings.
I also would prefer calenders be managed better. Google shared calendars are amazing, I'm sure there's something similar people like for bigger projects where some people use apple... But nobody seems to really see the need for anytime like that.
Try using video meetings through virtual frosted glass via MeetingGlass (https://meetingglass.com/).
This will give you the feeling of being at the same desk, with the opportunity for quick, spontaneous conversations and collaboration.
Here you can find articles about virtual frosted glass: https://meetingglass.substack.com/
Regular group discussions (not standup) are important. My team meets 30-60 minutes four days a week to discuss technical details and long term strategy.
It plays two important roles
1. establish rapport between team members
2. gives known space for issues. Leads to Better balance of focus time and group convo
This is the most important meeting of the day. Create doc to people can add things to the agenda. Managers job is to keep the meeting relevant, efficient.
Outside of that. Devs encouraged to pair together separately for troubleshooting.
1:1s are critical early on. DO NOT CANCEL THEM. And keep them relevant
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.
+1 for Gather.town we've been using it for years
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.
+1 for Zulip.
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.
We have been using Zulip as well now for a few years. Especially enforcing topics is a big win.
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.
On the softer side, I found remote work to be painfully dry the past few years so created a small Slack extension to add color / life / levity to internal communication. Collect team quotes & images, make memes. It's added a lot of joy to teams, especially eng teams.
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.
Stripe's Increment had an entire issue devoted to remote work: https://increment.com/remote/
Tools like Slack for instant messaging, Zoom for video calls, and platforms like Trello for task management.
Like an MMORPG guild. which in 2024 means Discord.
(No “professional” solution is even close to gamer tech for remote communication)
Dailies (we have 3 in a week) for synchronization helps a lot. It’s also help’s with new stuff onboarding.
Slack, notion, and a meeting every Monday to talk about what we're doing and priorities.
Dumb idea: play some game together.
Tickets. Email. Signal (emergencies and sensitive info only).
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.
A few things help me:
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.
Me personally:
- do my best to avoid chat stuff like Slack, yes even to ping someone before calling, it's more disturbing than useful. Mails are the way to go, much more structured so well searchable and reconstructable as needed, when needed. Doing so force people to communicate a bit more properly in written form instead of wasting time;
- a home office, meaning a room, with relevant environment (low noise, etc) to been able to talk out loud not having to wear headsets and alike, I do not care much if it's a VoIP phone classic call or something else, simply the point is being hands-free all the time, with good enough mic I can move a bit keep talking issueless;
- trying to keep a wiki, which is a VERY HARD task because when you start it's empty so there is no point in going there and after some times many pages became a bit or totally outdated and there is no easy way to bind them to what they document so to get "automatic alerts of not anymore current pages"... It's still useful because it's the sole document culture vs oral tradition enabler that most people know enough to casually use.
Aside an INTERNAL CRM-alike might be of help to being able to get some infos about a contact calling you every time he/she call (including personal stuff like birthdays who help socially).
Doing more often does not work. Most non-tech people still refuse the idea of tickets and tasks to be established/picked, assignments and reassignments rules etc try to push them outside very specific technical landscape in general is worse than giving up on them. Seriously.
That last paragraph is the biggest issue IMVHO: most tools we have are simply rigid and annoying, so most people use them badly nullifying any potentially positive outcome. To be short: more free text, more comms, less rules works regularly better, if you still manage to avoid exaggerations.
Onboarding is the hardest part: if normally docs are bad in general those to "get start with us" are the worse, essentially nonexistent or if present totally useless. In the end even in IT most people do not know how to work with IT tools and paradigm, and tend to be unwilling to learn.