Viacom’s Varsity Bootcamp

Everyone is nervous and uncomfortable, you can see it in their faces. They have a good reason to be nervous. After all, it's their first day at their first full-time tech job right out of college. They've attended a brief orientation, been given a laptop and network credentials, had a free lunch and most importantly, located the bathrooms. It's time to get down to business and we need to break the ice.

"What does everyone like to watch? What are your favorite shows? How do you watch them?"

Everyone seems to love to talk about entertainment and their favorite shows (no spoilers please!). It's also fun to discuss all the different channels and ways to discover new content. Many of us like to describe how we've wired up our home entertainment systems to the Internet.

“How many of you have a cable subscription?”

I have yet to get a single affirmative response to this question. Bad news for a company comprised of cable channels? Maybe, but we all know that technology is changing the broadcast business in fundamental ways. Who better to help usher in the new age of digital delivery and broadcast than the next generation of bright young developers who are actively consuming it?

Another Varsity Bootcamp gets off to a great start and everyone has forgotten their nerves and is ready to get down to the task of creating the next generation of engaging broadcast products.

Viacom makes a tremendous investment in the next generation of great engineers and we begin their training with Viacom Bootcamp. The Bootcamp aims to acclimate new developers to the digital broadcast landscape, promote software development best practices and provide a comprehensive view of the internal Viacom infrastructure. The four-to-six week introductory program trains developers in the categories of front-end web, back-end, native IOS and Android technologies.

We start the Bootcamp by discussing the industry in general and viewing habits in particular. We cover concepts in digital video broadcasting, such as OTT services, MVP authentication, emerging console devices, HLS streaming, Content Delivery Networks and server-side stitching. The goal is to define the high-level context where all our work occurs.

What I really like about working with young developers is that they reflect the tastes of our audiences. Viacom’s networks, like Nickelodeon and MTV, cater to younger audiences, so it’s always interesting to discover the viewing habits of our new junior developers and how they like to interact with media.

We work on software development best practices, like unit testing, refactoring, continuous integration, A/B testing, collaborative coding practices, code reviews, version control, Agile methodology and enforcing code styles. And then we are ready to get into the meat of the Bootcamp program.

We believe that people learn best by doing. It’s great to learn about the specifics of a system or API, but putting that knowledge to use with some concrete tasks ensures it will be retained. All the work we do combines learning sessions in the morning and coding in the afternoon. Our coding exercise is to build the Comedy Central app. Everyone chooses a platform to build in: Javascript for web, Native IOS or Native Android and every Bootcamp participant is assigned a mentor specific to the platform they have chosen.

From this point on, every week is a developer sprint. We begin the week with a sprint kick-off review of the JIRA tickets assigned for each task. Every morning begins with a stand-up. Every week ends with a product demo and developer code review. Stories are either accepted or sent back to the developer for fixes. We do all these steps as a group. This gets the developers in the habit of working within our Agile methodology and our coding procedures right out of the gate.

The first component to build populates our application with actual Comedy Central content. This is a great opportunity to learn about our content management system, how content gets in and how to get content out. We make the necessary calls to our back-end content API’s. The content is laid out according to mockups and wireframes included in the JIRA tickets and all the UI and UX requirements are built in to the app.

Next, we integrate the video player to achieve video playback with our content. We build in the components that manage advertising playback and analytic reporting. We then build in the TVEverywhere components that allow us to authenticate the users against their cable provider, which is an important business requirement for Viacom. Next, we add Search functionality. Integrating all this core functionality adds a lot of complexity to the app and always creates problems and bugs. This is a good opportunity to learn and work with different strategies for testing and troubleshooting our applications and systems.

Once the application has been built, the Bootcampers begin their transition to the team they will be working with. There is still much to learn but Bootcamp provides them with a great foundation. Some participants will rotate through different teams, including a team working with cutting-edge virtual reality and Internet of things projects. At the conclusion of the the Varsity program, participants will be well-rounded and seasoned developers adding value to Viacom’s video products and beyond.

The Bootcamps have been very successful in readying new developers to join a specific Viacom product team. We aim to provide the broad context of our business, software development best practices and a broad overview of our entire ecosystem. Recruits learn by doing and using the same methods we use across the company. We even manage to have a few social events along the way. After all, company culture is more than just our coding practices.


Kevin Brail | kevin.brail@viacom.com

Kevin Brail

Read more posts by this author.