Senior Software Engineer (Oracle Technologies)
- Civil Service
- Part Time
- Titchfield
- 45,832 - 48,629
Job Description
Job summary
Are you an accomplished Software Engineer looking for a role where you can make a real impact, using your technical experience to enable us to deliver our Statistics for the Public Good strategy for the UK?
We are looking for experienced Software Engineers to join us! We are looking for forward-thinking people with a passion for Continuous Integration and Continuous Delivery working on the latest cloud and software applications. You will have an eye for detail and stakeholder management skills to provide technical and procedural expertise working within our Digital Services (DS) Directorate. Candidates should have demonstrable, recent practical experience of developing software solutions using Oracle technologies as a core part of their role.
Life Events Data Resource (LEDR) & Longitudinal Study (LS)
About the Role
We are recruiting for two Software Engineer positions within the Office for National Statistics (ONS) Life Events area. The successful candidates will join either the Life Events Data Resource (LEDR) team or the Longitudinal Study (LS) team, supporting systems that manage, process and analyse some of the UK's most important population data.
These roles offer the opportunity to work on nationally significant services that support the registration, processing, linkage and analysis of life events and longitudinal data. Successful candidates will contribute to the development, maintenance and modernisation of critical systems used by government, researchers and statisticians.
What You'll Be Doing
- Designing, developing and maintaining business-critical applications and databases.
- Working with large and complex datasets to support statistical production and research.
- Developing new functionality and enhancing existing systems.
- Producing high-quality, maintainable and secure code.
- Supporting data processing, validation and quality assurance activities.
- Collaborating with business analysts, testers, statisticians and technical colleagues.
- Participating in code reviews, technical design discussions and continuous improvement initiatives.
- Assisting with system upgrades, modernisation activities and technical debt reduction.
- Contributing to technical documentation and knowledge sharing across teams.
Technologies Used
Depending on the team joined, you will work with some or all of the following technologies:
LEDR Technology Stack:
- Java
- Oracle Database
- Oracle APEX
- Talend
- Oracle WebLogic
- GitLab
- Jenkins
- Maven
LS Technology Stack:
- Oracle Database
- Oracle SQL
- PL/SQL
- Oracle APEX
- Microsoft SQL Server
- T-SQL
Job description
Responsibilities
The role will include:
- Develop and enhance software solutions to meet user story needs.
- Follow best practice guidelines and help to improve those guidelines.
- Write clean, secure, and well-tested code.
- Coach and mentor colleagues.
- Support a continuous delivery environment, using effective delivery and deployment techniques
- Operate the services they build and identify issues in production.
- Design and execute a range of test techniques.
Person specification
Essential Skills Criteria:
- Programming and build (software engineering) (Practitioner) Collaborates with others when necessary to review specifications. Uses these agreed specifications to design, code, test and document programs or scripts of medium to high complexity, using the right standards and tools. Contributes to code reviews and gives constructive feedback to others.
- Communicating between technical and non-technical (Practitioner) - Listens to and interprets the needs of technical and non-technical stakeholders and manages their expectations. Communicates effectively in both proactive and reactive contexts (for example, delivery updates, incidents and changes), adapting style and detail to the audience. Translates technical concepts, constraints and trade-offs into clear, information for non-technical stakeholders. Supports or facilitates challenging discussions within the team or with senior and diverse stakeholders, helping to reach shared understanding and agreed outcomes.
- Test Engineering (Practitioner) Able to design, implement and execute functional and non-functional tests using a wide range of techniques and frameworks. Able to make decisions on running types of test cases, and environments for testing. Able to work with the team to develop and iterate on testing standards. Maintains and adapts CI/CD pipelines to ensure effective test integration and quality gates. Able to guide and coach others in creating and maintaining comprehensive and reliable tests that meet standards. Able to research and prepare for future testing needs, including tools, methodologies and techniques.
- Modern Developments Standards (Practitioner) Able to apply modern development standards and support others in applying them. Contributes to continuous improvement of approaches.
- Service Support (Practitioner) - Identifies, locates and fixes service faults in production and non-production environments. Investigates and resolves complex or undocumented issues, using a variety of methods, tools and system knowledge. (Such as logs, test results etc). Triage incidents, assesses impact and priority, and create stories or tasks for fixes. Contributes to team support practices by documenting resolutions, improving processes and supporting colleagues in diagnosing issues.
Desirable Skills Criteria:
Experience in one or more of the following would be advantageous:
- Java development.
- Oracle Database development and administration.
- Oracle APEX development.
- PL/SQL and T-SQL programming.
- Talend ETL development.
- CI/CD tooling such as GitLab, Jenkins and Maven.
- Data integration, data quality or statistical processing systems.
- Working with large, sensitive or business-critical datasets.
You may have deeper expertise in some areas than others, but you must demonstrate a willingness to learn and develop across the full technical stack. Experience working collaboratively in agile teams and delivering reliable, production-grade services is essential.
We expect that you will have experience of using these technologies, accepting that experience of some might be more limited but you must be keen to learn all the technical stack above. Please ensure that your CV fully reflects those that you have used before. Your desire to learn and develop in a collaborative software environment will also be what we are looking for.