Software Engineer – Railway
Following the growth in our Control Systems market we require a Software Engineer to join our Chippenham based agile product development team. The role will cover all aspects of Control Systems product development, including, requirements gathering, software design, development and testing. Our Control Systems team operate as a turnkey unit and provide solutions not only to our internal projects but direct to external clients including our major customer Network Rail.
You will be a key player in a small team with the chance to really have an impact on the delivery of railway products into the UK market.
Our growth has been fuelled by our innovative product solutions such as WESTCAD and WESTRONIC applications that cover Train control, SCADA and Automatic Route Setting systems.
The successful candidate will be experienced in the full life cycle of software development, testing and assurance and have a track record of delivering Software products from concept to delivery, aligning with both internal assurance processes, as well as safety critical standards and regulations. They will be able to work with diversely located teams to ensure delivery of products to requirements, standards and milestones.
What are my responsibilities?
Helping to scope and define product functionality and releases
Architect, design, develop, implement, document, test and assure software products
Requirements analysis and specification of high-level software design
Software architecture / OO design
Development and implementation of software products
Documentation development and review to align product development with design and standards.
Working with internal assurance teams to develop compliant, high-quality, cost-efficient products, that meet industry standards.
Development testing at software and system levels.
Product functionality testing at System level.
Experience of working with safety and security standards and associated software engineering processes.
Work with agile principles and take on agile roles with each assigned project
Requirements Analysis via user stories
Design using UML
Object Oriented coding
Development of test plans and specifications
Support of integration and system testing
Visits to site to assist in testing and commissioning (as required)
Accurate estimation of task
Accurate and timely reporting of progress and issues
What do I need to qualify for this job?
• Graduate in relevant engineering discipline or other numerate subject, although equivalent experience/education would also be considered
• Proficient in UML, OO, C++ and C#
• Thorough understanding of SOLID principles and common design patterns
• Experience of Unit Testing
• Self-motivated, adaptable and able to learn quickly
• Work in a team of engineers, or independently, as required.
• Demonstrable knowledge of good development standards and practices
• At least 5 years’ experience of delivering systems in a controlled software environment.
• Good knowledge of configuration management and control practices
• Good verbal and written communication skills
• Good inter-personal skills
• Willingness to occasionally travel.
• Willingness to work from other Offices to perform testing and collaborate with other developers
• Experience of developing Safety Critical Software
• Experience of Windows HMI development with WPF or similar technologies
• Experience of publish-and-subscribe messaging
• Familiarity with Agile software development techniques (e.g. Scrum or XP)
• Systems Engineering experience
• Railway Industry background (signalling & operations).
• Knowledge of CENELEC 50128 & 50129.
• Experience with DOORS, Polarion