SanMar- External
Apple
Ingénieur Senior en Systèmes Distribués - Services Projets Spéciaux
À propos du poste
Chez Apple, les grandes idées se transforment en produits, services et expériences client phénoménaux à un rythme que peu d'entreprises peuvent égaler. Nous recherchons un ingénieur backend expérimenté pour concevoir et construire des services massivement évolutifs et hautement disponibles qui alimentent les expériences des clients Apple.
DESCRIPTION
En tant que membre senior de l'équipe d'ingénierie des services, vous construirez et exploiterez des services backend à haut débit et faible latence qui ingèrent, traitent et servent des données à grande échelle pour une gamme de charges de travail critiques, allant des transactions en temps réel à l'analyse et à la diffusion de contenu. Vous contribuerez également à faire évoluer une plateforme multi-tenant, incluant des services basés sur l'IA/ML, en déployant de nouvelles fonctionnalités, en mettant à l'échelle l'existant et en appliquant les meilleures pratiques des systèmes distribués, de la conception jusqu'à la production.
QUALIFICATIONS MINIMALES
- Master en informatique ou domaine connexe
- 8+ années d'expérience professionnelle en développement logiciel dans la construction de systèmes distribués et évolutifs en production
- Expérience dans la construction, la création et l'exploitation de systèmes distribués multi-niveaux à grande échelle et de services web orientés client : incluant la conception d'API, l'authentification, l'autorisation, la mise à l'échelle pour la haute disponibilité, la concurrence et la fiabilité.
- Solide compréhension de la concurrence et de la programmation multi-thread, des structures de données fondamentales et de la conception d'algorithmes efficaces
- Maîtrise approfondie de Java ; une connaissance pratique d'un second langage système (Go, C++) est un plus.
- Solides compétences en analyse et conception orientée objet.
- Maîtrise approfondie des frameworks d'application (Spring boot)
- Expérience pratique du réglage des performances et du profilage de la JVM - sélection/réglage du GC, JFR, async-profiler, analyse de heap/thread-dump pour les services à faible latence.
- Expérience pratique des piles JVM asynchrones et réactives : Netty, Project Reactor, RxJava, Vert.x ou Micronaut/Quarkus.
- Rigueur dans les tests avec JUnit 5, Mockito, AssertJ, Testcontainers et les tests de contrat.
- Expérience pratique de la gestion des builds et des dépendances avec Gradle
- Compréhension approfondie des modèles de cohérence transactionnelle - sémantique ACID, avec une connaissance approfondie des compromis entre les technologies de base de données relationnelles et NoSQL
- Expertise avec les E/S réseau synchrones et asynchrones et les frameworks RPC (gRPC)
- Expérience dans la construction et la maintenance de pipelines CI/CD (par exemple, Jenkins, GitHub Actions, GitLab CI, ou similaire) pour les tests automatisés, la construction et le déploiement de services en production.
- Expérience avec AWS ou GCP et les outils cloud-native (Docker, Kubernetes) dans le contexte du déploiement de services évolutifs de qualité production.
- Expérience avec les systèmes de streaming d'événements et de files d'attente (spécifiquement Kafka), les frameworks de traitement de flux, et les chemins d'écriture à haut débit en mode append-only pour des enregistrements historiques durables et interrogeables.
- Expérience pratique de l'exploitation du stockage de données (Iceberg, Cassandra) et des technologies de mise en cache (Redis) dans les services de production
- Expérience pratique des outils de sérialisation/schéma : Jackson, Protobuf, Avro et Schema Registry
- Expérience dans l'identification, le triage et la remédiation des vulnérabilités de sécurité dans les services de production (gestion des dépendances, revue de code sécurisé, modélisation des menaces).
QUALIFICATIONS SOUHAITÉES
- Autonome, doté de solides compétences en collaboration et communication, et expérience dans un environnement agile et dynamique
- Expérience avec les systèmes de machine learning, les frameworks, bibliothèques et algorithmes de ML
- Familiarité avec le déploiement et l'optimisation de services d'IA de qualité production à grande échelle nécessitant des GPU dans le chemin de la transaction.
- Expérience pratique du déploiement, du service et de l'optimisation de LLMs ou de modèles de ML directement dans le chemin de la transaction/requête
- Expérience en sécurité et cryptographie (par exemple, TLS, certificats X.509), protocoles de gestion des identités et des accès (OAuth2/OIDC/SAML), et gestion sécurisée du cycle de vie des jetons/sessions.
