Développeur Java senior
À distance
À plein temps
Pour le plus grand projet du secteur de la vente au détail, nous recherchons un spécialiste pour le poste de développeur Java senior.
Le spécialiste participera au développement de services backend performants pour les systèmes front-end et back-end en langages jvm (Java, Hybris) dans une architecture microservice.
Tâches attendues du spécialiste :
- écrire un code de haute qualité et compréhensible pour un système distribué, stack : Java 8, Hybris / Kafka /Redis /Solr/Postgress
utiliser et développer les frameworks existants et les bibliothèques open source
- participer directement à la formation et au développement de votre propre plateforme de commerce électronique
- participer à la création de solutions architecturales et à la conception de systèmes tolérants aux pannes et hautement chargés
- mettre en œuvre et améliorer les processus de développement dans un environnement de croissance continue de tâches complexes et de projets intéressants.
Exigences essentielles :
- Solide connaissance de Core Java (Collections, Concurrency, IO/NIO, Lamdas, Stream API)
- expérience approfondie de l'utilisation de bibliothèques utilitaires bien connues (Guava, Apache Commons, Lombok, MapStruct, Jooq, etc.) dans la résolution de problèmes pratiques.
- compréhension et expérience de l'utilisation de cadres de test (JUnit, Mockito, *Mock), culture de codage élevée, adhésion aux principes de code propre et d'architecture propre.
- compréhension et expérience des stockages SQL (MySQL) et NoSQL (Redis, Apache Solr/Elastic)
- expérience dans le réglage fin de jvm/gc et dans la résolution de problèmes de performance avec des applications java
- compréhension des structures de données et des algorithmes de base, estimation de la complexité des algorithmes à l'aide de la notation Big O
- connaissance des modèles et styles architecturaux de base, des bons principes de conception pour la conception de systèmes distribués à forte charge.
- capacité à planifier son temps, à gérer le flux des tâches et à communiquer de manière productive avec les services concernés
- capacité à décrire des solutions architecturales à l'aide d'outils standard par le biais de notations UML et à exposer clairement ses idées.
Important :
- Expérience avec Docker, Kubernetes, Jenkins, GitLab.
- Compréhension de la culture CI/CD, des pratiques devops/sre, expérience dans l'utilisation et la mise en œuvre.