Who are the Cloudies?
One of the more unusual features of working at RightScale is that not just our software works in the cloud. We want to hire the best employees we can get our hands on, and we realise that these people might not always work near one of our office locations (Santa Barbara in California, and Edinburgh in Scotland). So do we risk losing out on exceptional talent because of this?
We’d be mad to do that!
We want the best talent regardless of location, so for many of our positions we offer the option of working remotely. We affectionately call our remote workers the ‘Cloudies’, and they’re so prevalent that nearly all our engineering teams have at least one remote engineer, and some teams are entirely remote.
We have Cloudies in every timezone of the US, Spain, UK & Belarus. We truly are a global company!
In order to successfully create the excellent software we’re known for, we use a number of tools to help us work together effectively:
- As many of our engineers are in different timezones we use our Confluence wiki (we call it the Wookie) to store our documentation, open plans for comment, and to collaborate. Anyone within the company is free to use this tool to propose new tools, systems or ideas and it’s an excellent place to get those ideas noticed and acted upon.
- We operate using a Scrum methodology so we use Jira to manage our bug tickets, backlog, and sprint tracking. It integrates with GitHub tracking feature branches and pull requests.
- Our Swiss army knife. Whilst Slack at its heart is an instant messaging app, which we use very heavily, it comes with integrations for just about everything (Seriously, I mean everything). We have integrations for Airbrake, Dropbox, GitHub, Google Drive, Google Hangouts, GotoMeeting, IFTTT, Jenkins, Jira, Screenhero, Travis CI & Twitter. Combining that with Leeroy - our Hubot - we can use Slack to do minor things, like finding silly gifs, to much more complex ones like cutting our staging and release branches, and configuring/running scripts on our integration environments.
- Travis CI
- We ship mission-critical software. We also like to release new stuff every week so in order to do this we need a solid testing framework to make sure stuff doesn’t break. Every pull request that we open to one of our repositories has two full test suites automagically run against it: One against the feature branch, and one for the merge commit with the target branch. Along with Travis, we also have an in-house functional testing framework that we run nightly against both our staging and production environments.
- Screenhero/Google Hangouts
- Software engineering is a collaborative pursuit. We learn new things every day from each other, so we use Screenhero/Hangouts to allow engineers to pair and work together on problems, despite the distance between them.
- All our meeting rooms have a GoToMeeting room and conference line, so no matter where a meeting is happening, it’s possible to dial in using our SIP phone system (hosted in the cloud, naturally) and take part in any meeting. We also have IP cameras in every meeting room.
- Our apps sent their errors to Errbit. This way errors are centralized and we get notified when new errors occur. Yes! Our Errbit server runs in the cloud too.
A different workflow
Working this way requires a slightly different workflow to those working in an office together. To demonstrate how these tools are used, I’m going to use myself as an example. I work in one of our distributed teams, operating from our Edinburgh office. Here’s what tools I use a typical day:
- First tool of the day: Coffee Machine. On Mondays it’s the second tool of the day too. Espresso, maximum strength. I’m not a morning person.
- Open Slack: since the Sun never sets on RightScale’s engineering team, there’s always some discussions I need to get up to date with (Slack informs me what messages are unread in important channels)
- Check email: I’m not a heavy email user, as Slack handles most of my textual communication needs, but I get the occasional email. We use Google Apps - it’s the gold standard.
- Check my open pull requests: Before any code is accepted into the master branch of any repository, it must be reviewed by another engineer. It must also be run through Travis CI. First coding task of the day is to address any issues that came up from those processes.
- Open Jira and pick one of the tickets that’s assigned to me for this sprint. Handled in order of priority. Any escalations from production will be the highest priority.
- Coding: Spotify comes in handy here.
- If I get stuck or require assistance, I can look at our documentation in Confluence or pair with another engineer using Slack/Screenhero.
- Get tea. We have a Slack channel to coordinate this very British of distractions. I’m quite partial to Lady Grey. Hopefully we’ll get an Slack integration for this.
- Scrum: In the time window where everyone in the team is online, we’ll have our scrum call in order to make sure that everyone is aware of what everyone else is doing and to discuss any blockers that may be holding people up. We use the phone system and GoToMeeting to handle this.
RightScale Employee Meetups
It’s all well and good working with people remotely, but its always nice to have a chat over a beer with your collegues. Every year, we run our annual RightScale Employee Meetup (REM) where we fly everybody to our Santa Barbara HQ for a week of activities and collaboration. Activities during the 2014 meetup included BBQs on the beach, a poolside luau party, an all-day hackathon, and RightScalers showing off our karaoke skills (the Edinburgh team picking the most Scottish song available). We also invite over some of our customers to give their honest views on how they use our products, what’s working for them, and how we can make the experience better.
It also means we get to show off what a good-looking team we have by taking our company photo!
Like what you see? We’re hiring!
If you think you could be some of the exceptional talent that we’re looking for at RightScale, we’re hiring for both cloudie and office-based jobs! Check out our jobs page, or email us!