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
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.
Probably wise to run that by counsel.
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.
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.
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.
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.
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.
I've used it for remote conferences, and I like its 2D UI. Real sense of space there.
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.
Your legal and HR departments will be much less enthusiastic about this idea if your org is big enough to have either.
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?
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.
> 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.
(No “professional” solution is even close to gamer tech for remote communication)
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.
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...
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.
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.
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.
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.
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.
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'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?
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.
> 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".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.
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.
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.
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.
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
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.
Better to create different channels (sync, async, 1:1, broadcast), provide guidance and trust workers.
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
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.
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/
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.
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.
- 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.
"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.
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.
> 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.
- 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.
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.
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.
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.
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.
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?
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.)
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.
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)
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.
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.
Feeks like a relic of the early pandemic times (although there are countless other tools like it now).
A great insight
Anything less and you'll have people just enjoying a day at the park (without the laptop).
Have a company wiki.
Have anyone who can’t touch type learn to do so, on the clock, as priority 1, before anything else.
If you can’t type a lot and quickly, you will resort to speaking instead, which isn’t convenient to consume and isn’t indexable. Strongly discourage calls and synchronous communications in general.
In any case, not having a daily meeting does not mean something is wrong, as the parent poster stated.
And as the currently top comment says: make your messages public by posting them in the right Slack channels. I had a former colleague literally sabotaging me -- he thought he was getting fired because I was hired, and quickly hated my guts apparently -- by not responding to my Slack DMs which I used to bring a bit more details that I felt could be too much for the channels (logs, error messages from CLI tools etc). I could not progress on important tasks for a few weeks because of him.
After he pulled this stunt twice, I simply started posting in our team's channel where executives are also present. He never dared to delay a response ever again for as long as I was there during the contract.
It's sad that it sometimes comes to this but work is work and I am paid to deliver, not to develop endless empathy towards childish insecurities that result in a literal sabotage of my work.
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.
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.
- Everything public in Slack. Create a fun-sounding moto that discourages DMs. Even if a DM happens, and the back and forth resulted in a consensus, share that consensus in a public channel (which makes it searchable).
- Record your team meetings, preferably with software that can AI-summarize. Folks on vacation / leave can get the rundown easily.
- Encourage the sharing of solutions to various problems (technical or otherwise) in Slack. If a developer is stuck, and someone helped them in a huddle or a pairing app, share the solution afterwards (again, makes it searchable). Discourage the over-sharing of screenshots (of your application and other things). Again, not searchable. If one must be shared, describe it. For instance, many devs share a picture of a stack-trace. Not super helpful for others. Grab the text and dump it to Slack.
- Have a good pairing software setup, unblocks for when Slack back and forth is too tedious. I like Tuple (tuple.app).
- Connect your issue tracker to Slack, if you use one, makes creating issues easy. Linear does this well.
- If feasible, have your team meet in person, cadence up to you, but at least once. Meeting the people in real life humanizes them more. I know it sounds silly to say, but it's very true in my experience. Your people will seem even lovelier.
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.
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.
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.
Even in person, not every conversation is good to be had in front of the large group for a variety of reasons.
Same for Slack - keeping stuff public as much as possible.
Set aside time for reviewing PRs separately and together, and same for project plans (RFCs, timelines, etc.).
I've found once per quarter to be the sweet spot. It builds up so much trust.
Maybe Zulip for a slightly more searchable option?
Even at companies that aren't "remote", there are people who will simply ignore emails and messages. You're forced to go nag their manager or escalate to yours to get them to respond.
♫ ♪ ♬
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 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
Of course it depends on the size of the team we're talking about.
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.
Sharing solutions in slack works until stuff becomes impossible to find.
Using confluence or some type of team documentation feature can help with that stuff. Better yet, keep it very low effort to add docs there, so people can copy paste important (long lived) messages there.
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.
1. Meet in person every quarter. Fly people into the HQ if there is one. If not just rent meeting place.
2. Have a well written handbook like Gitlab that explains how your company works.
3. Onboarding program - remote onboarding sucks. Do onboarding in person (if you can) or assign an onboarding buddy if you can’t.
4. Slack Is Great But (SIGB) - teach people that they don’t need to read everything. Many people get overwhelmed. Great engineers don’t read everything nor should they. Let everyone know that it’s a shared brain or knowledge source - and it’s ok to turn it off to focus.
- 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.
If you use Slack, I think the admin panel already contains the number of messages in channels VS DMs. Long time I last saw it myself, but I think it was missing a breakdown on how many members of the Slack received the channel/"public" messages (as not everyone is part of every channel, 2 member channels vs 200 member channels for example), maybe it looks different now.
> 5. Slack Is Great But (SIGB) - teach people that they don’t need to read everything. Many people get overwhelmed
I think this happens when Slack is the "source of truth", because the ephemeral feeling it gives since it's a chat ultimately. If you instead use a wiki/whatever to actually collect things that are important, there is less stress about possibly missing out on important things. Make summaries by week/month and it'll be even easier for people to catch up easily, which means even less stress :)
"Inherently"
It's simply the premise on which the entire post is based.
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)
Keeping stuff secret and hidden does not help the project. If your team is 50 you are probably not the only one asking the question and several people would be able to answer the question, limiting to one just annoys the one you asked if they are busy and someone else is not.
Minimize the unsearchable communication tools, like Slack and Discord, though these tools are fantastic for casual conversations. Everything possible should be done to minimize notifications from Slack/Discord. In fact, minimize interruptions as much as possible to maximize the asynchronous benefits of working remotely.
On the development side, everything should be code reviewed before merging to main, as this helps spread knowledge and increase the signal:noise in written communications.
On the business side, all customer meetings (many of which should use GMeet), should be transcribed and summarized so the developers and other folks can be as close to the customer as possible.
Meet in person as a whole company AT LEAST once per year, perhaps 2-3 times. This can get expensive. As the team learns each other, the frequency can reduce. During periods of employee growth, increase the frequency.
Read "Remote" and other books by the Basecamp team.
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.
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.
I see lots of advice here about documenting everything, discouraging 1-1 conversations, etc., and while I agree with that up to a point, this advice can also drastically slow you down if you require a level of formality for everything. The thing that was nice about having Discord channels is that if I needed to get a quick explanation about something, I could ask quickly without needing to schedule a meeting, etc., and everyone else in the channel can listen in (if desired). Discord also has good "deafen" features, so if you're heads down and don't want to be bothered it lets people know.
Again, I think this only works well with about ~8-10 people max per channel, but that's about the optimal max size for project teams anyway in my opinion. I highly suggest you try it if you haven't - when I first tried it I thought "How is this any different from Slack Hurdles?", but the small usability improvements in Discord made it feel to me like it approximated the in-person work experience much better than Slack (note we didn't use Discord as a complete replacement for Slack, just for small "working group" teams).
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.
The solution we adopted was to create a Confluence space for each team, and any question on Slack would have to be in the form of "Where on Confluence can I find the information about <thing I need to learn>?"
This very quickly made all team leads responsible for documentation and for keeping things up-to-date. If no page about <thing I need to learn> existed, then the lead would have to create the minimal page even if just to answer the question on Slack and respond with the Confluence link. Once you have the link, people would use the comment page to ask for clarifications/details, and we would "resolve" the comments as soon as the page was updated.
Maybe it's because I am big fan of wikis, but to me this worked quite well.
We’ve gone backwards in terms of the internet being reliable. Human experience is still useful.
It doesn't actually stop people from DMing me, but it does soften the blow a bit when I immediately move technical/product conversations out of DMs. (Obviously anything personal or sensitive stays private)
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.
Edit after reading other comments: no team private slack channels. Super annoying.
Don't be afraid to small talk and goof off just a little (in a way that's respectful to your colleagues). Allowing people to be more themselves fosters better working relationships IMO, of course with the expectation that anything public facing is done with professionalism.
https://www.emergencyremote.com/emergencyremote#h.vvx9who9kf...
For example:
- Chat discourages thought. - Chat burries decisions. - Brainstorming and ideation vs reasoning. - Brainstorming, ideation and reasoning vs preferences and biases (CEO weighs in) - Documentation vs works in progress. - Proposals vs time to consider them. - Bike shedding. - stupid forum formatting. etc etc etc
Current social media is shockingly poor training for good communication.
For ongoing discussions about a topic, start a channel and perhaps prefix it "temp-" to indicate that it's a temporary channel.
Finally, I feel DHH's article on group chat still provides valid criticisms and recommendations to retain your sanity and prevent the feeling of FOMO: https://signalvnoise.com/svn3/is-group-chat-making-you-sweat...
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 like being in a office while being remote and really helps with that zoom fatigue and actually let's you have a HQ and drop into colleagues offices.
some of the ideas seem to be that in post scarcity many crimes become meaningless, and that the AIs keep your privacy.
I will also add that if the info to be conveyed is less than institutional knowledge, and it more about "what's status of a project?", that too, can best be posted in some sort of succicnt dashboard...which can live somewhere in an appropriate place in your doc repo/wiki. Again, i will state again that ephemeral platforms like chat have their place, but there's nothing more powerful to ensure EVERYONE everywhere in your org knows what's up, what's happeneing, and/or how to get help to keep moving forward on all efforts.
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.
Asynchronous communication is largely a cultural concern, not a technical one, and completely compatible with Slack. Just give people permission to treat Slack as an async tool and remind them they don't need to be present there every minute of the day.
Where I work, we encourage people to close Slack when they need to focus or simply don't feel like being present. There's no expectation that a message gets an immediate response, even if the person is online.
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.
-Quarterly Offsites where you actually work together in the same room, not strategy sessions. Don't try and come up with strategy during offsites. Get a big hotel conference room in a cheap city (Vegas, Montreal, Orlando) with good internet and sit everyone side by side. Fly in Monday morning, leave Friday afternoon. Do this once every three months for the full team. You get a full week working together. It's better do to longer sessions (like a week) less frequently than shorter sessions (like 2 days) more freuqently. This gets you really synced up with everyone.
-Sunday night executive meetings (Tim Cook does this). Sorry but if you're a startup and you're trying to build something awesome you should expect your leadership team to meet Sunday nights. Audio only phone call is fine.
-Audio-only by default. This doesn't mean "camera off"; that's an awkward format. It means being in a position to have fast, quick audio conversations enables the spontaneous collaboration lost from the physical office in remote work. Audio-only is also more palletable for working late hours. Who wants the camera on at 11pm? But you're willing to voice chat for a sec to work on something. You want to set things up to be able to work around the clock.
-Weekly all hands. Do it closer to the end of the week. I like Thursday afternoon because it tends to maximize attendance. This one's from Skip Schipper, former head of HR at Cisco.
-Make people do live demos in a stage or theater type setting. Make it kind of workshoppy, where there's real-live feedback in realtime as people do stuff. This one's from Steve Jobs.
-AI Meeting Sumamrization is great but you need to make sure its surfaced in a way that the releavant people can get to it.
-Do not pack your calendar with back-to-back video calls. The sign of strength is "calendar zero", not calendar filled up.
-Music. People who listen to similar music tend to get along and bond best. I learned this one from Douglas Hofstader.
-Encourage people to come find you immediately if they need anything. This is the big, fundamental problem with remote. You get stuck, you stop. You must must must get people to take the extra step to proactively find each other so they can keep working at maximum speed.
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.
It's true that if you treat it just right, you're going to get an async tool. However, you want tools that are naturally like that. There are many foods I can fairly easily cut with a spoon, yet my experience is much better using a knife.
The mere fact you have to encourage to close Slack means it is used for something it shouldn't. Use evergreen communication for most communication, then use Slack only when you need it, which will be much much less.
Slack is also terrible at history preservation, see my reply to a sibling comment.
We ended up switching to Campsite (campsite.com) which is brilliant except for the synchronous stuff (calling). Calling exists, it’s good, their recording feature is great, but the general “smoothness” of hopping in and out of calls on Roam is absolutely unrivaled.
What I do believe is good is to encourage things to be public by default, and to encourage people to be stingy about what they make private.
I think a good balance is:
1. Private DMs with your manager, for sure. This is no different than why managers should have a set schedule of closed-door 1:1s with their reports. Sometimes there is awkward stuff to discuss with managers, and there needs to be a venue for that.
2. Private group for small "leaf node" teams. This is IMO the best place to share "I'm sick today" or "I'll be on vacation on these dates". In my experience, people prefer to share this kind of stuff with a smaller group, and I think that is reasonable. This also gives newer or otherwise more insecure team members a less intimidating place to ask questions they're worried are dumb.
3. Pretty much everything else public.
YMMV of course, but personally, I've seen problems from both too-private and too-public cultures.
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.
If your company is big enough there’s bound to be someone above you who will hold you to the first version of an idea you threw out or who will freak out about something that may not really be a problem.
Have your team in vidcon regularly, scheduled.
Whether for strictly work or social doesn't matter. If social, leave a big window of time that people can come and go anytime they like without explanation.
You can even leave a camera running in each location for a while just for the occasional hello / wave. (Just make sure the camera is marked as and understood to be live)
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.
Slack should be treated like the super-IRC that it is, it is poorly designed to be the nominal system of record that people try to use it as.
- some minimal description for the problem you're trying to solve
- what you've tried already, and why it hasn't worked
----
Bad:
> "Hey! Does anyone know how to use X"?
...time passes...
> "Sure, I can help with that. What are you trying to do?"
...time passes...
> "I'm trying to do Y."
...time passes...
> "Okay, sure. You can set it up like this."
...time passes...
> "Oh, I already tried something like that actually, and it didn't work."
...etc., etc., etc.
----
Good:
> "Hey! I'm trying to use X to do Y as a part of feature Z. I already tried A and B, and they didn't work for <reasons>. Could someone help me out?"
> "Oh, yeah, that's a known problem with A and B. We can get around that by setting up X this way. Since you're working on feature Z, you might also want to consider..."
Whenever I got a weird build issue, or some error that was related to internal code, I would just search Slack and the majority of the time I would get the answer I was looking for, provided that answer was a problem in the past.
Likewise I've found Slack search invaluable when it comes to remembering conversations I had with someone months ago.
Beyond just search, I've seen teams have lots of luck with task specific channels for major projects. It keeps the chatter low and the information high.
Ultimately I think my favorite thing about Slack is that it is a pretty good de facto internal knowledge base (better than poorly maintained confluence pages for sure).
I honestly don't even see the argument for why this is true of email lists. I went from an email-list-heavy environment to a slack-heavy environment, and both have been pretty equally good/bad for this.
I do think issues, project planners, design documents, etc. are better for discoverability, but they are also, in my experience, far less complete a history of what's been going on, than whatever the primary communications platform is.
There has been a lot of useful work that gets done in the cracks between the planning and work tracking artifacts, every place I have worked. I think you can either make that persistent and discoverable, despite it being super noisy, or just lose all the context on it altogether.
However, my experience is the difference between 0 in person meetups and even 1 per year is astounding. I was at one company that didn't have in person meetups for years and when they finally did the company culture changed (for the better) over night. The difference between 1 per year and 4 per year is negligible barring the fact that the latter makes me start to dread meetups rather than enjoy them.
It is worth pointing that one of the value adds for any company using Slack is that nothing is private. Anyone with an admin role can read any conversation, DM or otherwise, and this is considered a good thing since it allows the company visibility into employee communications in cases of illicit activity.
What's odd is very few teams I've been on have made this fact very clear. Which reminds me a bit of Dr Strangelove when the doomsday machine is kept a secret for a birthday surprise. The entire point of being able to monitor private comms is as a deterrence. Employees are less like to send a message that might be considered inappropriate in the first place if they know they're being monitored.
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'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
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
Long term strategy needs to be decided on four times a week? Each instance taking ~10% of the working day's time? I expect I'm misunderstanding you but I'm not sure in what way
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.
I was recently surprised to find it is actually searchable in slack, apparently Slack OCRs the screenshots and even photos of text and you can find screenshots in the results if the keyword can be found in them.
If you're looking for a fun way to unwind after work, check out 1xBet slot https://www.bangsaonline.com/berita/130476/setiap-orang-memi... for some great online gaming options!
What benefit would you see in doing this? The only thing I've heard is some consider it nice to be in close proximity to others, but that doesen't really sound like a business reason
If the summarizations are trustworthy it sounds like a good idea, however I've yet to see a reliable AI-summarizer that doesen't result in very high costs when wrong assumptions are made because of invalid or downright sabotaging summaries or generated documentation.
I believe minimizing the synchronized time people need to spend together in any task is best; have the least meetings possible while blowing away obstacles with as few people as is necessary. You can save an unbelieveable amount of unproductive time people would be locked in meetings they don't belong or contribute to.
You have a company policy that allows that. For example, if anything is decided in Slack, it has to be "codified" somewhere else, like a wiki. Then you'll be able to justify not reading through all messages.
While slack seems like popular suggestion, its not made to keep structured information and what happens is that you have some discussion in slack, some discussion in a meeting that was not recorded and then, in a best case scenario, some conclusion in Confluence. This is a bummer because a lot of information was lost, specially the logic behind a decision. It would be far better if the discussion happened in writing within the comments section of the document. Now all the context is in a single place and searchable. Plus its possible to add to it somewhere in the future, so the document base doesn't necessarily grow with time.
As you said it's hard to quantify the value, but anecdotally I notice it most in 3 (distinct but somewhat overlapping) areas:
(1) Overall morale - everyone enjoys work more when you have a good relationship with your coworkers, so people are willing to do more than the bare minimum. People approaching burnout feel more enthusiastic about work afterwards. (2) Everyone is more inclined to help each other out with tasks outside of their routine but within their skillset, reducing bottlenecks. (3) Similarly, you develop a better sense of each other's personalities and skillsets in a way that's much more difficult when remote, so communication is more efficient, and collaboration more effective due to that increase in understanding and empathy.
In person collaboration is best, but for a fully remote company and geographically distributed team I think we've built the next best thing.
Many of us are on camera all day, others pop on just for scheduled meetings. But with the mix of working styles we've managed to maintain a pretty healthy culture, where we can have some of the spontaneous interactions that are so important.