Senior Systems Developer (C++/Python) - Développeur de systèmes senior (C++/Python)

In this role, you’ll use C++ to build important software that powers machine learning, computer vision, and 3D modeling applications. This software will rely on mathematical concepts to analyze images and create realistic 3D models based on real-world data.

You’ll get to work with the latest research in fields like artificial intelligence, computer vision, and computer graphics.

To keep track of your code and changes, you’ll use Git. You’ll also test and run your code on a cloud platform, working with large-scale geospatial data (like maps and geographic information) to create 3D content that users will eventually use.

Responsibilities include, but not limited to:

  • You will implement, in C++, core machine-learning/computer vision and (inverse-) procedural modeling algorithms, with varying levels of oversight. These algorithms rely on mathematical techniques from linear algebra, probability, and geometry.
  • Apply cutting-edge research in machine learning, computer vision, and computer graphics.
  • Work closely with leadership to understand high-level product vision and customer requirements.
  • Utilize Git for effective source code management.
  • Deploy and test your code on large scale geospatial datasets (and ultimately generate 3D content that will be available to users) This requires you to interact with remote machines via a Unix shell.

Dans ce rôle, vous utiliserez le C++ pour développer des logiciels essentiels alimentant des applications d’apprentissage automatique, de vision par ordinateur et de modélisation 3D. Ces solutions reposent sur des concepts mathématiques avancés pour analyser des images et générer des modèles 3D réalistes à partir de données du monde réel.

Vous travaillerez à l’intersection de la recherche de pointe en intelligence artificielle, vision par ordinateur et infographie, en contribuant à des produits à fort impact.

  • Implémenter en C++ des algorithmes de base en apprentissage automatique, vision par ordinateur et modélisation procédurale (inverse), avec un niveau d’encadrement variable
  • Appliquer des techniques mathématiques avancées, notamment en algèbre linéaire, probabilités et géométrie
  • Intégrer des recherches de pointe en apprentissage automatique, vision par ordinateur et infographie dans des systèmes de production
  • Collaborer étroitement avec les dirigeants pour comprendre la vision produit et traduire les besoins clients en solutions techniques
  • Utiliser Git pour la gestion du code source et le contrôle de version
  • Déployer, tester et optimiser du code sur des ensembles de données géospatiales à grande échelle
  • Interagir avec des systèmes distants via un environnement Unix (ex. : bash)
  • Contribuer à la génération de contenu 3D destiné aux utilisateurs finaux
  • Bachelor’s Degree in Computer Science, Engineering, Mathematics, or a related field
  • 3+ years of relevant industry experience in a fast paced, high growth tech environment.
  • Team-oriented and collaborative approach with a demonstrated aptitude, enthusiasm and willingness to learn new methods, tools, practices and skills
  • Strong communication skills with the ability to translate complex technical concepts into clear, accessible language for non-technical stakeholders.
  • Experience in designing and building high-performance, efficient systems using C++, with a strong focus on optimizing code for speed, scalability, and resource management.

Desired Characteristics:

  • Familiarity with modern C++ will allow you to better interface with other portions of our data ingestion and product pipeline.
  • A mathematical background covering some subset of linear algebra, probability, and geometry will also be helpful.
  • Experience with Git is preferred, but a background with Mercurial or other DVCs is an acceptable substitute.
  • Our development and production environments are Linux and macOS based. Confidence in a Unix shell environment (e.g. bash) is essential for working in our setup.
  • Problem-solving skills, attention to detail, and the ability to thrive in a fast-paced environment.
  • Experience in game technology, with expertise in areas such as Unreal Engine, C++, computational geometry, and computer graphics, driving the development of cutting-edge, high-performance gaming systems.
  • We use CMake for project management. However, for something other than vim/make or Xcode, we need a convincing demonstration that you will be able to self-support in the environment of your preference.
  • We use CMake for project management. However, for something other than vim/make or Xcode, we need a convincing demonstration that you will be able to self-support in the environment of your preference.

Qualifications

  • Baccalauréat en informatique, génie, mathématiques ou dans un domaine connexe
  • Plus de 3 ans d’expérience pertinente dans un environnement technologique dynamique et en forte croissance
  • Excellentes aptitudes pour le travail d’équipe et la collaboration
  • Solides compétences en communication, avec la capacité de vulgariser des concepts techniques complexes
  • Expérience démontrée dans le développement de systèmes performants en C++, avec un accent sur l’efficacité, l’évolutivité et la gestion des ressources

Qualifications souhaitées

  • Maîtrise des standards modernes du C++
  • Solide compréhension de l’algèbre linéaire, des probabilités et de la géométrie
  • Expérience avec Git ou d’autres systèmes de gestion de versions (ex. : Mercurial)
  • Aisance dans des environnements de développement Linux et macOS
  • Bonne maîtrise d’un environnement Unix (ex. : bash)
  • Expérience en technologie de jeux (ex. : Unreal Engine), géométrie computationnelle ou infographie
  • Expérience avec CMake pour la gestion de projets et la compilation
  • Excellentes capacités d’analyse, de résolution de problèmes et souci du détail

As part of our selection process, external candidates may be required to attend an in-person interview with an NBCUniversal employee at one of our locations prior to a hiring decision. NBCUniversal's policy is to provide equal employment opportunities to all applicants and employees without regard to race, color, religion, creed, gender, gender identity or expression, age, national origin or ancestry, citizenship, disability, sexual orientation, marital status, pregnancy, veteran status, membership in the uniformed services, genetic information, or any other basis protected by applicable law.

If you are a qualified individual with a disability or a disabled veteran and require support throughout the application and/or recruitment process as a result of your disability, you have the right to request a reasonable accommodation. You can submit your request to AccessibilitySupport@nbcuni.com.