About the Role
The role involves developing robust numerical methods, integrating algorithms into software frameworks, and collaborating with scientists and engineers to solve complex computational problems.
Responsibilities
- Design and implement numerical algorithms for scientific simulations
- Optimize code for performance and accuracy on high-performance computing platforms
- Collaborate with domain experts to translate mathematical models into software
- Validate algorithm outputs against theoretical and experimental benchmarks
- Debug and troubleshoot numerical instabilities and convergence issues
- Contribute to software architecture for scalable computational systems
- Document algorithm design and implementation details
- Stay current with advancements in numerical methods and computing technologies
- Participate in peer code reviews and technical discussions
- Support integration of algorithms into larger software ecosystems
- Work with large-scale datasets and numerical precision challenges
- Ensure numerical consistency across different computing environments
- Develop unit and regression tests for algorithmic components
- Assist in performance profiling and bottleneck identification
- Contribute to technical proposals and research documentation
- Mentor junior engineers in algorithm development best practices
- Adapt algorithms for parallel and distributed computing environments
- Evaluate trade-offs between numerical accuracy and computational efficiency
- Implement error analysis and uncertainty quantification methods
- Support deployment of algorithms in production-grade systems
- Collaborate on interdisciplinary projects involving physics-based modeling
- Ensure compliance with software quality and security standards
- Participate in agile development cycles and sprint planning
- Communicate technical challenges and solutions to non-specialists
- Contribute to long-term roadmap for algorithmic software development
Compensation
Competitive salary with performance-based incentives
Work Arrangement
Hybrid remote and on-site flexibility
Team
Collaborative R&D environment focused on advanced computational systems
Research Collaboration
Work closely with applied mathematicians and domain scientists to refine algorithmic approaches and validate results against real-world data.
Technology Stack
Primary languages include C++ and Python; tools include MPI, CUDA, and scientific libraries such as LAPACK and PETSc.
Security Requirements
Must be able to obtain and maintain a security clearance due to project-sensitive nature.
Available for qualified candidates