Startekk Inc
Ingénieur Logiciel Embarqué Senior, Pixel Core USB
QUALIFICATIONS MINIMALES
- Diplôme de licence ou expérience professionnelle équivalente.
- 5 années d'expérience en développement logiciel dans un ou plusieurs langages de programmation (par exemple, C).
- 3 années d'expérience avec les systèmes d'exploitation embarqués.
- 3 années d'expérience dans le test, la maintenance ou le lancement de produits logiciels, et 1 année d'expérience en conception et architecture logicielle.
QUALIFICATIONS PRÉFÉRENTIELLES
- Master ou Doctorat en informatique ou dans un domaine technique connexe.
- Expérience de contribution à la pile USB open source linux.
- Expérience avec le développement de systèmes embarqués basés sur Linux.
- Expérience dans la lecture de fiches techniques matérielles pour en déduire les capacités matérielles.
- Expérience avec la pile DesignWare Controller (DWC).
À PROPOS DU POSTE
Les ingénieurs logiciels de Google développent les technologies de nouvelle génération qui changent la façon dont des milliards d'utilisateurs se connectent, explorent et interagissent avec l'information et entre eux. Nos produits doivent gérer l'information à une échelle massive et s'étendent bien au-delà de la recherche web. Nous recherchons des ingénieurs qui apportent de nouvelles idées de tous les domaines, y compris la récupération d'informations, le calcul distribué, la conception de systèmes à grande échelle, les réseaux et le stockage de données, la sécurité, l'intelligence artificielle, le traitement du langage naturel, la conception d'interfaces utilisateur et le mobile ; la liste est longue et s'allonge chaque jour. En tant qu'ingénieur logiciel, vous travaillerez sur un projet spécifique essentiel aux besoins de Google avec des opportunités de changer d'équipe et de projet au fur et à mesure que vous et notre entreprise en évolution rapide grandissez et évoluez. Nous avons besoin que nos ingénieurs soient polyvalents, fassent preuve de qualités de leadership et soient enthousiastes à l'idée d'aborder de nouveaux problèmes dans le domaine du full-stack alors que nous continuons à faire progresser la technologie.
La mission de notre équipe est de construire la prochaine génération de connectivité et de charge USB (Universal Serial Bus) pour les Pixels et de permettre aux utilisateurs finaux d'utiliser les chargeurs et accessoires de première partie et de tierce partie de Google, la connectivité USB-C avec les PC hôtes tout en assurant la santé et la fiabilité du port USB-C. Notre équipe est responsable de la pile logicielle nécessaire pour offrir une expérience transparente lors de l'utilisation des ports USB de type C dans les téléphones et tablettes Pixel. C'est une opportunité unique d'expérimenter le développement de logiciels système full stack Android.
Dans ce rôle, vous dirigerez le code à travers différentes parties de la pile Android depuis le noyau Linux, le HAL, le serveur système Android jusqu'à la manipulation du matériel dans le bootloader et l'influence directe sur l'architecture du silicium. Vous travaillerez et collaborerez dans différents domaines et à chaque étape du développement, des revues de schémas à l'expérience utilisateur.
L'équipe Plateformes et Appareils englobe les divers logiciels de plateformes informatiques de Google dans différents environnements (bureau, mobile, applications), ainsi que nos appareils et services de première partie qui combinent le meilleur de l'IA, des logiciels et du matériel de Google. Les équipes de ce domaine recherchent, conçoivent et développent de nouvelles technologies pour rendre l'interaction de nos utilisateurs avec l'informatique plus rapide et plus fluide, en créant des expériences innovantes pour nos utilisateurs du monde entier.
La rémunération individuelle est déterminée par des facteurs incluant les compétences liées au poste, l'expérience et la formation ou les qualifications pertinentes.
États-Unis : $174000 - $252000 (USD) + prime cible de 15% + actions + avantages
].
RESPONSABILITÉS
- Développer des pilotes de noyau linux à partir de zéro pour activer de nouveaux contrôleurs USB et contrôleurs de type C utilisés dans la feuille de route des produits Pixel.
- Identifier et travailler avec les équipes Produit pour développer des fonctionnalités USB significatives pour l'utilisateur afin d'améliorer l'expérience produit.
- Identifier les problèmes systémiques pour l'USB et fusionner des solutions dans le flux principal de Linux qui sont plus faciles à maintenir sur plusieurs générations sur les SoC Tensor.
- Investiguer sur des architectures logicielles USB évolutives et influencer l'architecture SoC si nécessaire. Optimiser les cas d'utilisation USB pour les performances et d'autres métriques de santé du système.
- Abstraire les interfaces matérielles pour l'espace utilisateur Android, définir et livrer les couches logicielles système nécessaires (Hardware Abstraction Layer (HAL), framework Android ).
