CBC Digital Labs
Published in

CBC Digital Labs

What does the Content Distribution team do at CBC?

This post is part of a series on “What teams do at CBC” in 2021. In each blog post we are celebrating one of our amazing teams in Digital Strategy and Products at CBC and will shed light on the fantastic work they do. Teams will be sharing about how their work fulfills CBC’s mission and serves our Canadian audience. Team members will also talk about what it is like to be on their team and what they do for fun.

Q: What is your favourite CBC TV or Radio show?

The Content Distribution Team is comprised of a diverse group of skilled people who come from varied backgrounds, languages and interests and therefore has a wide range of favourite CBC shows such as Workin’ Moms, Dragons’ Den, Murdoch Mysteries, The National, The Current, Drive, Q, Reclaimed, Ideas, Tempo, Afterdark, Classical Serenity (Playlist), Marvin’s Room R&B, etc. As we also support the backend for audio, some of the Radio shows are managed by one of our team’s products!

Despite different shows we are interested in, we indeed share one common interest among us — snacks! We share and try a variety of snacks from around the world.

Q: What does your team do?

In one word — Deliver! As what our team name CDT “Content Distribution Team” stands for, we distribute data from sources (many CMS systems) to destinations (public audience facing products such as the CBC.ca site, Apps, Podcast RSS, etc.) in a timely manner. Speed and relevancy is our first priority.

As in many media corporations, technical people develop solutions with multiple content sources in the ecosystem. CBC is no different. Other teams that need to consume content to fulfill audience requirements rely on CDT to provide a one-stop experience to fetch the content they need with extensibility in mind. To satisfy their needs, CDT ensures that modern technologies and techniques are leveraged, while staying on top of industry trends.

CDT provides the social and technical foundation for other technologists to access content, metadata and user data allowing them to optimize the presentation of stories and media to Canadians on any digital platform.

We develop standardized, vendor-agnostic APIs that enhance the content authoring and discovery experience while optimizing distribution speed and relevancy.

Q: How does your team’s work fit in overall with CBC’s mission and Canadian audience?

CDT federates content metadata, provides building blocks, tools, and organizes CBC’s core architecture to support all CBC applications which contribute directly to CBC’s mission and serve Canadian audiences.

CDT helps ensure stability of CBC digital properties by securing against high traffic events such as Olympics, provincial and federal elections, COVID, etc.

During the CBC Hackathon event, CDT provides candidates with API services, so candidates can build innovative products on top of it.

Q: What does a typical day look like for the team?

What’s a typical day? Every day is different, so it is hard to nail down “typical”. CDT has a ton of products, some are content focused others are focused on organizing our digital infrastructure. Because of this, our team’s work is quite often varied and very few days are considered typical.

We use Kanban to manage our tasks, with backlog grooming once a week and a mini-meeting every Thursday to share and discuss what happened, what we learned, and how to improve in the future.

Before the pandemic, every morning we started our day with a team stand-up, talking about the progress of our tasks, issues we encountered, suggestions from team members, etc. After the pandemic started, we moved in-person stand-ups to slack channels or video meetings. Long story short, COVID has made our typical day atypical.

Some days, we will find support requests (investigate production issues or answer questions from other teams). Because we support a number of different teams, the nature of support might vary from day to day.

When there are no support requests, we work on Jira tickets, do pair programming, code reviews, resolve technical debt, and discuss possible solutions to certain issues.

There are some days when we utilize 20% of our time for activities that may not be a part of our immediate backlog when there are no support requests. Our department encourages us to spend 20% of our time on projects that provide value for our products, our team, our department, for CBC, and our audience.

Q: What roles does your team have?

  • Senior Manager (Product)
  • Product Owner (Product implementation)
  • Agile Team Lead (aka Scrum Master)
  • Architect
  • Senior Developer, Quality Engineering
  • Senior Backend / Full Stack Developer

Q: What tools and technologies does your team use?

We use

  • Java, Hibernate, Spring for most of our backend API
  • Git as source control
  • Jira to manage our tickets
  • JavaScript, Node.js, GraphQL
  • ReactJs, NodeJs for our Audio Management System
  • PostgreSQL for our database
  • OpenShift as our container platform for some of our services
  • TestNG for testing
  • Bamboo to build and deploy
  • Cypress for automation engineering
  • Selenium for automated testing
  • And more…

Q: What are some recent exciting projects or products your team developed?

  • GraphQL: smaller response payload by fetching only the data the client side needs, combining multiple APIs together to get data from various APIs in one request. Self-documentation is generated from the GQL schema.
  • Weather API: Allows DS&P to create new web pages showing weather related information such as weather conditions or storm warnings with the potential to improve retention and increase engagement. iOS & Android developers can also build new weather-related experiences for the user.
  • Nine: a unified UI that works with various backends. This started as a 20% project.
  • Support for Dynamic ad insertion in downloadable audio: insert ads in audio content dynamically.
  • Enabling Olympics and Election experiences.
  • Content package: create a single user experience visual element about a major event, that can contain several components (headline, image, video thumbnail, list, related links, etc.).
  • Abstracted Metadata Interface (AMI) for the categorization of CBC content. This is a system abstracting the associations between our content and our metadata (no matter what the content or metadata).
  • Model Usage Metrics (MUM) collecting and monitoring the metrics data on GQL requests for analytics and model optimization.

Q: What are some of the challenges your team faces?

  • Tons of data flowing to many applications.
  • Sudden spike of traffic caused by big events (Olympics, COVID, Elections).
  • Many stakeholders from different content areas.
  • Legacy infrastructure to replace.
  • CBC is BIG. Lots of apps. Lots of different types of content.
  • Isolation in 2020/21 as a result of the pandemic.

Q: Is your team hiring?

Not at this time.

Q: What does your team do for fun?

CDT is a very congenial team to work with. Our team members used to generously share snacks all the time when we were working in the office. We used to have monthly team lunches. As the pandemic required us to work from home, we now play Codenames, Drawful, and other fun online games as a social activity. We frequently chat on our team Slack channel about literally anything from pets, politics, food, to Star Wars! Our team is open to different perspectives and provides a safe space for everyone to express their opinions.

Korean BBQ is one of our team’s favourite reasons for gathering. Oh, how we long for the opportunity to enjoy one another’s company in this setting again!

Our team members enjoy cubing, hiking, camping, ham radio, marathon running, cycling, video games, kung fu, pets, dancing, travelling, kayaking, knitting, playing and listening to music, baking, reading, and writing in our spare time.

PS: The comics above are greatly inspired by XKCD :)

To join our teams at CBC, check out our current openings here.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store