PURPOSE OF THE ROLE
As a software engineer you will participate in the development and maintenance of software for our onboard and wayside components.
Your responsibilities will include the entire chain from requirements to a verified product. This includes gathering of user requirements, defining system functionality and decompose functionality into high-quality and detailed architecture-, design- and test specifications.
In addition you will also be responsible for producing code (mainly in C / C++) that are well designed and testable. Your software will be used in safety related components and it is therefore of importance that software documentation and code complies with agreed industry standards and technical design.
You will be working in a project team, closely together with system and hardware engineers. In your role as software engineer you will also need to seek feedback from users/customers as well as participate in debugging, reviewing and testing of code.
- Responsible for producing well designed and testable code, mainly C, C++;
- Responsible for identifying solutions (by developing documentation, flowcharts, layouts and diagrams);
- Responsible of software components integration into a fully functional software system;
- Maintenance of software functionality;
- Troubleshooting, debugging and upgrading existing systems;
- Complying with project plans and industry standards;
- Responsible for evaluating non-conformities.
YOUR EXPERIENCE AND QUALIFICATIONS
- BSc degree in Computer Science, Engineering or relevant field;
- Proven work experience as a Software Engineer or Software Developer;
- Ability to specify and document complex technical systems;
- Good communication skills, ability to work independently;
- Ability to develop software in C, C++ ;
- Familiarity with various operating systems (Linux, Windows, WX Works);
- Experience in real-time, distributed, safe and fault-tolerant systems is a plus;
- English at a business fluent level is mandatory.