Research Software Engineer

TU Delft
Delft, Netherlands
yesterday

Role details

Contract type
Temporary contract
Employment type
Part-time / full-time
Working hours
Regular working hours
Languages
English, Polish
Compensation
€ 5.1K

Job location

Delft, Netherlands

Tech stack

3D Computer Graphics Software
Unit Testing
C++
CMake
Interoperability
Python
NumPy
Performance Tuning
Software Engineering
Reliability of Systems
Pandas
Pytest
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