About The Role
As a core software developer, you will directly impact how scientific computing applications are executed on CPUs, GPUs to our own hardware. In this position, you will develop software for compilation, optimization, execution, acceleration, debugging, profiling, and/or integration of scientific computing applications.
Responsibilities
- Develop software in C++, CUDA or Python to optimize, compile, and/or execute scientific computing applications and numerical solutions to complex partial differential equations.
- Measure, analyze, debug, and improve the software stack that supports these models
- Integrate and deploy successful improvements into production software releases and to customers
- Manage complex software development projects
Requirements
- Strong proficiency in C/C++, CUDA and Python
- Ability to operate at multiple levels of abstraction in a complex software system
- Bachelor's degree in Engineering, Computer Science, Mathematics, Physics or related educational background. * Positions are available at all levels of seniority
Preferred Skills
- Familiarity with scientific computing methods (e.g. Finite difference, Monte Carlo, FFT)
- Strong knowledge of computer science fundamentals