Job description
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
5+ years of relevant experience, ideally in the area of system programming
Experience with programming and debugging skills in Linux environment
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 in verbal and written technical English, ability to present the current status and final project deliveries
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.
وصف الوظيفة
على مدى أكثر من عقدين من الزمن، ابتكرت NVIDIA الحوسبة البصرية، فن وعلم الرسومات الحاسوبية. مع تركيز نادر على هذا المجال، نقدم منصات متخصصة لأسواق الألعاب والتصوير الاحترافي ومراكز البيانات وصناعة السيارات. عملنا في مركز أبرز الاتجاهات megatrends في التكنولوجيا - الواقع الافتراضي، الذكاء الاصطناعي والقيادة الذاتية - ولم يكن هناك وقت أمتع للانضمام إلى فريقنا من قبل.
من بين الخدمات الداخلية الأخرى، نطور ونشغل بنية بيانات وتخزين مدفوعة بمصادقة قائمة على بنية الخدمات المصغرة. نبحث عن عضو فريق جديد سيساعدنا في تحسين أنظمة المصادقة والتخزين، من خلال إنشاء خدمات مصغرة جديدة، وتحسين الموجودة، وإجراء اختبارات رجعية واختبارات الإجهاد والأداء.
ما ستقوم به:
المشاركة في عملية تصميم بنية أنظمتنا الخلفية الموزعة
الصيانة وتحسين خدمات المصادقة والتفويض الحالية بالإضافة إلى تطوير خدمات جديدة (OCaml / Rust)
التواصل مع العملاء وتقديم الدعم الفني لـ APIs وحالات الاستخدام لدى العملاء
تحسين تغطية الاختبارات الوحدوية وتكاملها
المشاركة في عملية مراجعة الشيفرة البرمجية
ما نود رؤيته:
درجة في علوم الحاسوب أو هندسة الحاسوب، أو مجال ذو صلة
خمس سنوات خبرة ذات صلة، ويفضل في مجال برمجة الأنظمة
خبرة في البرمجة وتصحيح الأخطاء في بيئة Linux
فهم عميق لبروتوكولات HTTP وREST أو بروتوكولات RPC المستندة إلى HTTP الأخرى، مثل Twirp أو gRPC
خبرة بمفاهيم وهياكل الشبكات متعددة الخيوط وغير المتزامنة (NodeJS, Akka, Tornado, Erlang/OTP, Rust/Tower)
عادة قوية للتحقق من عملك وتوثيقه
فهم عملية النشر وشبكات العمل في Kubernetes
مهارات تواصل ممتازة شفهيًا وكتابيًا باللغة الإنجليزية التقنية، والقدرة على تقديم الوضع الحالي وتسليمات المشروع النهائية
طرق تميزك عن الآخرين:
خبرة عملية مع Cassandra أو قواعد بيانات مشابهة والفضول العام حول الأنظمة الموزعة والخوارزميات
فهم لكيفية عمل البروتوكولات الحديثة مثل OAuth وOIDC. الخبرة في Active Directory وLDAP ستكون إضافة كبيرة.
سجل حافل في بناء أنظمة آمنة تتعامل مع بيانات حساسة
القدرة على تصحيح الشيفرة وتوجيه الأداء على Linux: perf، tcpdump / Wireshark، strace، Valgrind، وغيرها
فهم نمط البرمجة الوظيفية وأنظمة الأنواع الثابتة القوية (معرفة ذات صلة بـ Haskell، OCaml، F#، Scala، Rust، وغيرها)
مع رواتب تنافسية للغاية وحزمة مزايا شاملة، تعتبر NVIDIA على نطاق واسع أحد أصحاب العمل الأكثر رغبة في عالم التكنولوجيا. لدينا بعض ألمع وأبرز المواهب على الكوكب يعملون لدينا، وبسبب النمو غير المسبوق، فرق الهندسة من الطراز الأول لدينا تنمو بسرعة. إذا كنت مهندسًا مبدعًا ومستقلًا ولديك شغف حقيقي بالتكنولوجيا، نود سماعك.