Software Developer

Job Number: 16550

Hours: Full Time

Date: September 12, 2018

We are seeking an eclectic, engaged and highly motivated software developer to work at the MIT Plasma Science and Fusion Center (MIT-PSFC). The job would entail software development, deployment and maintenance along with system management and support for users engaged in fusion energy research.The range of tasks is quite broad, and a willingness to innovate, learn, identify needs, and propose solutions is a central part of the job. We do not expect candidates to arrive with all of the languages and skills listed below.

The PSFC is adding staff to work on the new SPARC project, pursuing the development of practical fusion energy. Its goal is to be the first controlled fusion experiment to produce net energy. Successful applicants will have the opportunity to work on one of the most challenging and important problems facing humanity. More information on this project can be found at http://www.psfc.mit.edu/research/topics/sparc. This new and exciting project will require data acquisition, PLC control systems, real-time feedback control, timing system, databases, networking, computer and network security. The infrastructure for this experiment is being built from the ground up, providing an opportunity for the successful applicant to have a major impact. 

SOFTWARE DEVELOPMENT:

The PSFC provides core developers/maintainers for the MDSplus data system http://www.mdsplus.org/   https://github.com/MDSplus/mdsplus. The system is used at fusion science experiments around the world, as well as for several non-fusion applications. It is cross platform, and we maintain kits for various flavors of linux, windows, and macintosh.  The base libraries are written in C with APIs and tools provided in a variety of languages.  It is maintained / built /tested using github, and jenkins, with automated builds, tests and releases. We provide support and advice to the user community for both local and remote users. Adapting and enhancing the system to accommodate user needs is a key part of this job.  Most of the current MDSplus capabilities were developed in response to local requirements at user sites. The job involves working with MDSplus users both domestically and internationally, however the work is on site at MIT in Cambridge, MA.

The SPARC tokamak is a completely new project.  It will require both computer infrastructure and a wide range of new software. We will leverage commercial and existing software where possible. However, there will be many opportunities for new development, as well as enhancements to existing systems. Topic areas include real-time control, data acquisition hardware integration, data management, system management tools, and general issues in data science. We will be using MDSplus for data acquisition and data management.

SOFTWARE/HARDWARD DEPLOYMENT AND MANAGEMENT:

Computing at the PSFC is constantly evolving and part of this job is to select, configure and maintain this computer infrastructure. For example, the SPARC experiment's computers and networks will need to be chosen, deployed and managed.  As this is a new installation, we have considerable freedom in the decisions about them.  We will need networking, network security, user management, file systems, data storage, backups, etc... 

USER SUPPORT:

Researchers at the PSFC are collaborating on both domestic and international fusion experiments. The environment is very hands on, with researchers configuring their own data acquisition equipment and analysis software. Locally using MDSplus, users procure and configure their own data acquisition equipment. The computer group provides help and advice, as well as customizations of MDSplus to support their needs. The researchers write their own data analysis, data acquisition setup GUIs and computer models.  The computer group provides help and advice for these activities.

EDUCATION AND EXPERIENCE:

Required: Bachelor’s degree in computer science or related field with at least 5 years relevant experience.

Desired: Master’s degree in computer science or related field.

Will consider less experienced candidates, depending on qualifications.

SKILLS:

  • Required
    • Professional Communication Skills
    • Computer security / Network Security
  • Looking for a significant subset of:
    • Computer Languages
      • Python
      • Javascript
      • Server Side (node,..)
      • Client Side (VueJS,...)
      • C
      • C++
      • Modern Fortran
      • Java
      • linux shell
      • php
    • Tools
      • git
      • automake
      • jenkins
      • docker
      • gdb
      • pdb
      • Real-time programming
      • FPGA Development
      • IEEE-1588
    • Linux System Management
      • RedHat
      • Ubuntu
      • automated deployment

 

Salary Range: $85,000–$110,000


Resumes should be submitted with a cover letter specifically addressing why the applicant feels qualified for this position. Resumes without an acceptable cover letter will not be considered. Please apply for this position on the Careers at MIT website.