Launch Legends
Domino's
Ingénieur Logiciel Senior - Développement Android
Description de l'entreprise
Domino’s Pizza, qui a débuté en 1960 comme un seul magasin à Ypsilanti, MI, a eu beaucoup à célébrer récemment : nous sommes une marque redéfinie, redynamisée, axée sur l'honnêteté, la transparence et la responsabilité – sans oublier, la bonne nourriture ! Dans notre ascension pour devenir un véritable leader technologique, la marque est maintenant constamment parmi les cinq premières entreprises en transactions en ligne et 65% de nos ventes aux États-Unis sont réalisées via les canaux numériques. La marque continue de « livrer le rêve » aux propriétaires de petites entreprises, dont 90% ont commencé comme livreurs et préparateurs de pizzas dans nos magasins. Ce n'est que la partie visible de l'iceberg… ou comme nous pourrions dire, une « part » du gâteau ! Si cela vous semble être une marque à laquelle vous aimeriez participer, envisagez de rejoindre notre équipe !
Description du poste
Salaire- 120-130k de base
Toutes vos informations seront gardées confidentielles conformément aux directives EEO.
Catégorie d'emploi Org : Domino’s Technology
Nom du lieu - Code du lieu : Domino's Pizza LLC-WHQ
Un Ingénieur Logiciel III démontre sa maîtrise de la technologie concernée. Il développe avec une orientation plus externe – englobant d'autres équipes et la manière dont le logiciel interagit avec d'autres parties de l'organisation. Il maîtrise le langage de programmation et la bibliothèque principale, y compris ses parties les plus complexes, de nombreuses bibliothèques tierces, et les outils autour du développement, de la compilation, du débogage, des tests et du déploiement d'applications. Il comprend, à un niveau modéré, tous les composants qui constituent le système et leurs interrelations et modèles de communication. Il peut utiliser ces connaissances pour développer des sous-systèmes complexes en utilisant les principes qu'il a appris et en tenant compte des idiomes et des modèles déjà présents dans le code et l'équipe. Il a une compréhension approfondie du sous-ensemble de composants sur lesquels il travaille et peut encadrer les développeurs moins expérimentés dans la conception de leur code et de l'écosystème de développement plus large utilisé au sein du projet. Un Ingénieur Logiciel III est censé écrire constamment du code de haute qualité, de complexité moyenne à élevée, en temps voulu. Cela inclut la prise en compte de choses comme la performance, la maintenabilité et la sécurité. De plus, il est censé maîtriser toutes les normes, pratiques, directives et idiomes de l'équipe et les appliquer lors du codage.
Développement - 80%
- Contribue à la définition des normes de codage organisationnelles
- Produit des estimations pour ses tâches assignées et participe à l'estimation pour des initiatives plus importantes, y compris la planification de projet initiale
- Produit du code performant avec un accent particulier sur la stabilité et la maintenabilité à long terme
- Favorise la réutilisabilité du code en recherchant des opportunités de réutilisation entre les équipes/systèmes
- Produit du code qui est adéquatement testé unitairement et répond aux exigences des tests système/d'intégration
- Responsable de la documentation de son code et de la documentation externe d'un système ou d'un projet
- Participe à la conception de composants entiers et à l'interaction entre les composants
- Soutient l'équipe de gestion de projet dans la décomposition des exigences métier en tâches individuelles
- Compréhension approfondie des bibliothèques et des composants courants (frameworks)
- Un relecteur clé des PR pour son équipe de projet
- Participe à l'implémentation initiale de nouveaux modèles
- Support de première ligne pour les systèmes de production - dépannage/triage
- Peut participer aux entretiens
Mentorat - 20%
- Soutient les développeurs en répondant aux questions conceptuelles et techniques des membres de l'équipe
- Aide les développeurs à améliorer la maintenabilité, la performance et la sécurité de leur code grâce aux revues de code
- Assure un mentorat dédié aux membres nouveaux ou inexpérimentés de l'équipe (par ex. candidats en rotation, nouveaux employés ou nouveaux membres d'une équipe)
Qualifications
Qualifications d'application native
- + de 7 ans d'expérience globale en développement utilisant un langage orienté objet
- Expert en Kotlin et/ou Swift
- Expertise démontrable avec XCode et/ou Android Studio
- Expérience démontrable avec Java et/ou Objective-C.
- Expérience démontrable dans la consommation de services web Restful JSON
- Expérience démontrable avec le développement Agile et les tests unitaires.
- Expérience démontrable avec les notifications push, les services de localisation.
- Expérience démontrable avec des outils de build comme Gradle et Fastlane
- Expérience démontrable avec des frameworks d'analyse tels que Firebase, Adobe ou similaires
- Expérience avec divers modèles d'architecture comme MVC, MVVM, VIPER, ou similaires
- Expérience avec des outils de gestion des dépendances comme Cocoapods, le gestionnaire de paquets Swift, Gradle
- Expérience avec des frameworks d'accessibilité
- Expérience avec des outils de profilage et de débogage de code
- Expérience dans la soumission et la publication d'applications via les app stores.
Qualifications générales
- Maîtrise des méthodes/modèles de conception (par ex. DRY, SOLID, ReST) et de leur application pratique
- Excellent esprit d'équipe avec de bonnes compétences en communication avec les collègues non techniques et techniques
- Très motivé et animé par le désir de résoudre des problèmes difficiles et d'apprendre de nouvelles technologies
- Expert dans l'écriture de tests unitaires de qualité
- Expert avec les outils de build et de débogage
- Maîtrise des outils de profilage
- Expérience avec des systèmes d'intégration continue comme Jenkins/GitHub
- Expérience avec le développement logiciel international (prise en compte multilingue, multidevise, géographique et locale)
- Maîtrise de MacOS, Unix et Linux
- Expérience avec les concepts de base de données (requêtes, modèles de données)
- Compréhension du développement dans un système distribué
- Compréhension des concepts réseau de base comme le protocole http et son utilisation
- L'expérience avec Docker, ou une technologie de conteneur équivalente, est préférée
- L'expérience avec les pratiques et outils agiles est préférée (Jira ou similaire)
Informations supplémentaires
- Avantages : • Jours fériés et congés payés
- Avantages médicaux, dentaires et de vision qui commencent dès le premier jour d'emploi
- Soutien en santé mentale gratuit pour l'employé et ses dépendants
- Réductions sur les frais de garde d'enfants
- Programmes gratuits de remise en forme, de nutrition et de bien-être
- Avantages pour la fertilité
- Aide à l'adoption
- Contributions de contrepartie de 401k
- 15% de réduction sur le prix d'achat des actions
- Bonus d'entreprise
