The second of a three-part blog series on Connect, an apprenticeship opportunity for aspiring Airbnb software engineers. Connect 2020 Apprentices at Airbnb HQ Hi, I’m Ale. I was a Connect 2020 Apprentice and I’m going to write a bit about my experience with the program, especially for those who are interested in applying. To learn more […]
Hi, I’m Ale. I was a Connect 2020 Apprentice and I’m going to write a bit about my experience with the program, especially for those who are interested in applying. To learn more about the goals and structure of the Connect program, take a look at Part 1 of this blog series.
I first heard about Connect from a friend in October 2019. She was planning on applying and encouraged me to do the same. We had both just graduated from a coding bootcamp and were starting to venture into the job search. At a glance, Connect presented an invaluable opportunity for professional growth so I decided to take a shot. I was mainly attracted to the fact that the apprenticeship would allow me to relearn some concepts that were covered very quickly during my bootcamp. It was an extended learning period coupled with on-the-job training and felt like an ideal next step for my career transition.
About a month after I sent in my application and following a few interviews, I was accepted into the program. In fact, my friend and I both made it in. That was the best news I received in all of 2019.
When the program finally started in January 2020, I came into Airbnb along with a cohort of 9 other Connect apprentices. We would all be working together to get through the program and relying on each other quite a bit as we explored our new role. We took a deep dive into the Connect curriculum for the first few months of the program while sitting in a corner of one of the buildings on Airbnb’s San Francisco campus.
The curriculum was very hands-on. We worked on code samples to put into practice languages that were new to us — for me, this was Java — or to demonstrate existing familiarity with another language or framework. The material covered Airbnb-specific languages, libraries, testing philosophies, IDEs, design patterns, and more. Our first few months of the program consisted of semi-independently completing readings, submitting PRs, attending lectures, and presenting during knowledge sharing sessions on the Airbnb tech stack. We marked our technical growth and progress in the form of a bimonthly review where we received plenty of feedback on what was going well and how to get better.
We had several lectures and conversations with a variety of engineers in the company who came ready to answer all our questions on the subject of professional growth and career development. They talked to us about both technical and non-technical subjects. I thought it spoke very well of the company that its employees took time out of their days to teach us Rails basics or explain service-oriented architecture. Also, we had a lot of good food.
Team placement was an opportunity to start writing code for real Airbnb codebases and experience the highly collaborative team environment. I won’t forget how cool it was to realize that I’d be making small changes to a product that I loved using in the real world.
We were mainly supported by a team buddy on our new teams, and they would oversee our tasks and projects. A huge shoutout to my amazing team buddy, Oliver! Team buddies were key to introducing us to what work was like on an actual team. When team placement came, we now had to understand our team’s specific corners of the codebase.
I spent the first two weeks of team placement reading team documentation, getting more familiar with the product, and figuring out all the ways to find answers to my questions. The initial tasks were well scoped out, and I got a ton of help from Oliver and other teammates. Since I ended up in a frontend role, I focused on getting better at React, TypeScript, writing unit tests, and understanding our custom-built components. I also dipped my toes into the Slack world and followed all the channels where people readily responded to my questions. As the weeks flew by, the most daunting part of the whole program got closer: the final project.
Final projects were a way for us to demonstrate all that we had learned and make a meaningful contribution to the team. We were not expected to come up with our own projects, but I liked that I was given a choice between a few different things when the time came. I ended up choosing a testing project because I wanted to learn more about testing. The goal was to write the first set of integration tests for the web application that my team owned, using Cypress as a testing framework. I was given the opportunity to go figure out what kind of configuration we would need in order to write the tests, as Cypress was relatively new in the company. I found a handful of engineers from different teams, who had more information about how to set up and use this framework, and asked them many questions. I found that all the people outside of my team that I interacted with, regardless of their awareness of the apprenticeship, were both helpful and kind to me.
After a few weeks of gathering information and implementing tests, I got the opportunity to present the project in front of a large audience via Zoom, to chat about how the tests worked and what their impact was on the team’s goals. I was nervous to talk about technical things in front of a technical audience, but the Connect team prepared me well with a couple of rehearsal and feedback sessions.
Getting the offer to convert into a full-time software engineering role was even more rewarding than completing the final project, especially when I found out that all ten of the apprentices would be returning to Airbnb.
At this point, it’s worth mentioning that since the start of the pandemic we had to adjust the way we work and the tools we use. As my first time working with a highly collaborative team, I’ve definitely missed out on some important parts of the team experience. For one, I imagine that information would be even more accessible if I was sitting next to the people I work with daily. More than anything, I wish that I had time to hang out and get lunch with other apprentices and my new teammates, because the people at Airbnb are generally very interesting. Even with the challenges that working remotely presents, I’ve found that we have good systems and tools in place to help us work successfully, and my team has made me feel well-supported. I look forward to when my teammates and I return to the office and can share those in-person moments of connection.
Six months into my new role, I’m very happy that I applied to the Connect apprenticeship, and I’m motivated to work hard and keep learning every day.
*All trademarks are the properties of their respective owners. Any use of these are for identification purposes only and do not imply sponsorship or endorsement.
Inside Connect: An Apprentice Perspective was originally published in Airbnb Engineering & Data Science on Medium, where people are continuing the conversation by highlighting and responding to this story.