Senior Algorithms and Simulation Software Engineer
Summary
Design and implement state estimation and control algorithms for real-time fusion energy systems, using Python and C++/Rust to build and validate mission-critical software.
In this role you will be responsible for the design and implementation of state estimation and control algorithms, plus models and simulation frameworks necessary to verify those algorithms. Your algorithms will be used in critical real-time applications in the SPARC project, as well as related projects.
As a member of the Software Engineering team, you will be a hands-on technical contributor. You will be a champion of writing excellent quality, production-ready code for mission-critical real-time systems. You will collect functional requirements from customers and produce software solutions to meet these requirements.
You will work with a variety of engineers to integrate your software into software testbeds, hardware testbeds, and the production tools. You will also contribute to the broader software ecosystem to improve tooling and processes used across the company.
What you'll do:
- Develop mission-critical state estimation and control algorithms
- Develop software infrastructure to operate Hardware-in-the-Loop (HITL) and software-only testbeds
- Develop simulation models and model infrastructure for both real-time and offline (high fidelity) simulations
- Develop offline data analysis tools
- Help define and execute end-to-end and other integrated test cases and test plans to validate SPARC control software
What we’re looking for:
- Bachelor's degree in a relevant engineering field (computer science, computer engineering, electrical engineering, industrial engineering, etc.)
- 7+ years relevant experience
- Professional experience writing real-time state estimation and control algorithms
- Experience with modern software development lifecycle practices (CI/CD, git version control, unit testing, integration testing, etc)
- Proficiency with Python
- Proficiency with at least one real-time control language (C++, Rust, etc)
Bonus points for:
- Experience with Hardware-in-the-Loop testbeds and software-only testbeds for validating control software
- Experience writing models to validate software
- Familiarity with Linux
- Familiarity with general networking (IP/UDP)
Must-have Requirements:
- Perform activities such as typing, standing, sitting, etc. for extended periods of time
- Dedication to safety to mitigate industrial hazards that may include heat, cold, noise, fumes, strong magnets, lead (Pb), high voltage, high current, pressure systems, and cryogenics
- Willingness to occasionally travel or work required nights/weekends/on-call
Skills
As published by lever · 6 questions · 2 written answers
Basics
Resume/CV, Full name, Pronouns, Email, Phone, Current location, Current company, LinkedIn URL, Twitter URL, GitHub URL, Portfolio URL, Other website
Short answers (1)
- If you answered “No” to the above, please provide the country or countries of which you are a current citizen or national, and if applicable, where you are currently granted lawful permanent resident status. If you answered “Yes,” please enter N/A*
Pick from a list (2)
- If offered a position at CFS, will you be able to start within 3 weeks?
- The following question is asked for the purpose of ensuring compliance with U.S. Export Control Laws. Are you one of the following: a U.S. citizen, a U.S. national, a lawful permanent resident of the U.S. (e.g. green card holder), or a protected individual as defined by 8 U.S.C. 1324b(a)(3) (e.g., a refugee or asylee)?*
Written answers (2)
- Please tell us what interested you to apply to CFS optional
- Optional: Additional information may be added in reference to a start date. optional
Attachments (1)
- Please Upload a Cover Letter optional