Software Engineering Lead
Riverside Research Institute
- Beavercreek, OH
- Permanent
- Full-time
- Leads all aspects of the software development lifecycle including requirements, design, development, documentation, testing (validation and verification), deployment and debugging high performance CEM software applications
- Drives software quality through rigorous design reviews, peer reviews, automated testing and continuous integration. This may include developing test plans, supporting and improving our automated testing infrastructure, and performing testing.
- Architects possible improvements during the development cycle
- Contributes to and maintains software development best practices, training mate on software development best practices, structure and design theory, software documentation, release cycles and version control processes
- Collaborates with physicists, RF engineers, and applied mathematicians to translate complex models into efficient code
- Mentors junior developers and fosters a culture of scientific rigor and engineering excellence
- Stays informed of advancements in computational tools, scientific frameworks, software engineering best practices and data modeling
- Other duties as assigned
- Ability to obtain and maintain a Top Secret/SCI Security Clearance with CI poly
- Education and Experience:
- Degree in Software Engineering or closely related field with software development experience, like Computer Science or Computational Science
- Bachelor's with 8+ years of experience, or
- Master's with 6+ years of experience
- PhD with 3+ years of experience
- Relevant years of experience may be substituted in lieu of a degree.
- Strong understanding of software development methodologies (e.g., waterfall, agile), version control (Git), and continuous integration
- Previous experience working in R&D environments or collaborating with researchers
- Strong proficiency in low level scientific programming languages (e.g., C, C++, Fortran)
- Familiarity with:
- Software development on and for Linux or other Unix-like systems
- Python, Unix shell scripting and similar languages
- HPC/supercomputing: MPI, OpenMP, threading, GPUs
- Research and Development/prototyping scientific code
- Excellent communication skills and proven ability to work cross-functionally
- Ability to work independently and collaboratively with a team as projects require
- Willingness to learn and perform other duties as assigned
- Ability to travel (less than 10%)
- Active Security Clearance, TS/SCI (with poly preferred)
- Demonstrated professional proficiency with:
- Working collaboratively within a team on software development
- The full software development lifecycle (SDLC)
- Parallel programming on high-performance computers (MPI and/or OpenMP or similar)
- Developing cross-platform (Windows and Linux) software
- The Atlassian tools (JIRA, bitbucket, Bamboo)
- Additional STEM degree in physics, electrical engineering, or applied mathematics or experience developing software for scientific applications
- Familiarity with linear algebra and numerical solutions techniques or numerical algorithms
- Familiarity with electromagnetic wave theory
- Experience leading and directing the efforts of a team
- Supervisory experience