A big problem that companies face with new hires is how to get them up to speed quickly and reduce new hire anxiety, making them feel both productive and welcomed immediately. At Atlassian the process used to be an ad hoc exercise left up to each individual team, with predictably inconsistent results. Since staff development is a particular passion of mine, I wanted to try to improve this bit of Atlassian.
One of the things that sets progressive technology companies apart from standard technology companies is the way new hires are brought into the organization. Google has “Nooglers” (New + Googler…clever) and Facebook has their own induction program. Some of the advantages of a technical induction program are that new hires get immersed into the technology, code, and culture of their new company. These programs have been very successful in retaining valuable employees and making them productive sooner.
My personal favorite Atlassian value is “Be the change you seek”. This value mandates that we don’t complain about a problem, we solve the problems we find. I wanted to set up a process that allowed for smoother on-boarding, enabled developers to work on production code within their first week, helped them become familiar with the entire Atlassian product suite, not just their team’s product, and gave them an understanding of Atlassian and its culture. To accomplish these goals Atlassian Bootcamp was founded.
With about one week’s notice and planning before two new hires that were joining my team were scheduled to start – we did not have a lot of time to spend planning and meeting about Bootcamp. I enlisted the help of Integration Architect Don Brown and we put together a curriculum and structure for Bootcamp.
The original setup was simple. Four weeks of Bootcamp, with classes scheduled three times per week and a list of objectives that included fixing bugs in the Atlassian Platform and in multiple Atlassian products. At the end of four weeks, the developer presented what he/she had accomplished to the CEOs and their respective Dev Manager and Team Lead. The Bootcampers sat together, rather than with their respective teams, so that they could meet people outside their teams, and communicate/pair on solving Bootcamp objectives. While we wanted to impart knowledge of The Atlassian WayTM of doing things, the greater emphasis was on coding and having that code go into production.
In addition to practical coding objectives, we created a number of classes for the new hires. There are basically two types of Atlassian classes, technical and cultural classes. The technical classes are a mix of generic technical classes like “Intro to Maven” and “Intro to OSGi” as well as Atlassian-specific classes like “JIRA Dev cycle” and “Intro to Atlassian User Interface”. In the cultural track we have classes like “Atlassian Overview – an Intro to Atlassian”, “Essentials of Atlassian Engineering” and our “Think like a … ” series, which includes overviews on Tech Writing, QA, Design and Product Management. Below is an excerpt of one week’s class schedule.
What started out as a trial for new hires coming on to my team has expanded to include all new hires in Engineering. Everyone goes through Bootcamp; from Graduate Developers fresh out of University to our new VP of Engineering – Jean-Michel Lemieux. This also includes new Java developer hires in the SF office – which has its own set of challenges. However, the upside for the SF team is that every new Java developer hired for the Atlassian SF office gets a trip to beautiful Sydney (and we’re hiring).
Being agile and being Atlassian meant that we promptly started improving Bootcamp. Two of the original Bootcampers, Joe Walton and Robin Fernandes, gave feedback on the processes, classes and objectives, many of which were immediately implemented. Bootcamp at the end of their four weeks was very different than the Bootcamp they started in. We also had the Bootcampers give a presentation to the CEOs about what they accomplished, and suggest improvements to be made at Atlassian.
In time, we added a part-time coordinator, who could take on the role of scheduling classes and handling logistics (like laptops, seating, etc). We review class scheduling, making sure that the classes make sense at the point in time when the new hire is in Bootcamp. We are consistently reviewing classes, making sure they are still relevant, and improving content.
The feedback received at the beginning of Bootcamp was pretty dynamic, since we were putting most of the feedback into practice immediately. After a while though, the feedback started to focus more on systemic issues with the Bootcamp itself and its one-size-fits-all approach. There were also discussions around the length of the process. The more junior developers felt rushed, and the more senior developers thought that process dragged on for far too long. The only solution was to make bootcamp simultaneously both longer and shorter. So we did. We switched to an objective-based rather than time-based format. Now the new hire is done with Bootcamp once they have finished all their objectives, and are well-versed in The Atlassian WayTM. This allows Senior Developers to complete the process quicker, and lets Junior Developers have the time needed to get up to speed.
Another area of improvement was to customize bootcamp for the different roles of the new hires. Since Atlassian engineering is composed of primarily Java developers, the Bootcamp was optimized for them. We are now developing class tracks and objectives for the non-Java developers we hire. We have started building out the courses and objectives for Front-End Developers, and will eventually include QA, Tech Writers, and Designers.
The Team Leads have been pretty happy with the results with the new developer hires being much better prepared when they join their teams. The new hires also learn about the history and culture of Atlassian much quicker than they did pre-Bootcamp. The developers who have gone through Bootcamp have had very positive feedback. The program has been so successful that our Support team has implemented a Bootcamp for their new hires. With the improvements that we have implemented, the onboarding of new developers into Atlassian’s Engineering team will be even more successful. In my next blog post, I will go into greater detail about the about the practicals of how we run Bootcamp; the structure and content of the Bootcamp classes, more information on the objectives, and the lessons we have learned over the course of the year.
Bootcamp is one of the best initiatives I’ve seen at Atlassian, and these changes will make it even better. Thanks! – Tim Moore, Atlassian Team Lead.