What does Customization and Machine Learning team do at CBC?

CBC Digital Labs
CBC Digital Labs
Published in
7 min readFeb 16, 2021

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 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.

Introducing Customization and Machine Learning (CaML) Team

What is your favourite CBC TV show?

Heartland: While there are certainly scattered accusations of Heartland being a “boring” show or anti-drama on the internet, with a whopping 13 impressive seasons and list of nominations and awards, one has to wonder if the target audience are those who speak the most online. Does a show need melodrama or action to be considered worthy of our time and attention? The Sight and Sound’s Greatest Films of all Time poll has consistently placed Tokyo Story in the top movies of all time among both critics and directors. It is a family drama with very little action that has touched the hearts of viewers for over half a century. Heartland has positioned itself similarly throughout the years as a family-drama eschewing needless action or melodrama. Another Canadian classic in this regard is the comic For Better or Worse by Lynn Johnston, praised for its realism with characters growing, learning, and dying in real time over it’s ceaseless 29 year march. While Heartland is still a young family drama, it’s characters continue to grow and adapt in a way that only long form television can, and that’s what makes it a truly hidden Canadian gem.

Q: What does your team do?

The CaML team focuses on Machine Learning (ML) Software Development. Our team’s role within CBC is to better serve Canadians through experimentation in personalization. Much of the work we do is focused on delivering explainable ML models to service Canadians at scale. The focus is not often to develop state of the art models or provide business insights but rather to work with already developed business knowledge of user needs to solve problems using the most appropriate ML models. It’s about delivering value to our audience.

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

CBC’s number one mission priority is to create the personal, relevant, and engaging experiences that Canadians expect. Our goal is to make sure all Canadians see themselves reflected in our digital services while connecting them to the many communities and voices that make our country great. It’s no surprise that the Customization and Machine Learning (CaML) team is right at the centre of that work. Our team has and continues to develop capabilities to help the CBC grow from its roots in public broadcast media into the mighty maple of public digital service.

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

An average day is composed of spending time in the morning working on projects that a developer is trying to take end-to-end. Sometimes out of necessity meetings are booked in the morning but usually they are reserved for the afternoon. Towards the end of the day (with consideration for our flexible schedule) we all gather to discuss our day. While the industry practice is arguably to “stand up” at the start of the day and say what you are going to do, fresh in mind, the nature of our work has benefited from “sitting down” and discussing things we know, things we’ve learned, hearing the opinions of others, and having time to digest the discussion before tackling problems again the next day. In the age of instant messaging, problems easily solved by others are usually just a message away, what remains is often more complicated discussions that, at least for our team, seem better discussed near the end of the day.

Work day to day is often similar in bursts as you iterate and experiment with a solution but after delivery you’ll often change dramatically what you’re doing to help our audience in a completely different way. Having specialties in both machine learning and distributed systems means there’s both the sense of discovery studying literature and iterating on models best suited to a problem as well as the sense of accomplishment that comes from building a stable architecture to realize them at scale.

Q: What roles does your team have?

Our one role is Senior Machine Learning Developer. Of course everyone specializes in certain areas of knowledge but the developers on CaML strive towards “T-shaped” skill sets where we arrive as a specialist and grow as a generalist. Writing software, reading papers, committing to best development practices, reviewing pull requests, discussing models, designing architectures, structuring data, crafting tools, and planning projects are all part of the many “hats” one must be able to put on and take off as required throughout the day. The team’s structure cuts through fences of responsibility and allows us to learn from and teach each other on a daily basis. Beyond developers there’s only our Product Owner and Senior Manager. They guide our work and our career respectively working across the department to encourage constant learning, collaboration, and improvement.

Q: What tools and technologies does your team use?

The CaML team has a spartan technology stack. We prioritize leveraging what we have already built or used before when solving new problems to maximize the team’s existing experience and knowledge. Our codebase is almost exclusively Python running on GCP, App Engine, and Google Bigtable. As our work revolves around the ML Python ecosystem it includes but is not limited to: TensorFlow, Scikit-Learn, SciPy, Numpy, Pandas, and NLTK. Other tools we use include Flask, JSON Schema, Make, Git, and GPG. It’s worth quoting Antoine de Saint-Exupéry who said, “A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away.” While we certainly do not claim to be perfect, CaML aims to avoid adding a dependency that could solve a problem in one line if it could be solved with a few using previous dependencies. This encourages a level of deep competency with our tools that allows us to extend and refine them in ways much harder to with wider toolsets.

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

One project that was recently released to the public was personalized recommendations in the CBC News App. The CaML team built a service to generate notifications that takes into consideration the types of things you’ve enjoyed, and when you’ve enjoyed them to recommend stories that you’re likely to also enjoy at the best time of day for you to read them. This is an exciting project because it is not only about selecting the best recommendation for a user but also selecting the best time to deliver it. It also opens future opportunities in personalized notification experiences helping our users keep up with their favourite CBC content.

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

In Thank you for Being Late: an Optimist’s Guide to Thriving in the Age of Accelerations published in 2016, Pulitzer Prize winning New York Times columnist and author Thomas Friedman alludes to the new digital landscape as white water kayaking. While a natural response to the adrenaline inducing experience may be to drive one’s paddle into the water to slow down, like a bicycle this lack of speed makes one more susceptible to capsizing and getting caught up in the rapids. The solution Friedman argues, is to optimistically embrace the acceleration and continue paddling forward. Friedman also however, advocates the benefit of the occasional unplanned pause for reflection. The solution then it would appear is to “stay ahead” for oneself without “getting ahead” of oneself.

Today, half a decade after the publication of Friedman’s book discussing how cloud computing, big data, and machine learning (ML) would change future business we have seen some of the benefits and drawbacks of racing ahead full-speed with technological progress. Of increasing relevance is the question of how users interact with ML and what signals ML amplifies for users. The challenge our team faces like so many others in the industry is striking that balance, and using technology to provide the best experience for Canadians in a safe and reliable manner. Part of this is an awareness fostered through attending conferences both academic and industry to understand what is available. Part of this is a practical commitment to continually re-evaluate and improve upon the technology we use and keep the user in mind.

Q: Is your team hiring?

Yes: https://bit.ly/3ky3zLi

Q: What does your team do for fun?

All of us agree, CaML is one of the best and most unique teams we’ve ever been a part of and the ways we have fun reflect that. Fun for us centres on enlightening conversations and esprit de corps. Lunches, beers, games, contests, and more; we’ve done potlucks among our families and karaoke until midnight. For a long time, returning to the office from vacation was welcomed by the ceremonial decorating of your desk to prove how much we missed you. At one point we had a cartoon version of ourselves because one of our members had a passion for digital art. CaML keeps a history we call the team’s epic, a document that records those who’ve come before you and will remember you and your accomplishments long after you leave for the next phase of your career because becoming a CaML is becoming part of the family. Fun for CaML is sharing your interests and exploring the interests of others.

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

--

--