user avatar

Scientific Software Engineer

Riverside Research

Posted today

Job Requirements

Champaign, IL
Top Secret/SCI Polygraph Unspecified
Career Level not specified
$95,000 - $200,000

Job Description

Riverside Overview

Riverside Research is an independent National Security Nonprofit dedicated to research and development in the national interest. We provide high-end technical services, research and development, and prototype solutions to some of the country's most challenging technical problems.

All Riverside Research opportunities require U.S. Citizenship.

Position Overview

Riverside Research's Applied Mathematics and Physics Solutions Division is seeking an experienced Scientific Software Engineer to join our team in developing our high-performance computing (HPC) electromagnetic analysis simulation toolset. The candidate will add new features to our codebase and modernize some of the legacy sections. Our developers are involved in all phases of the software development lifecycle, including requirements analysis, design, coding, testing, debugging, documenting and peer-reviewing other team members' code. Our software product is a state-of-the-art computational electromagnetic (CEM) tool for the defense industry, where efficiency and high-performance really matter. You will collaborate closely with our diverse team of physicists, engineers, mathematicians and developers. We expect our developers to be knowledgeable in algorithm design, code efficiency, compiler optimization, high-performance computation, parallel programming and be able to follow software development best practices.

Responsibilities

  • Design, implement, optimize, and maintain HPC CEM applications written in C++, Fortran, and Python by collaborating with physicists, RF engineers, and applied mathematicians.
  • Implement new features and correct known issues while participating in all stages of the software development lifecycle, including requirements analysis, software architecture definition, design reviews, code reviews, and continuous integration testing.
  • Produce robust and scalable software designs that balance today's requirements with expectations of future needs.
  • Optimize code performance with your knowledge of parallelization, vectorization, compilers, code profilers, scalability testing, algorithm efficiency, and design patterns.
  • Develop new and port existing code to execute on graphics processing units (GPUs).
  • Perform analysis of alternatives when multiple solutions exist and present them to users.
  • Create and maintain user and developer documentation.
  • Keep up to date with state-of-the-art software engineering practices.
  • Follow the organization's established code development standards and practices.
  • Other duties as assigned.


Qualifications

Required Qualifications:
  • Ability to obtain and maintain a TS/SCI security clearance.
  • Experience programming and debugging non-trivial projects in low-level languages such as C, C++, or Fortran.
  • Demonstrated ability to build and maintain complex production-quality software.
  • Experience working with one or more of the following:
    • HPC/supercomputing;
    • Code optimization;
    • Computer simulation;
    • Physics-based modeling and simulation; or
    • Scientific computing.
  • Excellent communication skills and ability to work in and with a team.
  • Education and Experience:
    • Degree in Computer Science, Computer Engineering, or a related field with software development experience.
    • Bachelor's with 5+ years of experience, or
    • Master's with 2+ years of experience, or
    • PhD with 0 years of experience
    • Relevant years of experience may be substituted in lieu of a degree.
  • A willingness to learn and perform other duties as assigned.
  • Ability to travel (less than 10%).

Desired Qualifications:

  • Expertise in C++11 and newer.
  • Familiarity with HPC/supercomputing: MPI, OpenMP, multi-threading, and GPUs.
  • Familiarity with developing cross-platform (Windows and Linux) software.
  • Familiarity with Python or other similar high-level languages.
  • Familiarity with CMake and CTest.
  • Familiarity with 3D data visualization.
  • Familiarity with radiofrequency (RF) and radar system concepts such as fields, antenna patterns, radar cross section (RCS), range profiles, and similar.
  • Experience with numerical algorithms and techniques for scientific software applications.
  • Experience with Atlassian tools (Jira, Bitbucket, Bamboo, and Confluence) and git.


Global Comp

$95,000 - $200,000 This represents the typical compensation range for this position based on experience, location and other factors.

Closing Statement

Riverside Research Institute is a not-for-profit, technology-oriented defense company, where service to our customers and support of our staff is our overall mission. Riverside is an affirmative action-equal opportunity employer and complies with all applicable federal, state, and local laws regarding recruitment and hiring. Riverside offers comprehensive compensation and benefit packages to our employees.
Riverside bases its employment decisions solely on technical experience, qualifications and other job-related criteria related to our organizational purpose as a not-for-profit company, and without regard to race, color, religion, age, sex marital status, sexual orientation, national origin, physical or mental disability, veteran's status or any other status legally protected by applicable federal, state, and local law.
group id: 10184231

Similar Jobs


Job Category
IT - Software
Clearance Level
Top Secret/SCI