A Guide to Getting Off the Island
When you’re stuck at a computer, in a room by yourself, on a problem you can’t solve, there’s no glory in being “stuck on the island”. This post is based one of the Revelry core values – Earning and Dispensing Trust (in a remote environment)
There’s no prize for suffering in silence
There’s no award for frustrating yourself. In fact, it’s a pretty terrible experience if you’ve ever spent time trying to solve problems when you barely know which questions to ask. Sometimes just asking someone the question out loud can help you when you need to “talk it through”. Sometimes someone with a unique experience and background has an entirely different way at solving or framing the problem at hand.
Remote work can be difficult. It’s not easy to spend long stretches of time by yourself, without direct interaction or direct supervision. It’s important to be self-motivated – to call your shots, and to stay focused on the tasks at hand. If you can’t work well communicating with others in a remote setting, you may struggle in the years to come. Let’s face it, we’re ALL pretty new to working remotely from home as often as we now do. There’s also no prize for being the person who worked from home the ‘most’ or the ‘longest’. You have to be responsible for your health, wealth, and well-being while keeping your workplace constantly in mind, working from your most personal space.
There are dozens of distractions at home. Pets, kids, delivery men, and the occasional nosy neighbor can all interrupt a zoom call or a good session at your desk. Getting the job done in a remote session demands extreme focus, and the ability to minimize your distraction when you’re in “work mode”. There’s a time for hanging out at the water cooler, and a time to be locked into your desk.
Removing distractions, and extreme focus is critical to getting the job done in a remote session – from solo sessions to pairing with others – the focus is a big part of the effort. Getting things done, often requires, “feeling the flow”. It’s important to know when and where to ask questions without disrupting the flow of others.
Focus requires discipline for communication, and how you communicate with others. It means, turning off notifications, putting away your phone, and realizing the potential of focus without distractions when approaching the task at hand.
A Slack checklist for solving difficult engineering problems
AKA Getting “off the island” when you’re stuck on a problem:
When Stories that are more difficult than originally anticipated…
If you’re an engineer or designer:
Ask questions you need answered in the implementation Slack channel, without at-mention pinging anyone, the moment you encounter something you have questions about.
Assume it won’t be answered and do your own research for 30-60 minutes. If you have made no actionable progress in that time, at-mention ping someone to get attention on it.
If you’re a producer:
Watch out for hang-ups. Your projects should develop a cadence and you’ll be able to see how scored stories move through the workflow as projects progress. When things aren’t moving at a normal pace, there may be a problem. e.g. a story has been in progress for too long, or if it’s stuck in QA. We share the issue in #firedrill channel in Slack without tagging anyone directly.
Stories you won’t finish by the end of the sprint. Sometimes, stories will roll over to the next sprint while they’re still in the backlog. Alert the #firedrill @channel in Slack as soon as you realize a sprint commitment is at risk. Any stories that aren’t in QA 24 hours before the end of the sprint are at risk of rolling over. It happens, it’s ok. Don’t panic. Stories rolling over are the top priority for the following sprint and no other stories should begin until those are complete.
What is Asynchronous Communication?
Asynchronous communication happens when information can be exchanged independently of time. It doesn’t require the recipient’s immediate attention, allowing them to respond to the message at their convenience. Examples of asynchronous communication are emails, online forums, and collaborative documents. (Definition courtesy Holloway)
This understanding of asynchronous communication has caused most great tech companies and startups to create systems for better communication that allows flexibility, understanding, and a more effective approach to solving problems.
Everyone communicates differently, from a comfort level, where you get your energy (introvert vs. extrovert), and how they like to speak with others (in person, phone, email, slack, github, and others). Some people communicate much more effectively in different mediums and prefer slack to phone, or text.
Asynchronous Communication Checklist
- Write it down / build a draft
- Make a ticket in Github
- Ping a Slack channel with a general message
- Expand the details of Github issue
- “Connect the dots” in Github
- Add a message in your Slack ‘Implementation’ channel
- Mention someone in Github (assign or @)
- Ping the Slack channel with a direct message
- Stop by their desk and remind them of any of the above (Working remotely? A surprise video chat may prove impactful.)
Follow this checklist and you’ll likely earn the respect of colleagues who adhere to a similar protocol for productivity and lower stress. Your fire is not their emergency, but if you approach handling the fire in the right manner, good people will generally help you out of a bind. The checklist is one more tool in creating a company culture of mutual respect, and being ‘excellent to each other’.