Would you like to work in an innovative team, within a inspirational environment and love technology? Then BBC Engineering is the place for you!
The Senior Software Engineer will have full responsibility to help build the next generation of PCS products. One of the core aspects of the role will include making a major contribution to and owning the complete setup of micro-services that make up the PCS product suite. Making a highly valuable contribution to the implementation and delivery of software and hardware components. Taking joint ownership with the DevOps teams, the operational stability of the components to be built and be in a position to affect change to improve the on-going robustness, resiliency and stability of those components.
PCS will operate a continuous delivery DevOps model with emphasis on deployment automation, TDD, BDD, monitoring and on-going ownership of components in production.
The key responsibilities of the Senior Software Engineer will include the following:
- To deliver software components to enable PCS products
- To design and develop high-volume, high-performance, high-availability Java applications
- To ensure consistent use of shared platform components and technologies within PCS
- To design and develop reusable libraries and APIs for use across the BBC.
- To contribute to best practice for Java application development at the BBC
- To write unit and integration tests, within automated test environments to ensure code quality
- To assist in defining the team’s technical strategy and advising on product roadmaps and migration plans to achieve strategic goals
- To liaise with the principal engineers and technical architect
- To automate the entire deployment process on all environments
The Ideal Candidate
The skills and experience of the Senior Software Engineer will include:
- Experience of the following is essential: JAVA, REST, XQuery, XPATH, XSLT, JMS
- Desirable technology: memcache, Apache HTTPd server, Tomcat, Linux, HTTP, MySQL
- Experience designing or implementing public facing REST APIs
- A strong and demonstrable background in software engineering, software design or database design and architecture
- Demonstrable experience of developing on cloud based environments
- Demonstrable experience developing software in a SOA or micro-services paradigm
- Experience with chunked HTTP media delivery formats and methods