There is a lot involved in keeping the Dutch railways accessible every day. Think of systems that make sure the switches operate on time, signals turn red or green at the right moment and barriers close and open on time. But also think of the timetables that need adjusting when a large influx of passengers is expected due to a public event or when trains cannot run on a certain route because of a fallen tree. It is extremely important to always provide correct and up-to-date travel information through various channels, even at times when a timetable is changed.
A typical feature of the automated systems that handle these tasks is their high complexity and high chain dependency. After all, all these things affect each other. This means that the complex systems that control these processes also have a huge number of interfaces. If something goes wrong somewhere in this chain of dependencies, it has major consequences. It can lead to serious disruption of public transport, or even parliamentary questions. This is why reliable software is a prerequisite for keeping the Netherlands accessible at all times.
Our C++ engineers enjoy getting to grips with complex issues and taking responsibility. And they need to, because with us you work on highly mission-critical software that has an impact on our entire society. InTraffic develops these systems and is also responsible for 24x7 maintenance and management.
We work with several multidisciplinary Scrum teams consisting on average of eight people. Each team comprises the following roles: software developer, scrum master, software architect, technical integration specialist and tester. The Scrum teams design, build, test and deliver the software. In doing so, we collaborate with teams from other suppliers as well as with teams from our customers. This is necessary because the projects we work on often involve more than a hundred people due to the high complexity of the software we develop.
The software developers can take on different roles: developer, technical designer or functional designer. As a C++er you are responsible for building the back-end of the system, but the roles frequently intertwine. This means that developers can take on design tasks and designers sometimes program. Developers work closely with testers. To achieve the best solutions, tasks in Scrum teams are often performed together. This approach ensures that knowledge is exchanged and that the various roles can learn from each other.
Besides C++ we often work with:
- Jira, Java
- Robot Framework
- Gherkin, Selenium
- Model Based Testen
- High Integrity c++