With more than 10 million users, Hootsuite is the most widely used social media relationship platform in the world. As the platform spreads and speeds forward, the development team has to manage growth, while ensuring they are efficiently and effectively building the software that powers Hootsuite.
With over five years of growth behind them, the development team decided to start setting new standards and practices for how they built software.
Because of acquisitions and reorganizations, we had multiple version control systems in place, VP of Software Development Geordie Henderson explained.
This made providing visibility into what the development team was doing and how efficiently we were working difficult to achieve. In 2014, the team started looking for alternatives to their system and found GitHub Enterprise Server.
For open source and for a huge number of software development organizations, GitHub is the gold standard—developers are immersed in it
The decision to switch to Enterprise Server ultimately came from Hootsuite’s development team. When the need to consolidate version control platforms became clear, they started a public thread to build a case for using the same software they used for their personal projects and at previous jobs.
For open source and for a huge number of software development organizations, GitHub is the gold standard—developers are immersed in it, Geordie explained.
For the management team, the decision came down to choosing a tool that the team was already familiar with and trusting them to find the way of working that made them happiest and most productive.
We hoped by migrating we’d be using a tool developers like to use, Geordie added.
From a development perspective, they love it—and we’ve made gains in efficiency by providing them with an interface and with a way of working that they already know and understand.
Consolidating all of Hootsuite’s code onto one version control platform also made their work easier to track. Using Enterprise Server meant having a single, searchable index of Hootsuite’s code, consolidated dashboard, and a reduced risk of projects getting lost or just falling through the cracks.
From a senior management perspective, I have much more peace of mind, Geordie said,
because I know all of our product code is in one place and all of our systems are on our own infrastructure.
It’s easy to provide accountability and visibility into what we’re working on back to the rest of the business. Whatever information I want to get about what’s changed in our code over a period of time is all in one place.
Hootsuite’s growth has also had an impact on their security requirements
As we’ve grown as an organization, compliance has become important, Geordie pointed out. Hootsuite has recently been accredited with a number of compliance certifications. As part of those certifications, their development processes and production infrastructure had to be examined by a third party.
To prepare, his team built auditable and compliant processes on top of Enterprise Server.
I was apprehensive, Geordie admitted,
but once the auditors got here and we started going through processes, it became clear that we were totally prepared. We have traceable pull requests and each ticket has a corresponding commit. It was awesome to be able to easily navigate that process.
Hootsuite migrated to Enterprise Server with the best interests of their workflow and projects in mind. In order to keep things running smoothly, they gradually moved their code.
We had to grow into it, explained Geordie.
We started with the easiest parts, and then moved on to the harder ones. They started the migration with simple, internal tooling and blogs before working up to their flagship dashboard product.
The development team at Hootsuite updates their platform multiple times a day in a continuous delivery model. They use Enterprise Server with a continuous integration service to support the way they work best.
Enterprise Server fully supports our model because you can build it into automated Q/A systems.
GitHub is a tremendous tool to support how we build software.