Until about a year ago, I was afraid to hire entry level engineers. Terrified.
- When I had an opening, it was usually to replace a senior engineer or manager. There was no way I was going to waste that opening on some college student! I needed experienced engineers!
- It takes too much time to train someone without any experience. It wouldn't be fair to the engineers delivering software and it wouldn't be fair to the entry level engineers either.
What happened to change my mind? We had a real opportunity to change the culture!
- The engineering team needed to grow to support the future direction of the company.
- As we promoted engineers to senior levels, we started seeing that having only senior or lead engineers can lead to too many chefs in the kitchen.
- We opened enough positions to be able to reserve some for entry level engineers and, with a meeting and a wave of a magic wand by upper management, the Varsity Program was born.
- Several engineering managers were able to put in the time to figure out how we were going to execute Varsity and we did it.
After almost one year of Varsity, we have hired sixteen engineers with more openings for 2017. The engineers are now working on real live products, learning, growing, and participating part-time in some research & development work. We have more engineers to hire into the program and we're excited to continue to steer it through the next few years.
What is the Varsity Program?
In order to hire awesome entry level engineers, we decided to adapt our processes to accommodate recent graduates. Compared to hiring more experienced engineers the differences can be found in interviewing, on-boarding process, team placement, and even customize the career path of the engineer. Varsity consists of three major parts:
3) Team Rotation
Most of our Varsity hires are not initially hired into a specific team. We hire smart, passionate engineers who we believe will work well in our culture and then we work with them to determine the team they start working on after Bootcamp. During the interview process, we do ask if the candidate has a preferred platform. I have only seen one case so far where the answer throughout the interview process until team placement was the same. One engineer wanted to do Android, Android, and Android. He's still working on Android today. Everyone else has either been unsure or very much open to whatever the needs were. So, we look for people who really understand data structures and algorithms, are truly passionate about self improvement, and have some related projects outside of their regular schoolwork. Then, we use the next step, Bootcamp, to figure out the first team an engineer will work on, both in terms of platform and product focus.
Our Bootcamp is designed to address these questions. It is a four to six week program depending on whether the engineer is designated to a specific team at the time of hire or not. Check out Kevin's post talking about Bootcamp.
By default, engineers are not hired into the program with a specific job in mind. The idea is that we want to show the engineers what is possible and give them an opportunity to learn. Between teams, we also rotate engineers through our New Experience room which is just awesome. In the room, we are exploring what the living room and kitchen of the future will look like. We have Amazon Echo, Microsoft HoloLens, and even a refrigerator and popcorn machine with internet connections. Engineers go into the room, try out the technology, build some prototypes, and hand off to the next group. The engineers also can work on their presentation skills by showing off their work when curious people stop by, which happens a lot - seriously, we have multiple HoloLens headsets!
The ideal rotation schedule for the first couple of years of a Varsity engineer's career is:
1) Boot Camp: 4-6 weeks
2) First Team: 6-8 months
3) New Experiences Room: 2 months
4) Next Team: 6-8 months
5) Go to step 3 (sorry for the goto statement).
We have an annual review process like so many other companies, but given the unique aspects of Varsity we created more frequent feedback loops so we can work towards continuous improvement on many levels. In addition to annual reviews, engineers have weekly 1:1s with their managers and regular meetings with the engineering leads from the teams they work with. In most cases, the team leads and the entry-level engineers report into the same manager so their is a built in feedback loop there. Given our rotation plans this will give each lead and engineer a chance to provide feedback for each team in which they work.
Additionally, we just sent out our first quarterly survey. We have one version that goes to engineers and one that goes to leads. The questions in each are really just two sides of the same coin. In other words, they are the same questions asked from the lead's perspective and the engineer's perspective. Here are some of the questions we ask in the survey all rated on a Likert scale of 1 (Strongly Disagree) to 7 (Strongly Agree):
- I have a good grasp of the business goals my team is working to achieve.
- I have a good understanding of the application(s) my team is responsible for and feel I am contributing at or above the level expected of an Associate Software Engineer.
- I am getting the support I need to learn about the what, why, and how of the team so my contribution to the team can grow.
- I feel like I came into the team with enough knowledge about Viacom and the way we work generally to dive into the specifics of the team.
Results So Far
We have hired sixteen people and we have been hearing lots of positive feedback about the engineers we have hired. The engineers have been bonding, and have definitely injected a new level of energy and excitement into our already awesome company. We're going to continue hiring Varsity engineers so check out the: Associate Software Engineer job description.
If you have any thoughts about this program, please comment below. Here are some questions to help generate the conversation:
For you entry-level engineers or soon to be college graduates, does this sound like a program you would like to join? Do you think we missed anything?
For you hiring managers and experienced engineers, do you think a program like this could be something you could implement where you are? How would you do it? If no, why not?