Glossier’s Apprenticeship Program

Starting a new technology job in any organization can be a daunting experience, especially early in your career. Not only do you need to acquire a huge amount of knowledge very quickly, you also need to get familiar with specific technical jargon, organizational culture, hierarchy, and the oh so elusive tribal knowledge. You’re basically jumping on a moving train and doing everything you can to get up to speed. The process of being an intern or a junior in a new company can be challenging at best, and sometimes even discouraging. This is why when we started thinking about evolving our ad-hoc internship program into what is now known as the apprenticeship program, we decided to tackle these challenges upfront and aim to provide a better learning experience for the new members.

As a software engineer who remembers those first days very vividly (albeit a few years ago now), I’ve always dreamed of the opportunity to make this process better. I’m passionate about bringing the opportunity to succeed in a technical job a reality to any and everyone who’s interested, regardless of their background. Having the right support and opportunities at the beginning can truly make or break your career.

Program Creation

The idea of an apprenticeship program came out of a brainstorming session during a Glossier tech retreat in Montreal this past winter — it seemed like a great idea and many proposals of how it could work were thrown on the whiteboard. This generated quite an enthusiastic response from various team members who volunteered to make it into a reality.

Apprenticeship Guild

The technology team at Glossier works with what we call “elastic teams” on various concurrent projects. For initiatives beyond these projects, we organize in what are known as “guilds”. After the initial burst of enthusiasm, six members signed up for the Apprenticeship Guild and started putting in the legwork required for such a program to become a reality. The guild started by establishing goals for the program, creating a relationship with external partners, and most importantly, setting up an action plan to achieve the goals.

Goals

The Guild settled on the following priorities:

  • Create a recurring program that would eventually run twice a year.
  • Create partner relationships in New York City and Montreal in order to provide opportunities for potential candidates.
  • Create an environment where junior professionals can get real-world experience working in an agile environment.
  • Apprentices should be able to create their own internal support groups.
  • Provide managerial experience for current engineers.

Hiring Process and Partners

For the first session of the program, we had the extreme pleasure of working with the coding bootcamps C4Q and Flatiron School, who were both very helpful throughout the entire process. They not only understood the type of program we were looking to create but also provided us with an excellent pool of candidates. Choosing only four proved to be a challenging task since every single candidate provided by both places was excellent.

Selection Process

We started with a pool of twenty-four(!) promising candidates from our partners. We reviewed their portfolios and projects, then engaged in an internal debate to choose our top twelve. Each of these twelve candidates was interviewed over the phone by members of the Guild and were sent a short take-home programming test in Javascript or Ruby. Through this process and after more collective debating, we were able to narrow our selection to six candidates who were called for in-person interviews. The final selection process was incredibly challenging because it seemed like every candidate could have brought a great contribution to the team. In the end, we ended up with four amazing people who became our first apprentice team.

Real World Experience: Internship vs Apprenticeship

While in coding school, students learn a lot of theory and practice on limited-scope projects. Sadly, the real world application of these newly-learned skills is usually much more complicated. Existing codebases are hard and big, things move incredibly fast, and deadlines are always lurking around the corner. This can feel demoralizing for interns who may have bitten off more than they can chew, or simply lack experience. This, in turn, ends up creating a strong dependence on their designated mentors, who feel responsible for their own work, as well as the tasks assigned to their interns.

Team of Apprentices

We decided very early on that we wanted to proceed differently. We wanted to create a team of apprentices who tackle a project specifically designed for them, under the supervision of a subject matter expert who guides, teaches and helps them through the entire process. They also have a pool of senior engineers available for pairing sessions, answering questions and assisting on an individual basis.

What this provides is a learning environment where people are able to focus on learning]. This is done while working on a real project that will be used by real people. There are definitely greater responsibilities involved, which is why they have a dedicated project lead who supervises and helps them through the entire process. Most importantly, they develop a bond while supporting each other, that lasts beyond the apprenticeship program. It is this internal support network that makes the transition into other teams and projects a much easier venture.

Joining New Teams

At the end of our first apprenticeship team project, the participants succeeded in establishing internal support networks, as well as good cross-functional connections with the various engineers who helped them along the way. At this stage, they have been integrated into the company flow and have released code production! The logical next step from here is to integrate them into existing project teams.

In The End

I believe we succeeded in providing a great learning experience for our apprentices. Their integration was such a success that we ended up making offers to all four candidates! We’re now looking forward to the next iteration of our Apprenticeship Guild that we hope to host in Montreal in the next six months. If this first edition was any indication, I think we’re onto something here.


If you’re interested in participating in the next Glossier Apprenticeship guild as a partner or candidate, get in touch at danko.vassev@glossier.com!