Siemens
Arista Networks
Ingénieur Logiciel Senior/Lead (Moteurs de transfert de paquets)
Description de l'entreprise
Arista Networks est un leader de l'industrie dans le domaine des réseaux pilotés par les données, du client au cloud, pour les grands environnements de centres de données, de campus et de routage. Ce qui nous distingue, c'est notre quête incessante d'innovation. Nous tirons parti des dernières avancées en matière de cloud computing, d'intelligence artificielle et de réseaux définis par logiciel pour offrir à nos clients un avantage concurrentiel dans un monde de plus en plus interconnecté. Nos solutions sont conçues non seulement pour répondre aux exigences actuelles du paysage numérique, mais aussi pour anticiper et s'adapter aux défis futurs. Chez
Arista, nous valorisons la diversité des pensées et des perspectives que chaque employé apporte. Nous pensons qu'il est essentiel de favoriser un environnement inclusif, où les personnes issues de divers horizons et expériences se sentent les bienvenues, pour stimuler la créativité et l'innovation.
Notre engagement envers l'excellence nous a valu plusieurs prix prestigieux, tels que Meilleure équipe d'ingénierie, Meilleure entreprise pour la diversité, la rémunération et l'équilibre vie professionnelle-vie privée. Chez Arista, nous sommes fiers de nos succès passés et nous nous efforçons de maintenir les normes de qualité et de performance les plus élevées dans tout ce que nous faisons.
Description du poste : Avec qui vous travaillerez
Avec Arista Networks recherche des ingénieurs logiciels de classe mondiale pour rejoindre notre équipe de développement de logiciels pour les moteurs de transfert de paquets (PFE) et les systèmes. En tant que membre clé de l'équipe logicielle PFE et système, vous ferez partie d'une équipe dynamique et de haut calibre construisant des logiciels pour les moteurs de transfert de paquets et les systèmes afin de gérer les ASICs de réseau les plus complexes au monde, utilisés pour construire les plus grands réseaux de centres de données de l'industrie. Votre logiciel sera un composant clé du système d'exploitation extensible (EOS) d'Arista, le système d'exploitation réseau unique d'Arista basé sur Linux, qui s'exécute sur tous les produits de réseau de centres de données d'Arista. L'équipe des moteurs de transfert de paquets et des logiciels système est responsable de tous les aspects du développement et de la livraison de notre logiciel de moteur de transfert basé sur ASIC. Vous travaillerez avec vos collègues ingénieurs pour comprendre les exigences fonctionnelles et techniques des projets à venir. Vous rédigerez des spécifications fonctionnelles, des spécifications de conception, des plans de test et le code pour concrétiser tout cela. Vous travaillerez également avec les clients pour diagnostiquer et résoudre les problèmes dans leurs réseaux. En interne, vous développerez des tests automatisés pour votre logiciel, surveillerez l'exécution de ces tests, et diagnostiquerez et résoudrez les problèmes trouvés par vos tests. Chez Arista, vous serez responsable de vos projets, de la définition au déploiement, et vous serez responsable de la qualité de tout ce que vous livrez.
Ce que vous ferez
Ce rôle exige de solides fondamentaux en ingénierie logicielle, et une bonne compréhension des moteurs de transfert de paquets basés sur ASIC, des composants matériels (tels que les capteurs de température, les contrôleurs de ventilateur, etc.), des logiciels de gestion de système de carte, de la manière dont les logiciels qui les gèrent sont implémentés, et des réseaux dans lesquels ils sont utilisés. Votre rôle ne sera pas limité à un seul aspect de la gestion des moteurs de transfert de paquets basés sur ASIC chez Arista, mais couvrira tous les aspects de la mise en service de nouveau matériel, du développement de toutes les fonctionnalités nécessitant un support de transfert matériel (y compris les pilotes matériels de bas niveau), des tests du logiciel et du matériel, et du support de nos clients utilisant les produits que vous construisez.
Responsabilités
- Rédiger des spécifications fonctionnelles et des spécifications de conception pour des fonctionnalités de moteur de transfert de paquets de petite taille et des logiciels système pour gérer les composants matériels.
- Implémenter de manière autonome des solutions à des problèmes de petite taille dans notre logiciel de moteur de transfert de paquets et notre logiciel système en utilisant les langages de programmation C, C++, et python.
- Comprendre, utiliser, tester et déboguer les bibliothèques logicielles fournies par les fournisseurs de moteurs de transfert de paquets et de composants matériels dans vos solutions.
- Rédiger des spécifications de plan de test pour des fonctionnalités de moteur de transfert de paquets de petite taille et des logiciels système, et implémenter des programmes de test automatisés pour exécuter les cas décrits dans le plan de test.
- Déboguer les problèmes trouvés par nos programmes de test automatisés et corriger ces problèmes.
- Travailler en équipe pour implémenter, tester et déboguer des solutions à des problèmes plus importants de logiciel de moteur de transfert de paquets et des problèmes de logiciel système.
- Travailler avec les ingénieurs du support client pour analyser les problèmes dans les réseaux clients et fournir des correctifs pour ces problèmes sous forme de nouvelles versions logicielles ou de correctifs logiciels lorsque nécessaire.
- Travailler avec l'équipe matérielle et les fournisseurs de composants matériels pour mettre en service les premières versions de nouveaux systèmes utilisant des moteurs de transfert de paquets et des logiciels système.
- Travailler avec l'équipe des logiciels de diagnostic pour concevoir et développer des logiciels pour la validation des nouveaux ASICs de moteurs de transfert de paquets et des composants matériels.
- Travailler avec les ingénieurs des tests système pour analyser les problèmes trouvés dans leurs tests et fournir des correctifs pour ces problèmes.
- Encadrer les nouveaux ingénieurs et les ingénieurs juniors pour les familiariser avec l'environnement de développement logiciel d'Arista.
- Examiner et contribuer aux spécifications et aux implémentations rédigées par d'autres membres de l'équipe.
- Contribuer à la création d'un calendrier pour les tâches d'implémentation et de débogage, mettre à jour ce calendrier chaque semaine et le rapporter au chef de projet.
Qualifications
Baccalauréat en informatique/génie électrique/génie informatique + 8 ans d'expérience, ou Maîtrise en informatique/génie électrique/génie informatique + 6 ans d'expérience, ou Doctorat en informatique/génie électrique/génie informatique + 3 ans d'expérience, ou expérience professionnelle équivalente
Expérience ou connaissances dans les domaines suivants :
- C ou C++
- Connaissance de UNIX ou Linux
- Compréhension des réseaux IP ou des systèmes distribués
- Compréhension appliquée des principes d'ingénierie logicielle
- Solides compétences en résolution de problèmes et en dépannage logiciel
- Capacité à concevoir une solution à un problème de petite taille et à implémenter cette solution sans aide extérieure.
- Capacité à travailler en petite équipe pour résoudre un problème de taille moyenne avec une supervision limitée.
#LI-PA1Additional Informations complémentaires
Le salaire de base pour ce poste au Canada se situe dans une fourchette de 120 000 $ à 195 000 $. Arista propose différentes fourchettes de salaires en fonction du lieu de travail, afin d'offrir une rémunération cohérente et compétitive, adaptée au marché. Le salaire de base réel proposé sera basé sur un large éventail de facteurs, notamment les compétences, les qualifications, l'expérience pertinente et le lieu de travail.
La fourchette de salaire indiquée reflète le salaire de base uniquement et, en outre, certains postes peuvent également être éligibles à des primes discrétionnaires Arista et à des actions. Les employés des postes de vente sont éligibles à participer au Plan d'incitation aux ventes d'Arista, qui prévoit des commissions calculées en pourcentage des ventes éligibles. Les employés ont également droit à des avantages sociaux, notamment une assurance médicale, dentaire, vision, bien-être, protection du revenu et un régime d'épargne-retraite collectif. L'équipe de recrutement pourra fournir plus de détails pendant le processus d'embauche, spécifiques au poste et au lieu.
