This is the first installment of my “Linksheets” series. It’s a simple, yet surprisingly rare resource that will be beneficial in outlining the breadth of a complex topic and supplying newcomers with the definitive information sources for it. My inspiration for Linksheets comes from a post that no longer exists on the web called “My Node.js Linksheet.”
My first foray into this resource is going to be a soft topic: remote work. Specifically, working in remote software development teams.
Definitive Blogs on Working Remotely
On Working Remotely (2010) by the great Jeff Atwood, the founder of StackOverflow and author of the blog “Coding Horror.”
30 Tips for Successful Communication as a Remote Worker (2010) by the phenomenal Scott Hanselman, a star on the developer conference speaking circuit and creator of the Hanselminutes podcast.
How to Work Remotely and Travel the World (2014) by Jake Jorgovan. The lifestyle of this author is not as easily obtainable as he makes it seem, but it’s an intriguing look at how you could work remotely while living a life of adventure.
Real-World Examples, Case Studies, and Tips
How Atlassian Does It: 3 Tips for Remote Teamwork (2013) A deep look into the lessons learned at Atlassian, a wildly-successful ALM tooling company. Obviously, they use their own tools internally and recommend them, so there’s bias but the advice is solid.
Making Remote Work Work: An Adventure in Time and Space (2014) MongoHQ’s trials and tribulations in remote software development. Learn from their experience and scroll to the end for some practical tips.
Fog Creek’s Ad Hoc Remote Work Policy, or, Working From Grandma’s House (2013) A top-notch example of one tech company’s remote work and vacation policies.
How We Use HipChat to Keep the (Distributed) UserVoice Team in Sync (2012) A really helpful piece that shows you some of the best ways to effectively use chatrooms during remote team collaboration.
Tools (My Picks)
- GitHub - Version control and issue tracking
- Jira - Issue tracking
- HipChat - Instant messaging chat rooms
- Skype, Google Hangouts - Video calling
- Screenhero - Screen sharing with voice calls
- Asana - Lightweight task management
- Google Docs, Dropbox - Shared documents and knowledge repositories
- Draft - Shared documents with better version control visibility
- Basecamp, Flowdock, or Slack - Team task management and resource sharing
Addendum – Aaron Boodman’s setup description on usethis.com has a few Unix-y tools that are popular in the developer community as well. Usethis.com is a great site btw.
Pair programming is another big topic on its own, but it’s an especially useful tactic in remote teams. Here is just one fun article that groups various pair programming styles into different personas.
Tools to Convince Your Boss
How Remote Work Changed My Life (2013) by Justin Jackson. An insightful, personal account of how remote work had a hugely positive impact on one developer’s life.
Companies That Embrace Remote Work
- WordPress (Automattic)
- and many more. Too many to list here…