Tech Stack
Tag name is followed by "@" symbol and proficiency level value.
About proficiency levels:
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
AI @ 4
Agile @ 4
Algorithms
CI/CD @ 4
CUDA @ 6
Communication @ 7
Debugging @ 6
GPU @ 4
Jira @ 4
MPI @ 6
Mathematics @ 4
Parallel Programming @ 6
Performance Optimization @ 4
Product Management @ 4
Project Management @ 4
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
Details
We are looking for software engineers to join our development efforts in cuDSS, a CUDA library for direct solvers for sparse linear systems.
In this role, you will work together with other developers in crafting algorithms and kernels for direct sparse solvers. Ideal candidates will not only have experience developing and optimizing accelerated computing kernels, but also demonstrate dedication to advancing the state-of-the-art in a variety of accelerated computing domains.
Responsibilities
- Designing, implementing, and optimizing direct sparse solvers for existing and future GPU architectures
- Working with library engineers, QA engineers, and interns on all library development aspects from design to implementation and test to release and support
- Working closely with product management and other internal and external partners to understand feature and performance requirements and contribute to the technical roadmaps of libraries
- Finding and realizing opportunities to improve library quality, performance, and maintainability for sparse linear algebra libraries through re-architecting and establishing innovative software development practices
Requirements
- PhD or MSc degree in Computer Science, Computational Science and Engineering, Applied Mathematics, or related science or engineering field (or equivalent experience)
- 5+ years of overall experience developing, debugging, and optimizing high-performance numerical software using C++ and parallel programming; ideally using CUDA, MPI, OpenMP, OpenACC, pthreads, or equivalent technologies
- Strong fundamentals in floating-point arithmetic, numerical analysis, and implementation of sparse linear algebra primitives like matrix-vector and matrix-matrix products and triangular solves
- Experience in developing, maintaining, and testing scientific computing libraries
- Strong collaboration, communication, and documentation habits.
Ways to stand out from the crowd
- Familiarity with techniques in direct solvers such as reordering, multi-frontal factorizations, supernodal factorizations, numerical pivoting strategies, and iterative refinement
- Good knowledge of CPU and/or GPU hardware architecture and low-level GPU performance optimization
- Experience with adopting and advancing modern methods in software engineering such as CI/CD systems, project management tools such as JIRA, and AI agents
- Understanding of large-scale computing technologies such as PDE solvers, eigenvalue solvers and time-domain simulation methods (e.g., CFD, FEA)
- Working experience in a globally distributed and agile organization
Your base salary will be determined based on your location, experience, and the pay of employees in similar positions. The base salary range is 184,000 USD - 287,500 USD for Level 4, and 224,000 USD - 356,500 USD for Level 5.
You will also be eligible for equity and benefits.
Applications for this job will be accepted at least until June 13, 2026.