By Samantha Turnage with Foreword by Chadd Mikulin.
As a Software Engineer on FlightAware’s Mobile team, Samantha Turnage works to refine and maintain the FlightAware iOS app.
At FlightAware, onboarding is not just orientation, it's much more. We've iterated on our onboarding process over the years to make sure that we're setting a new team member up for success and helping them get integrated quickly. We have Preflight Checklists for the new hire, enumerating what needs to be done their first day, week, month, even year, so there's never a question of what they should be doing. We also see the value of assigning a mentor to a new hire, aside from their manager, to help guide them in their new role. All parts of the onboarding process help a new hire get to the goal of committing production code in their first week, making them feel productive and reinforcing our commitment to delivery. –Chadd Mikulin, VP Engineering
Joining a new company brings opportunities to work on new projects, meet new colleagues, learn the company culture, and navigate its unique processes. Generally, this should be an exciting and engaging process for the people involved. What makes this possible is a good onboarding and training process to help new hires feel more engaged, connected, and supported in their new role.
Recently, I was hired on the Mobile team at FlightAware. I found the onboarding process was not quite what I expected, but I definitely enjoyed it, so I wanted to share about it here. I went through the process twice, once as an intern and once as a new hire, and both experiences were very similar. Hopefully, this can give any incoming new hires some insight into what they can expect.
First Day: What Happened?
As I had been sent a schedule about a week before my start date, I was already aware of the numerous meetings that were going to take place. There were multiple meetings that involved setting up all my work accounts to ensure I had access to everything I needed. Although this was a tedious process, I’m glad I had access to everything up front, so I wasn’t battling any accounts later on. Next, I attended a meeting where all recent new hires were “introduced” to FlightAware. During the event, we learned more about FlightAware's mission statement, the "big picture", and had the opportunity to meet some of the other new employees.
The latter half of my day was more work oriented. This was when I met with my Wing Lead. As part of the get-to-know-you conversation, we discussed some of my upcoming work that was already planned out. Here, I received a "new-hire checklist" explaining what I should expect for the next 6 months - 1 year during onboarding, as well as some supplemental learning materials. Moreover, we discussed projects I could contribute to during the year that were outlined on a projects/tasks list I was given, as well as specific tickets I could tackle on my own. Those tickets were ordered by an increasing level of difficulty that I could choose to do in any order I wanted. My first few contributions to the team would be small, but I was delighted to hear that I could quickly become a part of it.
The last meeting of the day was with my assigned mentor. As an intern, this was a casual conversation where we discussed my summer project, how things worked at FlightAware, and any questions I had from the day. As a new hire, this meeting was to catch me up on everything that happened between my internship and my start date. So far, I’ve found that having a mentor has been valuable for someone new to the industry. Not only has the extra guidance and support been reassuring, but I have found that this has helped fine-tune the skills I need to be successful in my role and provided a lot more opportunities for growth and development as an engineer. Certainly, I can ask anyone for help if I need it, but having someone specifically assigned to answer my questions has been effective in keeping me engaged and setting me up for success. Not only that, but I’ve been able to learn a lot through pair programming and code review sessions.
The “New-hire Checklist”
While I have really enjoyed the mentoring aspect of the onboarding process, I want to talk a little more about the checklist I was given by my Wing Lead. Generally, I enjoy having checklists if I have a lot to do, so I was happy to see that they are often used at FlightAware. The one I received was long, but not at all in a bad way. Now, you’re probably sitting there thinking “Why would anyone be happy about a long list of to-dos?” Well, I can say that most of what was on it was to help me actively learn about the company rather than passively learning through only reading and not contributing for the first few months. Don’t worry if you find yourself thinking “Dang it, I really wanted to read a lot”. There was still reading involved.
One of the larger items on my checklist was to complete a set of introductory exercises. These were simple coding exercises intended to help in becoming oriented with the code base, understanding how to commit to our repository, and getting code reviewed by the team. For anyone wanting to read, here’s where that happens. This required a lot of reading code and additional documentation on how everything is set up and organized to be able to figure out where everything goes. These were purposefully at my own pace to give me a lot of time to ask questions and for any clarification when needed. Of course, a few intro exercises are not going to be enough to make anyone an immediate expert, but it was a nice warm-up that helped me make sure I had all my source control tools configured.
In addition to those exercises, it was recommended to schedule recurring meetings with my wing lead and mentor to make sure any questions and concerns were being addressed. This time was also for getting feedback on the work I was doing for the tickets I got assigned, as well as discussing my goals for the year and how I can be successful. The first few meetings I had were generally for discussing major customers, FA infrastructure, and crash courses on things specific to the mobile team. Overall, these meetings are something I particularly appreciate, since it helps me understand what I’m doing well, and where I can improve, as well as ensure that my contributions are making a positive impact.
Conclusion
The onboarding process at FlightAware helped me understand the company’s values and mission, and how my role fits into the bigger picture. I’ve received mentorship that has helped me build relationships and feel more connected to the company. I’ve also received training and feedback on the specific skills and knowledge that I need to be successful, which has helped me feel more confident in my abilities and be more productive on a day-to-day basis.