Détails du poste
- Lieu de travail : Montreal
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 s’appuient sur des concepts mathématiques avancés afin d’analyser des images et de générer des modèles 3D réalistes à partir de données du monde réel.
Vous travaillerez avec les recherches les plus récentes en intelligence artificielle, vision par ordinateur et infographie, contribuant à des produits innovants et à fort impact.
Vous gérerez le code à l’aide de Git et déploierez/testerez vos solutions sur des plateformes infonuagiques, en exploitant des données géospatiales à grande échelle afin de créer du contenu 3D destiné aux utilisateurs finaux.
- Implémenter en C++ des algorithmes de base en apprentissage automatique, vision par ordinateur et modélisation procédurale (inverse)
- Appliquer des techniques mathématiques telles que l’algèbre linéaire, les probabilités et la géométrie
- Intégrer des recherches de pointe dans des systèmes prêts pour la production
- Collaborer avec la direction afin de traduire la vision produit et 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 le code sur des ensembles de données géospatiales à grande échelle
- Travailler avec des environnements distants via un shell Unix (ex. : bash)
- Contribuer à la création de contenu 3D destiné aux utilisateurs finaux
Qualifications
- Bachelor’s Degree in Computer Science, Engineering, Mathematics, or a related field
- 5+ years of relevant industry experience in a fast paced, high growth tech environment, with demonstrable experience as a solutions-based leader in your domain
- 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.
Qualifications:
- Baccalauréat en informatique, génie, mathématiques ou dans un domaine connexe
- Plus de 5 ans d’expérience pertinente dans un environnement technologique dynamique et en forte croissance
- Expérience démontrée comme leader technique orienté solutions dans votre domaine
- Excellentes aptitudes pour le travail d’équipe et la collaboration
- Solides compétences en communication, incluant la capacité de vulgariser des concepts techniques complexes
- Expérience confirmée dans la conception et le développement de systèmes performants en C++, avec un accent sur l’évolutivité, l’efficacité et la gestion des ressources
Qualifications souhaitées
- Bonne connaissance des standards modernes du C++
- Solide base en algèbre linéaire, probabilités et géométrie
- Expérience avec Git ou d’autres systèmes de gestion de versions (ex. : Mercurial)
- Aisance dans des environnements Linux et macOS
- Bonne maîtrise des environnements shell 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 de compilation
- Excellentes capacités d’analyse, de résolution de problèmes et souci du détail
Additional Information
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