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
Communication @ 6
Deep Learning @ 4
Distributed Systems @ 4
GPU @ 4
JAX @ 4
Machine Learning @ 4
PyTorch @ 4
Python @ 6
TensorFlow @ 4
scikit-learn @ 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
NVIDIA is hiring senior engineers to develop its AI platform, and more specifically its performance optimizations in deep learning frameworks using JAX. JAX differentiates between Python control code and NumPy code. The goal is to deliver a polished, fast, modular, and coordinated platform to handle data, training, and analysis for a wide range of deep learning solutions using JAX. To achieve this and provide an excellent user experience, you have strong programming skills and excellent system design skills.
Come join us to build the next generation of tooling that will advance the numerical computing and machine learning research around the world.
Responsibilities
- Play meaningful role in NVIDIA's effort in contributing to JAX.
- Design and implement JAX core components and drive peak performance on NVIDIA products.
- Work with AI applied researchers and leaders to build future-proof models.
- Build tools that will increase the efficiency of teams developing AI-based systems.
- Work to bridge the gap between the latest in numerical computing, simulation and deep learning research and their applications in real world products.
Requirements
- BS in Computer Science or Computer Engineering or related field (or equivalent experience).
- 6+ years relevant experience.
- C/C++ and Python programming.
- Experience with machine learning frameworks and their internals (e.g. PyTorch, TensorFlow, scikit-learn, etc.).
- Proven ability developing customer-facing solutions, balancing feature requests and bugs.
- Proven technical foundation in CPU and GPU architectures, numeric libraries, modular software design.
- Highly motivated with excellent verbal and written communication skills.
- Ability to work successfully with multi-functional teams, principles and architects. Coordinates effectively across organizational boundaries and geographies.
Ways to stand out from the crowd
- Understanding of JAX, Autograd, tracing, code generation and DSL compilers and their design.
- Understanding of deep learning training in distributed contexts: multi-GPU, multi-node, synchronous vs asynchronous.
- Background with software shipping cycles (dev, deploy, release, CI).
- Experience building distributed systems and services at large scale.
Compensation
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 292,500 PLN - 507,000 PLN for Level 4, and 375,000 PLN - 650,000 PLN for Level 5.