Case Study: xOps’ Intern Program
The xOps intern program was initially started in 2018, soon after the company was founded. The company decided to start small with three interns in June 2018: two engineers and a marketer (two of us are the authors of this article). We stuck with the company and currently work with the interns and on client engagements. The program grew to six in 2019 and 16 in 2020. All the programs were done remotely, so that gave us a leg up on knowing we could do it again in 2020. We also learned that we needed to use Microsoft tools, which are made for helping dispersed global teams collaborate.
xOps is a specialized IT services provider focused on DevOps, and provides cloud engineering and building infrastructure as code. These are new and rapidly evolving fields, and not directly addressed by most college computer science curricula. The goal of the program is to train college students studying computer science on how to be productive in corporate software engineering organizations. We teach them how to be billable software engineers so we can hire them after graduation or so they will be able to go out and be more prepared for jobs and remember the services we provide for their employers. We also imbue them with our culture and understanding of how nimble and fair corporations should be run, to give them reference in the future. The program recruits from leading computer science programs in the U.S. and Sri Lanka.
The interns work up to eight hours per day in the summer, and as little as two hours per week during the school year. Some work less than the eight hours daily in the summer, because they have family and course obligations, as well. They work on real-world projects, with real-world skills and tools. Their experience is directly applicable to real client work and they have something to show for their efforts at the end of the internship—it could be code in Git or a fully functioning Website or application built with leading-edge technologies such as Microsoft tools and Azure cloud. And, of course, they get references from senior IT execs on their work abilities.
This year at xOps, we were asked to build a brand-new Web application. With all the “from home” apps taking off, especially in the midst of the COVID-19 pandemic, we were tasked with doing a “from home” yoga application that benefits not only yoga students, but also creates a place for instructors to bring together students and compile their work. When tasked with this, we went over the obvious questions first. How many people do we need? How much training needs to be done? What are the available resources? Should we start up a new intern class? Is that possible during a pandemic...? Well, we already work remotely, so we figured we could do this.
In working in the highly skilled field of DevOps, we had to find qualified individuals with strong independent traits and a willingness to learn. When we were approached to build a new yoga Web application for the intern class, we knew we needed to bring on a substantial class this year. Our goal was to find eight to 10 interns; we ended up with 11. We found Handshake to be an invaluable tool in finding potential recruits. When we did a posting, we were immediately contacted by highly qualified applicants. Being able to post to top schools around the country is invaluable. It went from: “Can we find enough?” to “How do we narrow it down?” The interview process is something the two of us have done before, and we enjoy. Being fresh out of college, we know the situation these interns are in—we were in the exact spot just three years ago. The key for us was finding candidates who enjoyed this work, wanted to learn, and had something to prove.
With xOps, we have an open and collaborative work environment. New interns come in and find themselves completely immersed one day, teaching another intern the next, and helping make executive decisions on a design the following day. The first step in the planning process was to broadly identify each intern’s strengths and interests, and group them into teams. Some are more interested in working on the front end, while others want a deeper understanding of the underlying architecture of the application. We decided to split them up into four teams, each tasked with building a different piece of the application and asked them to designate one team member to be the team lead during the scrum meetings. The team leader’s job is to compile updates and questions from the team and speak up during the scrum meeting. Having a team lead helps us efficiently stay updated during the scrum meetings without having to individually ask each intern how he or she is doing. Complementing the scrum meetings are biweekly one-on-one meetings between the engineering manager and the interns to give them a voice if they feel they are unable to or uncomfortable with speaking up during the scrum meeting.
With our intern program we emphasize guided independent learning. We want to give interns the proper direction and resources they need without holding their hand through the development process. For example, during the first couple of meetings, we went over setting up the development environment and how to send pull requests through GitHub. We did this by sending them documentation and installation guides for the entire technical stack and went through the process of committing code to the repository. We then asked them to test out sending a pull request to make sure everyone is on the same page.
Committing code to production is a crucial part of our standardized DevOps practices. We hope to learn alongside the interns as the technologies we are using are constantly evolving. We are happy we are Microsoft-centric, because of the maturity and power of the tool set and Azure platform, relative ease of learning, and industry acceptance. There is always space to grow as an engineer and as we build experience as a team, we hope we can provide greater value to customers. We hope by the end of building this application, we have done our job in turning interns into potential full-stack software engineers. Hopefully, we can keep some on as they go back into the school year, and eventually have them join as members of our xOps Engineering team.
Jared Dudas is Marketing manager, and Ben Gordon is a senior engineer at xOps, a technology services consulting company that specializes in cloud migrations and IT infrastructure. It has a worldwide network of highly trained engineers and provides value to clients by deploying small teams.