Throughout my career, I’ve had times where I worked 100% remotely. Overall working remotely can have benefits and even make you more productive as an engineer. I would like to share 5 tips that have worked very well for me.
TLDR: Communicate more than you would normally do.
1. Leverage working asynchronously
This might seem as a disadvantage initially, but leverage that you are not communicating synchronously with each other. Use tools such as Drift, or any other video recording software to ask the other person questions. The other person can respond when he/she has time. This allows the other person to not lose focus as much. They can decide when they want to respond.
This can actually be a huge productivity gain. When in the office, you might be approached by someone who has a question. You have to respond synchronously, making you lose at least 15 minutes of focus. Async communication can be a blessing when used properly.
2. Ask for help early on technical decisions
In the office you can ask people quickly on technical issues. You will receive feedback in a short manner of time. When working remotely chances are you could be going down a rabbit hole for a longer period of time, without you actually knowing about it. This means you could possibly lose hours if not even days when not asking people for guidance on technical decisions. Force yourself to write a small design document, write down alternatives to what you have in mind. Allow others to challenge your ideas and take their feedback into consideration. This additional session will greatly help putting your code on a solid foundation.
3. Use tmate/others for pair programming sessions
Join on a pair programming session. If you are programming in the terminal, tmate is amazing. You simply type tmate and then share the session with another engineer. They can log in and start using your terminal. This is great, as they can also use their own regular key bindings. Downside, you are bound to using console editors like VIM, Emacs, or nano.
4. Jump on a call and just work together
After many years of working remotely some colleagues complained how they became more and more isolated. They worked more compared to going to the office. The whole day way just waking up, standup, working, going to bed. They felt isolated. Make sure you set up your own rules and be strict about them. Jump on a call with other engineers, just to have a chat. You can also be silent and just work a little bit together. It does wonders and helps with not feeling that isolated.
5. Push your pull requests faster
Push your code fasters for others to see. Mark your pull requests as work in progress [WIP] so that others don't waste time reviewing your half baked code. This also helps others seeing what you are working on, resolving conflicts faster before they actually happen. Ask others to check through your WIP code and give you feedback on the architecture you are doing.
Thanks for reading - hope the tips were helpful and happy remote working.