This job is located at the DIII-D National Fusion Facility at General Atomics in San Diego. Fusion is the perfect energy source to produce high power electricity with no environmental impacts and uses deuterium, a 200 million year supply, from seawater to produce energy. The highly technical team at DIII-D leads the world in its fusion control development focused on taming this 150 million degree C plasma.
The Plasma Control System (PCS) controls fusion device plasmas around the world. The original version, created at the DIII-D fusion device, is exported to many of the other worldwide fusion devices for the control of plasma. Real time computing along with artificial intelligence and machine learning codes are used to grow the PCS control capabilities.
This opening is for a Computer Programmer to create and maintain internal software programs for the DIII-D fusion reactor control. The ideal candidate has a strong background in software development and programming. He or she will use the Linux operating system and associated hardware.
PCS Programmer responsibilities:
- Work with the DIII-D Real Time Systems
- Code and test programming for in-house software programs
- Debug code for existing programs based on immediate needs
- Document program codes for users and staff
- Conduct end-user training upon completion of software when needed
- Balance workday between multiple projects and respond immediately to tech support requests from staff during machine operations (typically 12-18 weeks per year)
- Collaborate with the team in development, deployment, integration, testing, and maintenance of the scientific algorithms and surrounding infrastructure making up the Plasma Control System (PCS)
- Troubleshoot system bugs and issues
- This assignment also involves working with hardware and low-level drivers
- Other duties as needed
- BS in Computer Engineering with minimum 7 years’ experience
- 1-2 years experience python scripts
- 1-3 years experience interfacing MATLAB with C
- Fluency in C, C++, and Fortran, experience with latest language standards desirable
- Knowledge of the CentOS and GNU/Linux
- Fundamental understanding of build systems using plain GNU Make (not autotools or CMake), including compilers (both GCC and Intel)
- A detailed demonstration of software development quality (provide either public FOSS contributions or a private portfolio) project quality standards
- Ability to work with others and contribute to a larger team effort across several time zones as needed.
- Experience in working with legacy codes in debugging and modifying large and complex applications.
- Experience with IDL and the ability to create graphical widgets
- FPGA and/or GPU programming
- Familiarity with Google G Suite environment
- Experience with NoMachine as a daily use platform
- Knowledge and use of RedHawk and NightStar
- Experience with Real Time systems
Expected travel for conferences: 1-2 weeks per year; Normal working hours, but flexibility to accommodate lab test times or off-site collaboration (expected during the 2nd and 3rd years) (nights, weekends) required when needed.
Lift up to 50 pounds, ability to run cables under a raised floor or along a dropped ceiling, ability to stand for long periods of time (when needed), ability to sit at a computer for extended periods (most frequent).
Princeton University is an Equal Opportunity/Affirmative Action Employer and all qualified applicants will receive consideration for employment without regard to age, race, color, religion, sex, sexual orientation, gender identity or expression, national origin, disability status, protected veteran status, or any other characteristic protected by law. EEO IS THE LAW
Please be aware that the Department of Energy (DOE) prohibits DOE employees and contractors from participation in certain foreign government talent recruitment programs. All PPPL employees are required to disclose any participation in a foreign government talent recruitment program and may be required to withdraw from such programs to remain employed under the DOE Contract.