{"id":89497,"title":"Senior Scientific Software Engineer — Simulation and Machine Learning","company":"Constructor Labs","city":null,"region":null,"location":"Germany","work_model":"hybrid","employment_type":"unknown","employment":["full_time"],"roles":["data_science"],"visa":"not_mentioned","relocation":"not_mentioned","posted_at":"2026-09-21T10:05:49+00:00","tools":["Julia","Python","JAX"],"seniority":"senior","years_experience_min":null,"german_requirement":"not_mentioned","german_level":"unspecified","english_requirement":"required","english_level":"unspecified","team_language":"unknown","confidence":0.4,"method":"rules","language_badge":"Not stated","language_evidence":null,"requirements_snippet":"Experience PhD or equivalent in physics, applied mathematics or computational science. Strong scientific computing in Julia, Python, JAX or comparable. Real numerical depth: ODE solvers, optimisation, stochastic processes, …","url":"https://job-boards.eu.greenhouse.io/constructorknowledgelabs/jobs/4981061101","source":"greenhouse","agency":null,"description_text":"Location: Remote within Europe, with regular presence in Bremen\n\nDirect Reports: None; supervision of students and interns\n\nWorking Model: Remote / hybrid. Regular time on-site in Bremen.\n\nMission\n\nBuild the simulation and model-learning engine at the centre of Constructor's quantum software. The work is numerics-heavy: differentiable simulation of physical systems, inference of model parameters from experimental data, and optimisation at scale. The role sits between physics and engineering and requires genuine depth in both.\n\nResponsibilities\n\nPillar 1 Simulation Engine\n• Build and maintain high-performance simulation code for open and closed quantum systems.\n• Own the differentiable simulation and automatic differentiation layer.\n• Drive performance. This code runs inside optimisation loops and speed decides what is possible.\n• Maintain and extend the Julia core and its Python interface.\n\nSuccess Metrics and KPIs: simulation accuracy against measurement, runtime performance, API stability.\n\nPillar 2 Model Learning and Optimisation\n• Implement parameter inference and model learning from experimental data.\n• Work on neural-network approaches to PDE solving and equation discovery.\n• Benchmark against established academic tools and publish the comparison.\n\nSuccess Metrics and KPIs: benchmark results, methods adopted by the research group, publications.\n\nPillar 3 Research Collaboration\n• Work with Constructor University faculty on joint research and grant applications.\n• Supervise graduate students and interns working on the engine.\n• Contribute to course material on numerical simulation and machine learning for physics.\n\nAccountability: research collaborations initiated and sustained; students productive.\n\nRequirements\n\nExperience\n• PhD or equivalent in physics, applied mathematics or computational science.\n• Strong scientific computing in Julia, Python, JAX or comparable.\n• Real numerical depth: ODE solvers, optimisation, stochastic processes, automatic differentiation.\n• Published work, or code that others rely on.\n\nSkills & Competencies\n• Able to take a method from a paper and make it fast, tested and usable.\n• Comfortable owning code quality, not only correctness.\n• Interest in supervising students alongside the engineering.\n• Clear technical writing.\n\nEducation & Languages\n• PhD in physics, applied mathematics or computational science.\n• Fluent English.\n\nWhat This Role Is (and Is Not)\n\nThis role IS\n• A research-grade engineering role with a product at the end of it.\n• Central to the group's core technical asset.\n• A role with a route into teaching and supervision if you want it.\n\nThis role is NOT\n• A pure research position without delivery.\n• A general software engineering role.\n• A role where someone else owns the numerics.","responsibilities_text":"Pillar 1 Simulation Engine\n• Build and maintain high-performance simulation code for open and closed quantum systems.\n• Own the differentiable simulation and automatic differentiation layer.\n• Drive performance. This code runs inside optimisation loops and speed decides what is possible.\n• Maintain and extend the Julia core and its Python interface.\nSuccess Metrics and KPIs: simulation accuracy against measurement, runtime performance, API stability.\nPillar 2 Model Learning and Optimisation\n• Implement parameter inference and model learning from experimental data.\n• Work on neural-network approaches to PDE solving and equation discovery.\n• Benchmark against established academic tools and publish the comparison.\nSuccess Metrics and KPIs: benchmark results, methods adopted by the research group, publications.\nPillar 3 Research Collaboration\n• Work with Constructor University faculty on joint research and grant applications.\n• Supervise graduate students and interns working on the engine.\n• Contribute to course material on numerical simulation and machine learning for physics.\nAccountability: research collaborations initiated and sustained; students productive.","requirements_text":"Experience\n• PhD or equivalent in physics, applied mathematics or computational science.\n• Strong scientific computing in Julia, Python, JAX or comparable.\n• Real numerical depth: ODE solvers, optimisation, stochastic processes, automatic differentiation.\n• Published work, or code that others rely on.\nSkills & Competencies\n• Able to take a method from a paper and make it fast, tested and usable.\n• Comfortable owning code quality, not only correctness.\n• Interest in supervising students alongside the engineering.\n• Clear technical writing.\nEducation & Languages\n• PhD in physics, applied mathematics or computational science.\n• Fluent English.\nWhat This Role Is (and Is Not)\nThis role IS\n• A research-grade engineering role with a product at the end of it.\n• Central to the group's core technical asset.\n• A role with a route into teaching and supervision if you want it.\nThis role is NOT\n• A pure research position without delivery.\n• A general software engineering role.\n• A role where someone else owns the numerics.","status":"open","duplicate_of":null,"first_seen":"2026-11-04T01:52:44.757059+00:00","responsibilities_summary":null,"requirements_summary":null,"all_tools":["Julia","Python","JAX"],"posting_language":"en","evidence":[{"language":"english","requirement":"required","quote":"Fluent English.","source":"rules"}],"years_experience_max":null,"mobility_evidence":[],"model_version":"rules-8","english_badge":"English required","company_id":3757}