SENIOR SOFTWARE ENGINEER – REMOTE CONTROL
Who we are
OTIV is a Ghent-based company leading the autonomous revolution in rail. We are on a mission to increase safety and efficiency of railway operations by teaching rail vehicles to drive autonomously. By making trains more efficient and safer, we actively contribute to a modal shift and a greener future. We bring this vision to life by a unique focus on the most challenging environments such as cities, shunting yards and industrial sites. Thanks to high-profile partners and world-leading clients such as Deutsche Bahn, SNCF Group, ArcelorMittal and CAF we deliver the future of railway operations today.
OTIV is an equal opportunity employer. We are committed to a work environment that supports, inspires, and respects all individuals and in which personnel processes are merit-based and applied without discrimination on the basis of race, color, religion, sex, sexual orientation, gender identity, marital status, age, disability, national or ethnic origin, military service status, citizenship, or other protected characteristic. OTIV strives to create an environment in which all employees feel confident in their ability to bring their authentic selves to work and secure collaborating with colleagues and customers.
What you will do
As Senior Software Engineer, you put features into code. You mainly work on C++ detailed software design and implementation, but you also contribute to architecture decisions or support our systems, networking and safety engineers with valuable feedback. You have a certain urge to find the best possible solution, to create elegant (C++) code that is clean, maintainable, testable, effective & efficient. You leverage code reviews and mentoring to help all our programmers to improve their skills. You help to set standards and you have a strong drive to reduce complexity in our implementations. Your experience allows you to devise and drive process improvement initiatives or product improvement through profiling and optimizing existing code.
You will mainly be working on a remote supervision and control system for autonomous freight trains going from Rotterdam to Germany. The goal is to develop a reliable system for autonomous trains’ supervision and remote control in case of degraded automation. This system will be implemented on a prototype that will be tested on the Betuwe route for a full year.
You will be part of a small dedicated team with a full stack developer, a front-end developer, a hardware engineer and test engineers. This team will be backed up by OTIV’s internal expertise on communication and video streaming subjects.
Tasks and responsibilities
-
Software detailed design and programming, strongly focused on C++ and Python.
-
Owning one or more functional areas of our remote supervision and control software stack.
-
Writing release reports.
-
Reviewing various reports including metrics and trends from customer deployments to identify areas of improvement for the OTIV solutions.
-
Breaking down larger tasks, planning, and test-planning.
-
Familiar with CI/CD work flows.
-
Driving efficiency, reliability and scalability improvements through design and automation.
-
Code reviews and mentoring.
Who you are
-
Outstanding C++ programming skills, around or over 4 years of experience.
-
Previous experience working on autonomous vehicles, autonomous platforms or robotics is a strong plus.
-
Experience in writing maintainable code, performing peer code-reviews, writing technical design documents, and participating in technical design discussions.
-
Experience contributing to the system design or architecture (architecture, design patterns, reliability and scaling) of new and current systems.
-
Experience with working on larger software systems.
-
Excellent debugging skills: ability to quickly recognize patterns in failures.
-
Have a test-first mentality to prevent issues from affecting customers. You understand the nuances and challenges with cross-platform development.
-
Proficient with Git and bug tracking systems and using them in day to day development processes.
-
Knowledge of CUDA.
-
Understanding of OS, GPU, CPU, IO, Network, and Memory Management.
-
Excellent Linux environment programming knowledge
-
Experience with planning of software development projects and organizing small teams.
-
Strong product intuition: You understand what makes a product great and can iterate on improvements quickly
-
Entrepreneurial mindset: you thrive in unstructured environments and enjoy identifying big problems in addition to solving them
-
Knowledge of other relevant programming languages (C#, RUST, Java) is a plus
-
Master’s degree or higher in any STEM field / applicable field
What we offer
-
Full time offer with competitive salary package.
-
International environment in a disruptive start-up with opportunities to grow.
-
Early riser or night owl? Either way, you’ll fit right in our flexible working hours system.
-
Hybrid working policy, with an office in beautiful Ghent (Belgium).
-
Collaborative, transparent, and fun-loving office culture.
-
Team events and quarterly offsite.
-
30 days of vacation.