The BBC Sounds team has been tasked with shaping the future of audio at the BBC. Our brand new mobile app, BBC Sounds, brings together our live and on demand radio, music and podcasts into a single personalised experience.
We’re looking for engineers with a strong understanding of object-oriented programming, clean architecture, and test-driven development, to help us make the best audio app in the world.
We began as a small, self-organising and highly collaborative team of engineers, testers, UX designers and product owners and we are now expanding and adding another team in our Glasgow office at Pacific Quay. We value our engineers, offering regular training and development opportunities, as well as '10% time’ - allowing dedicated time for self-improvement, learning and innovation. We take the time to reflect and improve on how we’re working through team retrospectives and mentoring. We’re a hard-working team who are supportive, care about each other, and promote a healthy work-life balance with opportunities for flexible working hours and a friendly working environment. This is an exciting time to join the team as we expand to our second site and push Sounds to new levels.
The BBC is committed to redeploying employees seeking suitable alternative employment within the BBC for different reasons and they will be given priority consideration ahead of other applicants. Priority consideration means for those employees seeking redeployment their application will be considered alongside anyone else at risk of redundancy, prior to any individuals being considered who are not at risk.
As a Senior Software Engineer you will contribute to the development of features, fix bugs and issues, review code from others in the team and make a key contribution to the entire development lifecycle, from conception and discovery through development and delivery. You will also take responsibility for the technical direction of features and provide support to more junior engineers.
Everybody on the team has a say in how we work, so you need to be able to work with others across disciplines - collaborating with UX designers, API engineers, testers and product owners so that together we can make everything we do the best it can be. You’ll help create team goals and objectives, contribute feature ideas and discuss the future direction of the product, and give input in retrospectives on how we’re performing as a team. Even this job description was written collaboratively, using feedback and suggestions for everyone on the team.
We care about code quality and clean architecture, and we sweat the details. We usually work in Swift (iOS) and Kotlin (Android), so you need experience with one or both of those languages. You'll be happy to discuss technical details with the rest of the engineering team, contributing to discussions and communicating your own ideas. You’re willing to take time to do things the right way.
You’ll also have opportunities to grow and specialise. We want you to be passionate about the future of technology in broadcasting, and the impact you can have. You’ll need a desire to keep learning and growing, which support with cross-team groups, meet-ups and chapters focussed on topics such as Android and iOS development, accessibility, security, development practices, continuous delivery and many other areas of interest.
- Real-world iOS or Android experience, with deep understanding of iOS or Android app architecture and design idioms?
- Real-world experience with Swift and/or Kotlin in mobile apps development?
- A good understandingof Object Oriented Programming?
- Understanding of design patterns such as MVVM, MVP or VIPER?
- Ability to work well with others?
- Demonstrable understanding of Test-Driven Development?
- Experience of source control systems preferably git?
- A track record of producing maintainable code within collaborative environments?
- Ability to rapidly acquire new software skills and to work with new technologies?
- Degree in Computer Science or equivalent?
- Experience with both Android and iOS development?
- Experience with Continuous Integration/Deployment in mobile apps?
- Web services integration (REST, JSON) in a mobile environment?
- Experience with Agile/Scrum/Kanban project management methodologies?
- Knowledge of Amazon Web Services?