Software Engineer

You build the complex architecture behind the brain of the exoskeleton and ensure that the exoskeleton is reliable and safe.

As a Software Engineer, you are responsible for building a core part of the exoskeleton’s “brain.” Your task is to design and implement the complete software architecture that enables the system to interpret sensor data and pilot inputs in real time. This architecture must efficiently process, distribute, and coordinate information across the system so that the correct walking patterns are selected and executed reliably. By ensuring seamless communication between sensor processing, motion planning, and low-level motor control, you make certain that when pilot training begins, the exoskeleton operates safely, responsively, and flawlessly.

What you will do as Software Engineer

As a Software Engineer, you are part of a team of five high level software engineers (3 Software Engineers, 1 Lead Software Engineer and 1 Human Machine Interaction Engineer). Together you are  responsible for maintaining, expanding, and optimizing the software system built over the past eleven MARCH years. By looking critically at the (ROS)  architecture and keeping an overview of all functionalities, you and your fellow engineers ensure the system remains intuitive and clear. Together, you design the "brain" of the exoskeleton; the architecture that gathers sensor observations and based on the user input decides the next move.

As part of the Software department, you collaborate closely to design new features, often inspired by research papers. A key part of your collective work is Motion Planning: designing and improving the gaits (walking patterns) to make them efficient, stable, and comfortable. To back up your design choices, you also involve Data Analysis in your workflow. By analyzing sensor logs and performance metrics, the team identifies bottlenecks and optimizes the efficiency of the algorithms.

In addition to the software that runs on the exoskeleton, there are plenty of other places around the design process where you can be involved! You help your teammates with programming and offer support where needed. Eventually, during the testing/training stage you also help with monitoring the exoskeleton to ensure the safety of the pilot.

You recognize yourself in

  • You have programming experience and have worked with Python or C++.

  • You have experience with (large) software projects and know how to write maintainable software.

  • You are able to navigate and understand a complex software architecture.

  • You have strong communication skills and are able to transfer technical knowledge.

  • You enjoy working in a team and guiding others in the creation of software.

  • You have a go-getter mentality and are not afraid of challenges.

  • You are efficient in finding possible issues of algorithms and creative in drafting suitable solutions

You want to become (even) better at 

  • Working with the industry standard framework for developing robotic software (ROS).

  • Working with Linux, C++ and CMake.

  • Software testing and guaranteeing code quality.

  • Analyzing and solving problems in a practical way.

  • Collaborating in a diverse software team in an agile manner

  • Communicating complex new ideas and concepts with members of your team.

  • Understanding the complex systems behind robot locomotion, motion planning and balance.

You get in return

  • Technical and personal skills.

  • Experience in working together in a large multi-disciplinary team.

  • Working independently within a team, setting your own deadlines while taking into account many others.

  • The chance to work alongside companies with expertise in robotics and high-tech systems.

  • The space to make mistakes and learn from them.

  • A year full of unforgettable memories and new friends.

Previous
Previous

Lead Software

Next
Next

Lead Control