Senior Software Engineer - Account back-end
BBC Platform Audience is one of the BBC’s biggest and most ambitious online projects. The ultimate aim being to personalise the online content and engage more effectively with our audience. Our services include BBC account (sign in), recommendations, big data warehousing and analytics, insights, notifications, participation services such as comments and voting and data warehouse solutions. You will be part of a team transforming the BBC into a data-driven organisation supporting the delivery of the BBC’s services such as iPlayer, News, Sport, Children, Weather, Radio and TV to millions of people. Our tech stack is largely Java, Node.js and Cloud (AWS).
In BBC Audience Platform we use the latest tech, with teams that inspire innovation and autonomy, and striving towards Continuous Delivery. Our products span the whole of the BBC and reach millions of users! Not only will you be working on great projects and with cutting edge technologies you will be surrounded by a team of like-minded Technology professionals from whom you can learn and grow. We regularly have Technical Brown bag sessions and try to have frequent Hackathons. This is an environment where we love to share ideas, challenge the traditional with our goal of taking the BBC on the journey to be a Digital First organisation.
This exciting role sits in the Audience Account team, building new features and looking after the mission-critical Single Sign-On platform for all the BBC public services. To succeed, we need to deliver elegant user experiences, as well as a service that’s performant and reliable at scales to tens of millions of users, in a secure manner. The Account Back-End team is an agile team who are responsible for building and maintaining this system which is currently based on the ForgeRock platform. We are continually pushing the boundaries of what is possible on this platform, which is deployed within AWS and we develop and support a number of related systems.
As a key member of this dynamic Agile team you will be responsible for:
- building and maintaining this system which is based on the ForgeRock platform.
- continually pushing the boundaries of what is possible on this platform (which is deployed within AWS)
- developing new features for the BBC ID system.
- bug fixing and improving quality of the BBC ID Systems.
- Helping to scale and deliver our Account platform for the future
- Lead the design and development of effective software that meets complex product and business needs
- Review and give constructive feedback on others’ code
- Drive work to successful completion across the immediate team
- Write appropriate tests using automated test-driven techniques for ensuring code quality and coverage
- Integrate the software with monitoring and support tools
- Ensure the teams software works in its operating environment
- Write, review and take responsibility for technical documentation
- Lead troubleshooting and resolution of issues throughout the product lifecycle, including out of hours support for incident resolution
- Participate in and lead as required, the team's agile planning and delivery process
- Effectively participate in and help improve the teams software development methodologies, such as pairing, code and documentation reviewing and continuous delivery
- Work with project, product and technical leads to design software and create implementable specifications and tasks at feature and component level
- Work with 3rd Party ("Indies") where necessary offering direction, support and documentation
- Mentor and coach more junior staff. Provide technical leadership and direction to peers and colleagues. Line Management of 1-2 software engineers (if appropriate)
- Learn new technologies and keep abreast of existing technologies and help introduce them where appropriate.
The Ideal Candidate
- Experience of a data persistence technology, be it a relational DB model or another model like a JSON store.
- Experience of developing using a version control system, such as GIT, Perforce, SVN, CVS or other
- Experience working in an Agile environment.
- Experience of a team centred methodology like Scrum.
- A passion for new technologies and different programming languages.
- Experience of owning issues and taking them to successful conclusion
- Great communication skills – written and oral, with experience of resolving cross-team issues.
Grade 7/8 (Proposed band - D)
- Excellent career progression – the BBC offers great opportunities for ambitious software engineers to seek new challenges and work on many different and varied products.
- Unrivalled training and development opportunities – our in-house Academy hosts a wide range of internal and external courses and certification.
- A vibrant digital community – we have a strong focus on continuous improvement and engineering excellence. We host regular talks from internal and external speakers, and provide generous opportunities to attend industry events and conferences.
- A variety of technical challenges – we work across a wide range of platforms, languages and technologies; from the latest frameworks and open standards, to the newest devices and modern cloud platforms.
- Benefits - We offer a competitive salary package, a flexible 35-hour working week for work-life balance and 26 days holiday with the option to buy an extra 5 days, a defined pension scheme and discounted dental, healthcare, gym and much more
About the Company
We don’t focus simply on what we do – we also care how we do it. Our values and the way we behave are important to us. Please make sure you’ve read about our values and behaviours in the document attached below. You’ll be asked questions relating to them as part of your application for this role. The BBC is committed to building a culturally diverse workforce and therefore strongly encourages applications from underrepresented groups. We are committed to equality of opportunity and welcome applications from individuals, regardless of their background.