Senior Software Engineer - Image and Data Processing Libraries
At a glance
Senior Software Engineering role at NVIDIA. Remote, Poland · full-time · PLN 375,000–PLN 650,000 base.
techroles summary, based on the employer's posting.
What you'll do
- Build and tune scalable libraries for numerical methods, measuring algorithm performance across different hardware architectures
- Work with product managers and internal and external partners to clarify feature needs and performance targets
- Shape technical plans for the libraries and guide the engineers working with you
- Find ways to speed up libraries and simplify their design to reduce future maintenance
What you bring
- At least twelve years developing, debugging and tuning parallel numerical applications, including GPU work with CUDA
- Strong C and C++ programming ability, with sound software design skills
- A track record of leading software projects through to completion
Who this fits
This senior role suits an experienced engineer focused on high-performance numerical software and GPU acceleration. The position is remote in Poland.
From the employer
Join our multidisciplinary team and help build and improve GPU and CPU accelerated software libraries. Projects like nvComp, NPP, nvJPEG, nvJPEG2000, nvTIFF, nvImageCodec are used in all kinds of processing workflows and support NVIDIA's vision and growth.
Starting from powering AI, data analytics, image processing, computer vision, and scientific simulations for leading commercial and academic organizations worldwide. In this role, you will design, develop, and optimize pioneering algorithms. Ideal candidates will have experience with accelerated computing and a passion for advancing the state-of-the-art in various computing domains. If this sounds exciting, we would love to meet you!
What you’ll be doing:
developing scalable library software using modern tools and languages for various numerical method
performance tuning, optimization, and benchmarking of algorithms on various architectures.
working closely with product management and other internal and external partners to understand feature and performance requirements and contributing to the technical roadmaps of libraries,
providing technical leadership and guidance to library engineers working with you,
find opportunities to improve library performance and abstractions that allow to re-architect code for reduced maintenance cost.
What we need to see:
PhD or MSc’s degree in Computational Science, Computer Science, Applied Math, or related science or engineering field of study is preferred (or equivalent experience).
12+ years experience developing, debugging, and optimizing high-performance parallel numerical applications on modern computing platforms, with GPU acceleration using CUDA
Excellent C/C++ programming and software design skills
Proven experience in leading and completing software development projects.
Excellent collaboration, communication, and documentation habits.
Ways to stand out from the crowd:
Good knowledge of CPU and/or GPU hardware architecture,
Experience with adopting and advancing, software development practices such as CI/CD systems and project management tools such as JIRA,
Experience with working in a globally distributed organization,
Advanced skills in debugging, profiling, and testing for accuracy and performance,
A scripting language, preferably Python.
NVIDIA is widely considered to be one of the technology world’s most desirable employers. We have some of the most forward-thinking and hardworking people in the world working for us. If you're creative and autonomous, we want to hear from you!
Your base salary will be determined based on your location, experience, and the pay of employees in similar positions. For Poland: The base salary range is 375,000 PLN - 650,000 PLN.