Distributed (remote) working has always been a foundation of the Engineering team at FreeAgent. Our entire company was founded as a distributed team and over the years we’ve managed to maintain a 50% distributed-to-office staff ratio in Engineering.
The tools we use to work effectively as a distributed team have changed over the years, but there are a number of stalwarts that we’ve used since 2007 and still love today. I thought it might be interesting to look back through the years at how the tools in Engineering have changed as our company has grown from 3 to over 240 (and engineering to over 100), and to give a shout out to (some of!) those tools that we consider crucial to our workflow today – especially in these most unusual times where most of the world is working remotely.
Google G Suite
Every company needs some sort of office suite for email, documents and so on. Gmail was by far the best email option back in 2007 and as a result we ended up being early adopters of Google’s “Google Apps” office suite. It was fairly limited back then but the document collaboration was state-of-the-art (thanks to Google’s acquisition of Writely) and I would argue remains unmatched today.
Today we’re still heavy users of G Suite (as it is now known). The G Suite apps we use every day across the business are:
- Drive, for both file storage and online docs. Team Drives has been a massive win.
- Drawings (sometimes, it seems the third-party add-on Draw.io is a bit more popular)
- Cloud Search
Alongside Google G Suite, in the early days of FreeAgent, Basecamp Classic (as it’s now known) was another state-of-the-art collaboration app that allowed us to work effectively as a distributed team. Message threads instead of emails, todo lists, files. Basecamp was also the first ever Ruby on Rails product which was a real bonus as we could use Basecamp’s pioneering of web apps as inspiration for some of the early FreeAgent UI (FreeAgent is also written in Ruby on Rails).
We probably used Basecamp for 2 or 3 years but, alas, it gradually fell out of favour due to other tools being introduced into our workflow. Shame, in a way.
Trac deserves a mention as we used it for our main engineering work for the first couple of years. FreeAgent predates GitHub (and I don’t think I heard about git until late-2007) and initially we used Subversion as our source control tool of choice. It’s hard to remember what life was like pre-git and GitHub but they were tougher times believe me!
Trac did a pretty good job of providing us with source control hosting as well as an online Wiki and bug tracker, both of which we made good use of (part of the reason why Basecamp ToDo’s fell out of favour).
Moving from Subversion to git was a real game changer and GitHub was a large part of that. Not only did GitHub allow us to introduce a faster development workflow using efficient feature branches and pull requests, GitHub has come to form a central component of our continuous delivery workflow today. It integrates with our Jenkins CI system and Slack, and we use it to track all our bugs and issues. It’s amazing! 🙏
We were early adopters of Trello (I’m a Spolsky fanboy) and started using it for development ceremonies such as sprint planning and retrospectives. We still do this today and it’s used throughout the business, not just in Product and Engineering. It’s a sign of just how good a product is when the user experience remains largely unchanged after so many years. Trello remains one of the best 💪.
As our Basecamp usage dwindled, our usage of Campfire grew exponentially. Campfire was 37 Signals’ (creators of Basecamp) team chat product and it was great. Essentially a stripped back, web-based version of IRC, we used it to chat throughout the day about work as well as posting tweets and GIFs, obviously. Campfire could well have still been in use today if another ‘Campfire on steroids’ app hadn’t launched in 2015…
Slack came along and blew all competitors out of the water. Simple as that. It was very similar in many ways to Campfire and HipChat but the execution of it was just so good, and the broad integration ecosystem was first class. We were not super early adopters and hung onto Campfire for a while, but once we knew we could import our Campfire history we rolled out Slack and adopted it company-wide at the same time (Campfire was historically only used in Engineering).
It’s unquestionably an excellent product and now crucial to our business in so many ways.
We had been maintaining a wiki in GitHub for a few years which contained our onboarding guide for new engineering staff and guides to various aspects of our system. It was pretty good but a clunky(ish) UI or a git-based workflow for updating pages didn’t exactly entice people into writing a lot of contributions. Then Notion came along.
Notion was one of the first ‘new breed’ of web apps offering a rich, desktop-like user interface driven by state of the art, client-side tech which made it insanely fast. We originally used it just to replace our GitHub wiki and it was really effective: more people contributed because the barrier to entry was far lower, and it was such an enjoyable user experience people wanted to use it.
Over time, we’ve started moving more workflows in Notion, taking advantage of its powerful database features, for example our incident response process, run books and meeting notes. It seems inevitable that in time we’ll roll out Notion company-wide and see it take over Google Docs and our Google Sites intranet, but Google Sheets and Slides are still in it for the long haul I think.
Meet is part of G Suite but it’s worth calling out on its own, such is the importance of a solid videoconferencing tool for a distributed team. For a long time we used Skype, and developers used Screenhero to pair remotely until it was acquired by Slack, but once Google released Meet (a corporatised version of Hangouts) we quickly adopted it.
It integrates naturally into Google Calendar and is arguably the most reliable product (perhaps with the exception of Zoom) in terms of video and audio quality. No reason to look at anything else right now.
As a business grows, the number of KPIs and metrics you need to track across different department grows too. Often it’s hard to find the right data. Perhaps it’s siloed in spreadsheets you didn’t know existed, or perhaps it’s not even tracked at all. Eventually you’ll need to bring your data together in a common data warehouse so you can run analyses and investigations, and you’ll also want to visualise the results.
Looker allows us to model our data and make our key KPIs and metrics widely available. In addition to providing a simple to use interface, we’ve been able to scale up self-serve data exploration to have a big impact on the business.
Understanding traffic patterns and the performance of your web app is crucial for engineering teams. Way back we used rudimentary tools to do this, then explored open source options such as Ganglia. New Relic was one of those tools that came along and changed everything. It was incredibly simple to hook the agent into your Rails app and get value immediately. It just worked. And it was written in Rails 🙌🏼
We used New Relic for years and in many ways it’s still above the competition, but increasingly we found issues with their billing model and its lack of ability to handle Turbolinks very well started to cause real problems. This prompted our move away from it in early 2020 to DataDog.
It’s early days for us with Datadog and in many ways we’re still getting used to it, but it’s an incredibly powerful product, easy to use and allows us to track more metrics and dive deeper into MySQL performance, for example. It handles everything New Relic did, and more, which will be a huge advantage as we migrate our infrastructure to AWS.
FreeAgent produces a lot of logs. In the early days this was fine (single server, big log file), then it got tricky (multiple servers, distributed log files), then it got overwhelming (urgently look at third party logging tools). For many years we maintained a large logging ELK-like (we didn’t use Logstash, but rolled our own) cluster and Kibana was hugely valuable, but in 2019 (driven initially by our cloud migration) we fully migrated to Humio and never looked back.
With Humio, not only did we have amazing (and blazingly fast) search across all our logs, we had the ability to run far more complex queries than was previously possible, as well as building graphical dashboards and alerts. It brought a major step change for our engineering team.
Honourable mentions to those that failed
Some products come along and seem to have amazing potential. Then they fall out of favour, perhaps because they don’t quite meet the mark, or they get canned after acquisition or from a general lack of customer interest.
Here’s our list of our tool alumni that had real buy in at FreeAgent for a while, then got consigned to the great SaaS dumpster in the sky for one reason or another. Thanks for the memories! ✨
- Google Wave
- Basecamp 2
- Pivotal Tracker
When scaling a business, especially a tech business, your choice of tools can have a large impact on your team’s productivity. It’s a fine balance. You want people to really invest in making the most of all the tools you offer but you don’t want them to suffer at the hands of an enforced product that doesn’t meet the mark. You want to keep an eye on the market for new tools that might offer big productivity wins, but you don’t want to see such a proliferation of tools that it all becomes unmanageable, especially from a budget point of view – seat-based SaaS products quickly become very expensive for large teams, especially if you need ‘enterprise’ (or, sometimes, even basic security) features.
Migrating to new tools is also increasingly difficult as your company grows, but with the right approach (gradually testing by building usage out from teams, to departments, to the company) and a fearless approach to change, you can use tools to affect real competitive advantage.