B&A
Domino's
Ingénieur logiciel senior - Développement Android
Description de l'entreprise
Domino’s Pizza, qui a débuté en 1960 avec un seul restaurant à Ypsilanti, MI, a eu beaucoup de raisons de 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 termes de transactions en ligne et 65% de nos ventes aux États-Unis sont réalisées via les canaux numériques. La marque continue de « réaliser le rêve » des propriétaires de petites entreprises, dont 90% ont commencé comme livreurs et préparateurs de pizzas dans nos restaurants. Ce n'est que la partie visible de l'iceberg… ou comme nous pourrions dire, une « part » du gâteau ! Si cela vous ressemble à une marque dont vous aimeriez faire partie, envisagez de rejoindre notre équipe !
Description du poste
Salaire- base de 120-130k
Toutes vos informations seront traitées de manière confidentielle 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 fait preuve de maîtrise dans 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 de développement, de construction, de débogage, de test et de déploiement d'applications. Il comprend, à un niveau modéré, tous les composants qui constituent le système, leurs interrelations et leurs 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é dans le 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 facteurs tels que 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 de l'organisation
- Produit des estimations pour ses tâches assignées et participe à l'estimation d'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 commerciales 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 développeur 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 exemple, candidats en rotation, nouveaux employés ou nouveaux membres d'une équipe)
Qualifications
Qualifications d'application native
- 7+ années d'expérience globale en développement avec 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, Swift Package Manager, 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 exemple, 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 en écriture de tests unitaires de qualité
- Expert en outils de build et de débogage
- Maîtrise des outils de profilage
- Expérience avec les systèmes d'intégration continue comme Jenkins/GitHub
- Expérience du développement logiciel international (multilingue, multidevise, géographique et prise en compte des spécificités locales)
- Maîtrise de MacOS, Unix et Linux
- Expérience des 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 de réseau de base comme le protocole http et son utilisation
- L'expérience avec Docker, ou une technologie de conteneurisation équivalente, est préférée
- Expérience des pratiques et outils agiles préférée (Jira ou similaire)
Informations supplémentaires
- Avantages : • Congés payés et vacances
- 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 401k en contrepartie
- 15% de réduction sur le prix d'achat des actions
- Bonus d'entreprise
