Posted
Senior Software Engineer (f/m/d)
- Clean Energy
- Power Generation
- Nuclear Fusion
I’m interested
Free account · stay hidden from your current employer
Your interest is shared with employers only as an anonymized demand signal.
Introduction
As a Senior Software Engineer, you will be the primary software point of contact for the Laser team and provide technical leadership across software, hardware, and experimental-system interfaces. You will help define the architecture and technology direction for a greenfield laser-software platform while remaining hands-on in developing reliable tools for calibration, operation, human-machine interaction, and experimental data processing.
Tasks
- Act as the primary software partner for the Laser team and coordinate software activities across laser projects.
- Provide technical leadership for software initiatives, including planning, technical alignment, risk identification, and coordination with laser physicists, engineers, and systems-integration partners.
- Help define the architecture, technology choices, development practices, and interfaces for a new laser-software platform in a greenfield environment.
- Design and implement reliable software for critical laser projects, from system-level interfaces to user-facing applications.
- Develop and maintain automated calibration software that improves repeatability, reduces manual effort, and supports reliable laser operation.
- Design and build clear, dependable human-machine interfaces, dashboards, and operational tools for monitoring and operating laser systems.
- Develop software that interfaces with laser devices, diagnostic systems, cameras, and experimental equipment to support data acquisition, system monitoring, operational control, and visualization.
- Develop data-processing pipelines and data-storage solutions for experimental and operational data, including diagnostic and camera data where appropriate.
- Define robust interfaces between software, hardware, cameras, and experimental systems in an environment where requirements and technologies are still evolving.
- Work with networked device and system interfaces, potentially including TCP/IP, REST APIs, webhooks, DDS, SCADA, or comparable communication technologies.
- Write automated tests, technical documentation, and operational guidance to support long-term maintainability and safe, reliable operation.
- Identify and address reliability, performance, integration, debugging, and maintenance risks in software that interacts with real-world systems.
- Contribute to technical design discussions, code reviews, and knowledge sharing across the Software Department.
- Mentor engineers and help establish engineering practices as the software team grows.
Requirements
- You are an experienced software engineer who enjoys solving complex, ambiguous technical problems and building systems from the ground up.
- You are comfortable taking ownership of technical direction while collaborating closely with software specialists, laser physicists, experimental experts, and systems-integration partners.
- You can move effectively between technical leadership, project coordination, architecture, and hands-on implementation.
- You take ownership of the quality, reliability, testability, and long-term maintainability of the systems you build.
- You communicate clearly with both software specialists and technical partners from adjacent disciplines.
- You apply sound technical judgment when making design, implementation, and technology-selection decisions in an evolving environment.
- You are curious, adaptable, and motivated to understand how software interacts with hardware, cameras, diagnostics, and experimental systems.
- You are experienced in debugging and testing complex software and understand their importance in senior-level engineering work.
- You value constructive feedback, knowledge sharing, and mentoring other engineers.
- You are interested in developing toward technical leadership and project ownership. Formal people-management responsibility is not required at the outset.
- Strong programming experience in C++, Python, or comparable programming languages.
- Experience designing, implementing, testing, debugging, and maintaining complex software systems.
- Knowledge of software architecture, code review practices, automated testing, technical documentation, and engineering best practices.
- Experience with greenfield development, platform or architecture definition, and making technology choices where requirements are still evolving.
- Experience with automated calibration, control-adjacent software, laboratory systems, automation, or physical-device interfaces.
- Experience developing human-machine interfaces, dashboards, or software for operating technical equipment.
- Experience with camera integration, image processing, diagnostic data, or experimental data-processing pipelines.
- Experience developing data-storage solutions for high-volume, time-series, experimental, or operational data.
- Familiarity with software-hardware integration and working across experimental-system boundaries.
- Experience with networked device communication or system interfaces, such as TCP/IP, REST APIs, webhooks, DDS, SCADA, or comparable technologies.
- Familiarity with control systems or optics is beneficial, but not required; the ability to learn and collaborate across these disciplines is more important.
- Previous experience mentoring engineers or leading technical design discussions.