Senior Embedded Software Engineer
Summary
Senior Embedded Software Engineer designing and verifying control software for fusion R&D equipment and machinery, working with real-time Linux, microcontrollers, and FPGAs using Python, C++, and Rust.
As a Senior Embedded Software Engineer, you will be responsible for the design, implementation, and verification of software and controls for advanced R&D equipment and complex machinery.
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 control software across multiple platforms, including real-time Linux, microcontrollers, and FPGAs
- Verify embedded software with Hardware-in-the-loop testbeds and field commissioning activities
- Improve software tooling to increase developer velocity and enable new capabilities
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 with embedded, real-time control systems
- Professional experience with producing production quality control software
- 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 mission or safety critical systems
- Experience with large-scale industrial systems
- Familiarity with real-time Linux
- Familiarity with bare-metal micro controllers
- Familiarity with FPGA development
- Familiarity with common I/O protocols (SPI, CAN, serial, etc)
- 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