Sr. Scientific Software Developer/ C++, Python, CUDA
Location: Toronto, ON (Hybrid, 2 to 3 days onsite) Language: English, with strong written and verbal communication skills Background Check Requirement: Successful completion of a background check is required About the Opportunity We're looking for someone who bridges scientific research and software engineering. This role requires experience implementing advanced numerical algorithms in production-quality C++ software. Candidates should have a strong background in scientific computing, commercial software development, and hands-on CUDA programming. Experience converting research prototypes i…
- Hybrid
- ONTARIO
- Posted Jul 17, 2026
- Apply by Aug 16, 2026
- 1 position
Job summary
Location: Toronto, ON (Hybrid, 2 to 3 days onsite) Language: English, with strong written and verbal communication skills Background Check Requirement: Successful completion of a background check is required About the Opportunity We're looking for someone who bridges scientific research and software engineering. This role requires experience implementing advanced numerical algorithms in production-quality C++ software. Candidates should have a strong background in scientific computing, commercial software development, and hands-on CUDA programming. Experience converting research prototypes into scalable, maintainable production software is essential. What's In It for You This is an opportunity to work on meaningful engineering challenges alongside talented technical professionals in a collaborative and innovative environment. You'll gain exposure to advanced technologies, contribute to products with global impact, and be part of a culture that values continuous learning, knowledge sharing, and engineering excellence. Your Responsibilities Design, develop, and optimize high-performance numerical software using modern C++, Python, and CUDA. Translate scientific research, mathematical models, and numerical algorithms into scalable, production-ready software. Develop and optimize GPU-accelerated numerical algorithms and compute kernels using CUDA. Implement parallel computing techniques, including CUDA, multithreading, vectorization, and GPU acceleration, to maximize application performance. Collaborate closely with research scientists, mathematicians, and software engineers to transform research prototypes into robust commercial software. Profile, benchmark, and optimize computational performance, memory usage, and scalability. Design, implement, and maintain automated testing and validation frameworks to ensure numerical correctness, accuracy, and reliability. Contribute to software architecture, code reviews, technical documentation, and CI/CD practices while following modern software engineering standards. Support cross-platform software development primarily on Linux, with compatibility for Windows where required.. Skills and Qualifications 7+ years of progressive software development experience. Bachelor's degree in Computer Science, Applied Mathematics, Physics, or a related STEM discipline. Strong experience developing production numerical software in C++ including implementation of numerical algorithms, scientific computing methods, and performance-critical computation. Extensive hands-on experience developing CUDA applications - mandatory Experience with GPU programming, and parallel computing techniques is preferred. Experience working with numerical libraries such as Eigen or BLAS is preferred. Experience with Python is a nice to have. Experience developing in Linux and supporting cross-platform environments. Familiarity with performance profiling tools, GitHub Actions, CI/CD practices, and version control. Experience with OpenMP, Rust, Fortran, Google Cloud Platform, containerization, or distributed systems is considered an asset.
What you’ll do
Design, develop, and optimize high-performance numerical software using C++, Python, and CUDA. Collaborate with research scientists and software engineers to transform research prototypes into robust commercial software.
Requirements
Candidates should have 7+ years of software development experience and a bachelor's degree in a related STEM discipline. Strong experience in C++ and CUDA programming, along with familiarity with numerical libraries, is essential.
Other relevant skills
Identified from the job description. Confirm important requirements above.
- C++
- Python
- CUDA
- Numerical Algorithms
- Scientific Computing
- GPU Programming
- Parallel Computing
- Performance Profiling
- Linux
- Cross-Platform Development
- Automated Testing
- CI/CD
- Version Control
- Eigen
- BLAS
- OpenMP
Additional details
- Minimum education
- Bachelor’s degree
- Minimum experience
- 10+ years
- Apply by
- Aug 16, 2026
