For more than two decades, NVIDIA has pioneered visual computing, the art and science of computer graphics. With a rare focus on this field, we offer specialized platforms for the gaming, professional visualization, data center and automotive markets. Our work is at the center of the most consequential mega-trends in technology - virtual reality, artificial intelligence and self-driving - and there has never been a more exciting time to join our team.
Among other internal services, we develop and operate a globally distributed data storage and auth services based on microservice architecture. We’re looking for a new team member who will help us to improve our auth and storage systems, creating new microservices, improving existing ones, doing regression, stress and performance testing.
What you'll be doing:
Participate in architecture design process of our distributed backend systems
Maintain and improve existing authentication and authorization microservices along with developing new ones (OCaml / Rust)
Connect with customers and provide technical support for APIs and client use cases
Improve unit and integration tests coverage
Participate in code review process
What we need to see:
Degree in Computer Science, Computer Engineering, or closely related field
6+ years of relevant experience, ideally in the area of system programming
Experience with programming and debugging skills in Linux environment
Desire to learn new technologies
Deep understanding of HTTP and REST or other HTTP-based RPC protocols, e.g: Twirp or gRPC
Experience with multi-threaded and asynchronous network programming concepts and frameworks (NodeJS, Akka, Tornado, Erlang/OTP, Rust/Tower)
Strong habit to verify and document your work
Understanding deployment process and networking in Kubernetes
Excellent communication skills, ability to present the current status and final project deliveries
Upper-intermediate verbal and written technical English
Ways to stand out from the crowd:
Hands-on experience with Cassandra or similar databases and general curiosity about distributed systems and algorithms
Understanding of how modern protocols such as OAuth and OIDC work. Expertise in Active Directory and LDAP would be a big plus.
Track record of building secure systems handling sensitive data
Ability to debug and profile code on Linux: perf, tcpdump / Wireshark, strace, Valgrind, etc
Understanding functional programming paradigm and static strong type systems (relevant knowledge of Haskell, OCaml, F#, Scala, Rust, etc)
With highly competitive salaries and a comprehensive benefits package, NVIDIA is widely considered to be one of the technology world's most desirable employers. We have some of the most brilliant and talented people on the planet working for us and, due to unprecedented growth, our best-in-class engineering teams are growing fast. If you're a creative and autonomous engineer with a genuinely real passion for technology, we want to hear from you.