Job Description
Software Engineer - Nottinghamshire - Up to £65/h
Position Overview
We are seeking a Software Engineer to join a dedicated engineering team focused on developing safety-critical systems for the railway sector. This role involves designing, coding, implementing, and testing software that is essential to our Safety and Surveillance offerings. The ideal candidate will have a strong scientific background to support solutions that require comprehensive analysis of Real Time data.
Key Responsibilities
* Develop safety-critical software that meets certification standards for our products and associated tools.
* Utilize high-integrity coding practices in restricted environments, including languages such as MISRA C and similar.
* Participate in the design and development of scientific algorithms for processing Real Time data.
* Engage in software and system architecture design efforts.
* Follow established processes, controls, and procedures throughout the development life cycle.
* Create and promote reusable code within the team.
* Contribute to the creation of technical documentation, including design specifications, release notes, and user manuals.
* Maintain and update existing software systems.
* Perform root cause analysis to identify and resolve software issues.
* Adhere to policies regarding client confidentiality and data protection under GDPR.
* Provide realistic timelines for project deliverables.
* Occasionally manage urgent tasks outside standard working hours.
* Collaborate with colleagues from various disciplines in the broader product development context.
* Undertake additional tasks as needed.
Qualifications
* Bachelor's degree or equivalent in software engineering or a related field. Advanced degrees and professional certifications are a plus.
* Minimum of 3 years of experience in delivering high-integrity software projects.
* Strong knowledge of software quality assurance practices, including automated testing, static analysis, and formal methods.
* Proficient in using software for Real Time scientific analysis.
* Proven experience in project delivery within a recognized Product Development Process.
* Familiarity with project planning and tracking tools.
* Experience in both waterfall and agile development methodologies.
Skills and Competencies
* Exceptional attention to detail.
* Ability to collaborate effectively within a team and provide guidance to peers.
* Understanding of the larger context of software within integrated systems.
* Confidence to engage in design discussions and reviews.
* Strong analytical and innovative problem-solving abilities.
* Proficient in C and C++ programming.
* Knowledgeable about technologies such as MISRA C, POSIX-compliant operating systems (Linux, QNX), Yocto, Netbeans, and Eclipse.
* Familiar with the Microsoft Azure product suite and tools.
* Solid understanding of networking and cloud computing principles.
* Excellent verbal and written communication skills.