Python Training by Dan Bader

Remote work productivity tools for software development

A collection of tools that I found useful for effective remote work as a software engineer, grouped by topic.

Me, writing this article

Me, demonstrating effective remote work. Just kidding.

Communication

A key part to making remote work successful is communication. Because you don’t share the same office you can’t just head over to a co-worker’s desk and tap them on the shoulder. Instead any form of communication takes a little more planning ahead when you’re remote. The key concept here is enabling asynchronous communication. Having great tools for asynchronous communication lets engineers focus on getting more work done faster.

  • Slack - Async team communication/email replacement. A fancy and more user-friendly version of IRC. HipChat is similar but feels less polished.
  • Skype – In my experience Skype still delivers the best audio/video quality. Plus pretty much everyone has it installed these days so it’s easy to get people to use it. It has a voicemail feature, too, which can be helpful for asynchronous communication. Google Hangouts is a great alternative.
  • Email – Email is still the premier tool for asynchronous communication, especially for more “formal” use cases. My productivity-tool-geek friends probably want to stone me, but I still like my Gmail + Mail.app combo very much.
  • QuickTime Player – Video communication also works asynchronously. I found that putting together little ad-hoc demo videos helps a lot with gathering feedback on new features. QuickTime Player comes included with OS X so creating a quick screen recording is just a few clicks away. This also works with iOS devices connected to your computer, by the way. If you want to spend more money ScreenFlow and Camtasia are good alternatives.
  • Clarify – A screenshotting app that lets you quickly build how-tos and tutorial articles. This is a huge timesaver if you ever need to explain a workflow to someone and can’t jump on the phone or on a screen sharing session.
  • Confluence Questions – Think “your own, private version of StackOverflow”. This is a really cool way to build up a knowledge base over time. Questions is not really a great fit for a short-term project, but I’ve seen it used to great effect company-wide at Mobify. We asked new hires to submit a question at the end of every day in their first week. Within a month we had a great list of frequently asked questions (and answers).

Collaboration

Working together on a deliverable, whether it’s code, documentation, or art assets, is sometimes absolutely necessary to achieve a great result. Luckily, there are many tools out there that support synchronous or asynchronous collaboration on all kinds of documents.

  • Screenhero - Screen sharing and high-quality/low-bandwidth voice calls for collaboration in teams. It has a cool “pair programming” mode where each person on the call gets a separate mouse cursor and can send clicks or keyboard input. Screenhero was recently acquired by Slack and the tech powering it will be integrated into Slack. Sounds exciting.
  • Moqups – Build mockups and wireframes in the browser, with real-time collaboration. This is to Balsamiq what Google Docs was to Microsoft Word. I prefer Balsamiq’s UI but the real-time collaboration in Moqups is a killer feature.
  • Google Docs – Still the best real-time collaboration tool for text editing. It sucks for editing code, though. And I wish it supported Markdown.
  • Draft – Async text-editing collaboration in the browser. Supports Markdown, has version control. I just started using it and it seems like a really neat tool.
  • GitHub – I like having pull-requests for everything. GitHub’s diff viewer and commenting features make it really easy to collaborate on any kind of project asset, whether it’s code, images, or text. I’m not a huge fan of GitHub’s bug tracker but it gets the job done in a pinch.
  • Dropbox – The “upload screenshot” feature is great. Just hit CMD+Shift+4 and Dropbox’s client app automatically uploads your screenshot and puts a link to it in your pasteboard. Super helpful for hassle-free screenshot sharing via email or your-chat-app-of-choice.

Project management

It’s important to keep the people you work with in the loop on what’s happening on your end. A typical way to do this in an office would be through a daily standup meeting. For teams that collaborate asynchronously it’s nice to collect this info in a tool somewhere.

There are some established heavy-hitters like Jira, Asana, and Basecamp in this space but I found it useful to have something more lightweight in a small team.

  • Trello – Online Kanban boards for managing projects. Slick, fast UI, and supports realtime collaboration. It’s a great way to see who’s doing what on a small team. They have a nice mobile app, too. I love Trello. My wife and I even use it to organize our cooking recipes…
  • iDoneThis – Daily status reports done right. Just reply to an evening email reminder with what you did that day. The next day you get a digest with what everyone else got done. You could achieve the same by asking everyone to post their status to Slack, but I like that iDoneThis lends some structure and accountability to the process.

Timezone management

Not getting confused by timezone differences is important for distributed teams. If you ever got a non-urgent call from work in the middle of the night you know what I’m talking about.

  • World Clock Meeting Planner - A super useful web app that shows you viable meeting times (who’s awake when) across multiple timezones. I have this site bookmarked.
  • Every Time Zone - Utility web app that shows you all of the world’s timezones. Finding a time to schedule a call becomes as simple as moving a slider around. Timezone math no more!
  • Teleport Sundial — Neat dashboard for seeing all of your team’s locations and timezones at a glance. Helpful when there are many timezones involved and you need to schedule a virtual meeting.
  • World Clock (Mac) - Integrates into OS X’s Notification Center and shows your favorite timezones at a glance.
  • World Time Widget (iOS) - World clock for iOS’s Notification Center so you can check the time in your favorite timezones quickly, even when your phone is locked.

What’s missing here?

The perfect setup for remote work is a moving target. Especially now with more and more companies hiring engineers to do remote work, cool new tools are released every month.

So please, if you really like a tool that I should know about, get in touch with me on Twitter and tell me. I’m always looking to improve my workflows! Thanks :)

<strong><em>Improve Your Python</em></strong> with a fresh 🐍 <strong>Python Trick</strong> 💌 every couple of days

Improve Your Python with a fresh 🐍 Python Trick 💌 every couple of days

🔒 No spam ever. Unsubscribe any time.

This article was filed under: productivity, programming, and remote-work.

Related Articles:
Latest Articles:
← Browse All Articles