Why is this role important?
CBC/Radio-Canada’s Content Distribution team provides the foundation for other technologists to access content, metadata and user data to allow them to optimize the presentation of stories and media to Canadians on any digital platform.
The team’s mandate is to federate content produced by CBC for distribution across CBC’s applications and broadly to content aggregators worldwide, delivering News, Sports, Podcasts, and On-demand audio information to thousands of
Canadians.
The team is responsible for the storage and organization of CBC's multiple content types to distribute to audience-facing teams through fast, flexible, scalable services leveraging Spring, Hibernate, PostgreSQL and GraphQL.
This is a chance to take on the unique challenges the sheer volume of in-house generated data presents; to use new and continuously changing technologies, create and maintain APIs that power various CBC platforms. Most of all, it’s an opportunity to bring CBC’s content to the world.
Here’s why we should work together:
Our digital teams’ values - collaboration, learning, and continuous improvement - embody who we are as a people-focused, digital-forward employer. We follow lean startup principles and use an Agile approach. Our dedicated people managers work closely with every individual to ensure we are leveraging their strengths, championing their ideas and supporting their pursuit of new skills and their desired career progression.
Here at CBC Digital Strategy & Products, we want you to be happy and feel good at work. It is essential that work be a safe space where our employees are able to share their authentic selves with one another and to push each other to challenge conventions.
Perks you can look forward to:
Flexible work schedules, allowing you to prioritize yourself, your family and your work;
Work from home opportunities;
Competitive total rewards package;
20% of time for innovation, learning and development; wherever your interests lie;
Opportunities to work with cutting edge technology;
Opportunities for continued learning and professional development;
Opportunities to become a member of our Employee Resource Groups;
Pair programming and mentorship opportunities, where you can learn from the best in the industry and help coach new talent;
A creative and dynamic work environment, where your ideas and contributions can be heard, valued and respected;
A supportive management team committed to upholding the highest standards of diversity and inclusivity;
An environment which favours experimentation and an iterative approach in order to achieve the highest form of technical innovation.
What you can expect working in the Content Distribution Team:
The Content Distribution team comprises technical expertise who work together collaboratively to produce great outcomes. We believe in agile ways of working and we work in Kanban. The key values we believe in are Collaboration,
Learning and Continuous Improvement, which are our department’s core values. The team’s mission is “to store and organize CBC's content to distribute to audience-facing teams”. A few characteristics of how it might be to work on this team are listed below -
Opportunity to try and learn new things
Work with people who are creative and passionate to solve complex problems
Unique perspective on how the organization creates and consumes content
Working with cool technologies
Work with talented developers
Collaborative and supportive team
Remote working
In-office socials
Frontend, backend, and middleware
Constructive disagreements (good listeners, open minded).
How you will make an impact:
You will be working with the team’s architects to come up with sustainable solutions for the problem space arising when working with large amounts of data and ensure that our products meet the industry standards.
You will be helping the team’s architects keep up-to-date on the latest developments in technology, assuring that our products remain modern, scalable, and performant.
You will be collaborating with other teams to ensure that the entire stack of products, including UI/UX, content management, and data analytics, all function smoothly together.
You will be responsible for writing automated test cases and suites to ensure quality and quick deployments using latest and best practices.
What you bring to our team:
You have the education: A Computer Science, Engineering, Math degree or equivalent is preferred, but we know not everyone gains their programming skills this way.
You have the knowledge and understanding of software design, development and quality engineering practices including unit, integration and end to end testing.
You have expertise using Java and experience using various backend frameworks such as Spring and Hibernate and databases such as PostgreSQL.
Experience with writing code accompanied by unit tests sufficient to ensure coverage of realistic use cases and edge cases.
You have an understanding of application flow, from the data layer to the UI.
You have experience integrating API endpoints.
You can quickly learn new technologies and respond to change by learning and adapting.
You know how to listen and relay empathy and understanding for diverse perspectives.
You thrive in a team-focused environment.
You are comfortable working in an Agile environment , and you are flexible and open to real-world twists and turns; and you are comfortable with iterative and incremental development.
Skills to thrive on the team:
Must haves (with a minimum of 3 years experience):
Expertise with Java, implementing REST API endpoints using Java.
Expertise with SQL & relational databases e.g. Postgres
Experience working with Data JPA e.g. Hibernate
Experience with unit & integration testing frameworks e.g. JUnit
Experience with an HTTP web server environment e.g. Tomcat
Experience working on platforms such as Linux and MacOS
Nice-to-haves:
Experience with GraphQL.
Experience working with React
Experience working with TypeScript
Experience with version control software such as Git, Bitbucket, etc.
Experience with Workflow / CI / CD tools such as Atlassian JIRA, Bamboo, Jenkins etc.
Interest, experience, and/or education in cybersecurity