Software Engineer at EMBL

on-site · full time · 4713.2 · Visa sponsorship

Apply for this role at EMBL

Responsibilities:
- Own design, development and lifecycle management of the microscopy-control software platform to enable automation and streamlined workflows.
- Design and integrate software and electronic control components for new instrument capabilities, data acquisition and real-time analysis.
- Translate scientific and user requirements into maintainable control schemes and user interfaces in collaboration with engineers, physicists and biologists.
- Apply professional software-engineering practices across architecture, testing, version control, documentation, deployment and maintenance.
- Evaluate and introduce new approaches (including AI-enabled automation) to improve robustness, reproducibility and scientific value.
- Diagnose and resolve complex software–hardware integration issues, balancing performance, usability and reliability.
- Maintain records and documentation to support reproducibility, knowledge transfer and future development.
- Provide expert support to internal and external users of imaging platforms.

Requirements:
- MSc (or equivalent) in software engineering, computer science, engineering, physics or related field, or equivalent experience.
- Demonstrated experience developing maintainable software for hardware control or scientific instrumentation.
- Advanced programming skills in one or more of C++, Python, LabVIEW, Java or MATLAB.
- Experience building GUIs for instrumentation (e.g., Qt, Tk) and integrating components across processes/languages.
- Strong software-engineering practice: architecture, testing, version control (Git), documentation and long-term maintenance.
- Proven ability to collaborate across software/hardware teams and translate scientific requirements into technical solutions.
- Experience with real-time, embedded or data-acquisition systems and hardware integration is highly desirable.