Life at CBSi | Video Processing Team

My Summer as a Video Software Engineer Intern at CBS Interactive

An insight into a fun-filled, learning, and challenging 10 weeks as an engineer in a media and entertainment company

Jeel Bhavsar
The Startup

--

I was extremely excited when I was accepted into the CBS Interactive (CBSi) summer internship program. The program recently secured a place in the WayUp’s Top 100 Internship Programs list for 2020. CBSi is one of the largest pioneers in the world of streaming and video-on-demand services. And, after a successful merger with Viacom, they have made signature brands in the worlds of entertainment and sports accessible through a single shared platform. This article gives insight into my work as a Video Software Engineer Intern at CBSi.

I was eagerly waiting for my internship to begin when the pandemic struck. Everything was changing, and nothing was certain anymore. Places were closing down, streets were empty, and workplaces abruptly shifted to remote. I was initially nervous after hearing about other colleagues’ internships being canceled, but was thrilled and relieved when CBSi let me know that they were committed to their interns, even if it meant a fully remote experience.

Soon after the initial reprieve, I then began worrying about how I would successfully connect, work, and contribute to the team. However, despite the circumstance, interning at CBSi ended up being one of the most rewarding experiences in my career as a developer and as a person.

The Interview Process

I came across the role on the CBSi website. My first thought was that having worked mainly with front end development, this would be an exciting opportunity to work with the back end. I would also be able to apply web development to a field that was completely new to me — Video Engineering.

I applied for the internship, and following a brief waiting period, the interview process began. In my opinion, CBSi handles this far better than other companies. An emphasis was placed on my skills and knowledge as well as on who I was as a person. They also checked to see if I would be a good fit for the company, culturally as well as individually. One thing I really appreciate is that once I had secured the internship, they made sure that I had resources to educate myself on the technologies I would be working with over the summer.

Before the First Day

Two weeks before the start of my internship, I received a personalized Welcome to the Company Card. It took me completely by surprise, and I remember showing it off to all my friends and family. It made me feel like I was already a valued part of the company, despite not being physically there, and I could not wait to start my internship!

The Swag Bag and Box

Meeting the Team

I joined the Video Processing Team Live Squad, which is part of a larger Video Technology Group that powers streaming for internal business units of ViacomCBS, such as CBS Sports, All Access, CNET, Giant Bomb, and last.fm. The team aims to build cost-effective video processing services by maximizing efficiency, through the use of advanced technologies and cloud services.

My first impression when I met the team was admiration. Despite being a small, newly formed, and diverse team, I was impressed by how efficient and effective the team was in balancing the implementation of new features and maintaining it’s documentation.

The Live Squad

The team incorporates open source-style and is actively committed to standardizing this workflow across the entire organization. I also loved the practice of writing test cases for all the code in production, reviewing all pull requests, and having open discussions on code implementation. I enjoyed how everything in the team was more of a collaborative effort than a solo act. It was nice to see that everyone was aware of what others in the team were working on even though the whole team spanned five time zones.

Moreover, I loved the internal brown bag tech talk series where CBS employees speak about projects and breakthroughs they had achieved in their fields. It was great to see all the teams come together to discuss and learn new things and review the existing implementations to improve their products’ efficiency.

My Role and Responsibilities

After meeting my team, I was eager to start working and contributing. But before jumping into the code, I took the time to meet with my mentor to set professional and personal goals to accomplish over the summer. We talked about what I wanted to learn and take away from the internship. I appreciated having someone to guide me while I constructed my goals. We then tailored the goals to achieve those expectations.

I mainly worked on the in-house product that is responsible for creating and maintaining cloud-based services for online streaming linear channels and ad-hoc events. I appreciated being included in the day to day operation of the team. I picked up issues from the Kanban board, discussed them with everyone as needed, implemented the logic, and wrote test cases for the new changes. Finally, I merged the pull request and closed the issue.

I fixed time-sensitive bugs and added new features as a part of the team, rather than only working on a side project. I worked on all facets of the service, from updating API endpoints to introducing new credentials management strategies to documenting the changes and fixing bugs. I was thrilled that at the end of the day as I could see all my efforts being brought into fruition and used in production.

Each issue was different and more difficult than the previous one, which presented me with the opportunity to learn something new about the field every day. I was able to learn new technologies and simultaneously apply the knowledge in my code.

Growth and Learning

Working within a dynamic team environment on real-world issues helped me to learn and develop a lot of skills. I gained the confidence to work with Python, Flask, Marshmallow, and Pytest. I particularly enjoyed learning and implementing test cases for the code, as it was a completely new experience for me.

I also worked with Amazon Web Services (AWS), mainly interacting with its Media Services components via the python boto3 client. I learned the schematics of video processing and the end-to-end streaming workflow — from receiving the feed from ground encoders to delivering it to the end-users via video players.

The Learning Curve

I faced new concepts throughout my internship but my team always gave me plenty of time and resources to familiarize myself with each topic. If I ever hit a wall though, they were always willing to provide more guidance. No matter the issue I was working on, the team encouraged me and put their confidence in me. Thus, working on every task instilled in me a sense of responsibility and self-confidence.

By the end of the internship, I could see how everything that I learned had provided me with the means to solve new challenging issues. I had started the internship by working on API endpoints and documenting changes, and by the end of summer, was able to traverse my way across AWS Media Services components.

Not all Work

My internship at CBSi wasn’t just work all the time. Besides the team meetings, there were multiple intern events organized by the University Relations Team, including a live music event to welcome the interns, lunch and learns, social events, weekly themed coffee chats, bingo challenges, movie nights, and events focused on personal growth, namely emotional intelligence training.

Despite the limitations of working virtually, the University Relations Team had indeed organized a variety of amazing and unconventional events that I hadn’t anticipated being possible. All these events gave me insights into the company values and culture. I am amazed at how invested ViacomCBS is in keeping its employees at peak mental health. The company also successfully organized a Virtual Community Day, which empowered me to share small joys and pass hope in such unprecedented times.

To summarize, the internship has surpassed my expectations in terms of personal growth and knowledge I would gain. Working at CBSi is a highly rewarding experience for anybody who is inquisitive and loves to work in a challenging environment. I am grateful to have had the opportunity to work among people who love discussing new ideas and are constantly inspiring me to do my best.

The team continuously supported me in my initiatives, and there was always an environment of camaraderie that fostered personal growth. Moreover, working remotely allowed me to effectively communicate and network using different mediums. CBSi managed to take a difficult situation and turn it into an extremely enriching and rewarding experience. I’m really thankful and happy to continue working with this amazing group of people. They’ve been a constant source of inspiration and I’m looking forward to having new experiences with them.

Special Mentions

Thank you Allison for being such a great mentor, helping and guiding me in this internship. A special shout out to Stephen, Igor, Gowri, Rafael, Krystal and all the amazing people I’ve been working with. Thank you Flávio for starting me on this amazing journey and giving me such a great opportunity.

--

--