Research Software Engineer

TU Delft
Delft, Netherlands
25 days ago

Role details

Contract type
Temporary contract
Employment type
Part-time / full-time
Compensation
€3,708.0 - €5,057.0
Working hours
Regular working hours
Languages
Polish
Job source

Tech stack

3D Computer Graphics Software Unit Testing C++ (Programming Language) CMake Interoperability Python (Programming Language) NumPy Performance Tuning Software Engineering Reliability of Systems Pandas Pytest
+2 more
Sphinx Api Design

Job description

project’s requirements, your responsibilities may include: Core Engine Development: A core part of the role will be contributing to the underlying C++ codebase, focusing on physics engine development, performance optimization, and musculoskeletal modelling capabilities. Language Interoperability: Developing seamless Python bindings to C++ using tools like nanobind, ensuring excellent language interop and a Pythonic user experience without sacrificing performance. Greenfield Innovation: Taking ownership of standalone sub-projects and novel ideas leveraging OPynSim, driving self-managed, clean-slate software development. Quality Assurance: Implementing rigorous unit testing workflows using GoogleTest for C++ and pytest for Python to ensure software reliability and robustness. Writing Documentation, Examples, and Specifications: Authoring clear technical specifications and user-facing documentation using Sphinx to empower the global research community and polish the project’s

Requirements

outputs. Research Integration: Collaborating directly with researchers to embed OPynSim into active research pipelines, gathering feedback to iteratively improve the software. Job requirements This role strongly requires: A master’s or PhD degree in a STEM field, or equivalent professional experience in engineering scientific/research/3D software. Provable familiarity with software development (e.g. courses taken, work experience, example code/projects). Expertise in any of these topics is highly desirable: Developing software for larger systems with legacy compatibility concerns. Especially systems written in C++/Python. C++ and its surrounding ecosystem (e.g. CMake, googletest, stdlib). Python and its surrounding ecosystem (e.g. PyPi, numpy, pandas, polars, pytest). Especially idiomatic Python API design, and the specifics of the Python language. Language interoperability and foreign function interface (FFI) design. Especially using nanobind and pybind11 to create Python

Benefits & conditions

Pulled from the full job description

  • Professional development assistance
  • Pension plan, reflected in ME’s outstanding, state-of-the-art education, which trains students to become responsible and socially engaged engineers and scientists. We translate our knowledge and insights into solutions to societal issues, contributing to a sustainable society and to the development of prosperity and well-being. That is what unites us in pioneering research, inspiring education and (inter)national cooperation. . Do you want to experience working at our faculty? These videos will introduce you to some of our researchers and their work. Conditions of employment Duration of contract is 1 year Temporarily with a posibility for extension A job of 32-40 hours per week. A salary based on Scale 09 of the CAO for Dutch Universities with a salary between €3708 - €5057 gross per month based on a fulltime contract (38 hours), plus 8% holiday allowance and an end-of-year bonus of 8.3%. An excellent pension scheme via the ABP. The possibility to compile an

About the company

by contributing to OPynSim: a new project that will deliver a robust Python API for the OpenSim (C++) framework and develop a novel file format specification designed to encapsulate entire research studies into a single, easily shareable file. In this role, you will bridge the gap between high-performance C++ and user-friendly Python ecosystems. You will have a unique opportunity to see the direct impact of your code, as you will work closely with researchers to integrate OPynSim into active research projects. Because this project is grounded in open-source principles and open development, your contributions will immediately be visible globally, allowing you to build an impressive public portfolio. There is an opportunity for you to work on any part of the entire software development stack-from low-level core engine programming to high-level API design, deployment, and community documentation. Depending on a combination of your competencies/interests and the, bindings to C++. Physics engines, rigid body mechanics, or musculoskeletal modeling. Especially OpenSim. Writing technical documentation and/or specifications. Especially writing Python API documentation in Sphinx or writing file specifications. TU Delft (Delft University of Technology) Working at TU Delft means contributing to solutions that really make a difference. For over 180 years, we have been training engineers who make an impact worldwide in companies, government bodies, or as entrepreneurs. Our alumni turn knowledge into concrete solutions for the challenges of today and tomorrow. These challenges are changing rapidly. That is why we focus on themes such as energy, climate, digitalisation, artificial intelligence (AI), and smart mobility every day. Our education and research are directly aligned with what society needs now and in the future. At TU Delft, our people make the difference. With their knowledge and curiosity, our staff provide a high-quality

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on nl.indeed.com

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

3:29 min

Bridging physics domain knowledge and software engineering

Andreas Kaldun Andreas Kaldun · WWC 2023

2:03 min

Accelerating pandas dataframes using cudf module plugins

Ankit Patel Ankit Patel · WWC 2024

2:34 min

Maximizing execution memory effectively via python numpy broadcasting

Jodie Burchell · LIVE

1:15 min

Defining classes and building packages with pybind11

Konstantin Bespalov · WWC 2023

3:33 min

Refactoring data science workflows using Rapids QDF and Pandas

Paul Graham Paul Graham · LIVE

1:25 min

Replacing NumPy with cuPy for straightforward GPU acceleration

Paul Graham Paul Graham · WWC 2025

Videos

See all

Related articles

See all