Rejoignez Lookout, une entreprise leader dans la sécurité de l'endpoint à l'cloud, dédiée à la protection de notre avenir numérique dans un monde où la mobilité et le cloud sont essentiels tant pour le travail que pour les loisirs. Notre mission est de permettre aux consommateurs et aux employés de protéger leurs données tout en garantissant la confidentialité et la confiance. Lookout est utilisé par des millions d'utilisateurs, des grandes entreprises, des agences gouvernementales et des partenaires comme AT&T, Verizon, Vodafone, Microsoft, Google et Apple.
Basée à San Francisco, Lookout possède également des bureaux à Amsterdam, Boston, Londres, Sydney, Tokyo, Toronto et Washington, D.C. Nous exploitons un vaste ensemble de données sur la sécurité mobile et plus de 100 brevets accordés pour alimenter notre Lookout Security Cloud, qui prend en charge une large gamme de produits et services, formant le cœur de nos avantages compétitifs en matière de sécurité mobile.
Nous recherchons un Senior Software Engineer pour rejoindre notre équipe d'ingénierie des données. Vous travaillerez sur une plateforme qui traite des centaines de millions d'événements de sécurité quotidiennement, soutenant l'analyse en temps réel et ad hoc par des chercheurs et des analystes à la recherche de nouvelles menaces mobiles. Vos ensembles de données seront essentiels pour des fonctionnalités de produits telles que les tableaux de bord de données et la détection des menaces. Nous recherchons des ingénieurs ayant une expertise en données et en infrastructure, qui sont enthousiastes à l'idée de travailler sur les deux.
- Collaborer avec des équipes interfonctionnelles pour analyser les exigences et atteindre les objectifs de qualité et de délais.
- Concevoir, implémenter et maintenir des systèmes fiables pour stocker, transformer et analyser de grands ensembles de données, y compris les modèles de données, les processus ETL et les solutions d'intégration de données utilisant les technologies Java ou des frameworks connexes.
- Gérer l'infrastructure pour le traitement et le stockage des données en batch et en streaming, y compris les outils CI/CD, la mise à jour des systèmes, les mises à niveau, la surveillance et l'analyse des performances.
- Développer des applications Java évolutives, de haute qualité et maintenables en utilisant les meilleures pratiques de l'industrie.
- Concevoir et implémenter des composants backend en utilisant les technologies Java.
- Écrire du code propre, efficace et bien documenté.
- Effectuer des tests unitaires, déboguer et résoudre les problèmes pour assurer la fiabilité et les performances des applications.
- Se tenir à jour sur les technologies émergentes et les tendances du développement Java pour améliorer nos produits logiciels.
- Diplôme de licence en informatique, en ingénierie ou dans un domaine connexe.
- Minimum de 7 à 10 ans d'expérience pratique dans le développement Java.
- Maîtrise du langage de programmation Java, y compris le Java Collections Framework, le multithreading, la concurrence et les performances, ainsi que des frameworks connexes comme Spring et Hibernate.
- Expérience dans la conception, l'architecture et la mise en œuvre d'architectures de microservices et de modèles de messagerie.
- Expérience des systèmes de traitement des Big Data, y compris la mise en place de pipelines de données, l'analyse des flux de données et la transformation des données. Les technologies pertinentes incluent Spark, Splunk, Kafka, Logstash, Airflow et Storm.
- Maîtrise du cycle de vie de développement logiciel Agile, des systèmes de contrôle de version tels que Git ou Bitbucket, des revues de code et des outils d'intégration continue.
- Excellentes compétences en résolution de problèmes et attention aux détails.
- Solides compétences en communication et en collaboration.
- Expérience avérée dans le développement d'applications Java évolutives et performantes.
- Forte compréhension des principes de programmation orientée objet et des modèles de conception.
- Capacité à traduire des exigences commerciales complexes en solutions techniques.
- Familiarité avec les technologies de conteneurisation comme Docker et les outils d'orchestration tels que Kubernetes.
- Connaissance des meilleures pratiques de sécurité et expérience des techniques de codage sécurisé.
- Expérience dans