View all jobs

Software Developer

Batavia, Illinois

Our is America’s premier laboratory for particle physics and accelerator research, funded by the U.S. Department of Energy. We support discovery science experiments in Illinois and at locations around the world, including deep underground mines in South Dakota and Canada, mountaintops in Arizona and Chile, the Large Hadron Collider in Europe, and the South Pole.

The lab's Scientific Computing Services Department seeks a Software Developer to design, develop, and support the services and tools used to run and monitor the distributed computing batch jobs scientists run to analyze experimental data. These batch jobs are run on computing clusters both on-site at Fermilab and at labs and universities around the world, requiring a substantial supporting infrastructure and staff, with a wide array of responsibilities from networking, to cybersecurity, to datacenter administration, all of which you will work with and have exposure to, providing ample opportunities to lean new technologies and grow your career.

You will

  • Design, develop, maintain and improve new and existing services and tools that support distributed scientific computing, such as GlideinWMS, HEPCloud, Jobsub, and Landscape/FIFEmon.
  • Participate in design and development activities, coordinating with diverse groups of developers, system admins, operators, and end users.
  • Engage in high-level support and troubleshooting of the batch systems and related services, as part of a weekly support rotation primarily during working hours.

We are looking for

  • High school diploma with 3+ years of demonstrated experience developing complex software projects, or Bachelor degree in Computer Science or a related field with 1+ years of experience developing complex software projects.
  • Experience in backend/server software development in a Linux/UNIX environment with Python, Go, or similar programming languages required
  • Ability/interest to independently learn new languages, libraries, and tools required
  • An understanding of high-level communication between distributed/networked applications, data transfer, and the ability to troubleshoot them is desired
  • Experience developing in a team environment with software version control systems like git and management tools like GitHub, Jira, etc. preferred.
  • Experience with service monitoring, using tools such as Grafana, Prometheus, Elasticsearch, and Kibana desirable
  • Experience in containerization and associated management tools (Docker, OpenShift, Kubernetes, etc.) desirable
  • Experience with distributed systems, especially batch systems such as HTCondor and SLURM, a plus.
  • Ability to work in a fast-paced team environment of scientists and computing professionals.
  • Demonstrated ability to write clear and concise technical documentation with corresponding excellent oral and written communication skills in a primarily remote environment.

Physical Activity and Work Environment

Human Factors: Mental Concentration, Sitting, Standing, Tight Work Schedule

More Openings

Senior Data Engineer
Senior Data Warehouse Engineer
Senior Fullstack Engineer
Senior Software Engineer (iOS)
Open to Opportunities

Share This Job

Powered by