At Amaris, we strive to provide our candidates with the best possible recruitment experience. We like to get to know our candidates, challenge them, and be able to give them proper feedback as quickly as possible. Here's what our recruitment process looks like:
Brief Call: Our process typically begins with a brief virtual/phone conversation to get to know you! The objective? Learn about you, understand your motivations, and make sure we have the right job for you!
Interviews (the average number of interviews is 3 - the number may vary depending on the level of seniority required for the position). During the interviews, you will meet people from our team: your line manager of course, but also other people related to your future role. We will talk in depth about you, your experience, and skills, but also about the position and what will be expected of you. Of course, you will also get to know Amaris: our culture, our roots, our teams, and your career opportunities!
Case study: Depending on the position, we may ask you to take a test. This could be a role play, a technical assessment, a problem-solving scenario, etc.
As you know, every person is different and so is every role in a company. That is why we have to adapt accordingly, and the process may differ slightly at times. However, please know that we always put ourselves in the candidate's shoes to ensure they have the best possible experience.
We look forward to meeting you!
Job description
Nous recherchons un Consultant Senior Développeur Java pour rejoindre notre équipe et soutenir l'activité des Swaps d'Actions en front-office. Nos moteurs de calcul principaux pour les Swaps d'Actions ont récemment été rénovés en une architecture basée sur des services multiples, en temps réel et pilotée par les événements. Le candidat retenu rejoindra l'une de nos équipes de développement principales, travaillant sur diverses tâches allant des modifications de logique métier aux améliorations complexes répondant aux besoins évolutifs de l'entreprise.
Avec des volumes de messages élevés, de grands ensembles de données et des exigences strictes en matière de débit, l'écriture d'un code efficace, propre et bien testé est essentielle. Le rôle implique de travailler avec un produit métier complexe et des modèles de traitement d'événements hautement concurrents, nécessitant une approche structurée de la résolution de problèmes et du génie logiciel.
ResponsabilitésAssumer la responsabilité des changements, de l'idée à la production.
Travailler en étroite collaboration avec les parties prenantes pour analyser et prioriser les exigences métier.
Développer et maintenir des applications Java robustes et évolutives.
Optimiser les performances du système en mettant l'accent sur l'efficacité et la fiabilité.
Participer aux processus de test, y compris les tests unitaires, les tests d'intégration automatisés et l'UAT.
Contribuer au développement de runbooks et collaborer avec l'équipe de test pour garantir une régression complète du système et des tests de retour arrière.
Fournir un support de production régional de niveau 3 dans le cadre de la rotation mondiale des développeurs.
S'adapter aux besoins métier évolutifs et aux multiples technologies, garantissant la livraison rapide de solutions de haute qualité.
Compétences et Qualifications Requises Experience minimum de 15 ans. Compréhension approfondie de Java côté serveur avec une expérience pratique en multithreading.Solides compétences en génie logiciel et en informatique fondamentale.
Capacité avérée à écrire un code de qualité, maintenable et à identifier les pièges potentiels.
Excellentes compétences en résolution de problèmes et en analyse.
Excellentes compétences en communication écrite et orale.
Maîtrise des méthodes de test logiciel.
Expérience pratique avec Linux (utilisation quotidienne).
Connaissance approfondie des bases de données relationnelles (Sybase, DB2) et écriture de requêtes SQL.
Familiarité avec les architectures basées sur la messagerie (MQ, Pub/Sub, Kafka ou technologies similaires).
Expérience du cycle de vie complet du développement logiciel en entreprise.
Intérêt pour l'apprentissage et la compréhension du métier soutenu par les applications.
Esprit flexible et adaptable.
Compétences SouhaitéesExpérience avec les bases de données NoSQL distribuées (MongoDB de préférence).
Optimisation avancée des requêtes relationnelles.
Connaissances en Python et scripting Shell sous Linux.
Expérience préalable en Swaps d'Actions et/ou Produits Dérivés Actions appréciée.
Pourquoi Nous Rejoindre ?Ce poste est une opportunité pratique idéale pour un autodidacte avide de relever de nouveaux défis et d'explorer de nouvelles technologies. Vous aurez l'opportunité de travailler sur une plateforme de trading de pointe, d'interagir avec les parties prenantes du métier et d'améliorer votre expertise technique dans un environnement dynamique et exigeant.
Si vous êtes passionné par la technologie, la résolution de problèmes et le travail sur des systèmes de trading haute performance, nous vous encourageons à postuler !
-----------
English
We are seeking a Senior Consultant Java Developer to join our team supporting the front-office Equity Swaps business area. Our core Equity Swaps calculation engines have been recently renovated into a real-time, event-driven, multi-service-based architecture. The successful candidate will join one of our core development squads, handling a variety of tasks ranging from business logic modifications to complex enhancements supporting evolving business needs.
With high message volumes, large datasets, and stringent throughput requirements, writing efficient, clean, and well-tested code is paramount. The role involves working with a complex business product and highly concurrent event processing models, demanding a structured approach to problem-solving and software engineering.
ResponsibilitiesOwn and deliver change from ideation to production.
Work closely with stakeholders to analyze and prioritize business requirements.
Develop and maintain robust, scalable Java-based applications.
Optimize system performance with a focus on efficiency and reliability.
Participate in testing processes, including unit tests, automated integration tests, and UAT.
Contribute to runbook development and collaborate with the testing team to ensure full system regression and change rollback testing.
Provide Level 3 regional production support as part of the global developer rotation.
Adapt to evolving business needs and multiple technologies, ensuring high-quality solutions are delivered promptly.
Required Skills & Qualifications Minimum experience 15 years.Deep understanding of core server-side Java with practical experience in multi-threading.
Strong software engineering and computer science fundamentals.
Proven ability to write quality, maintainable code and identify potential pitfalls.
Strong problem-solving and analytical skills.
Excellent verbal and written communication skills.
Proficiency in software testing methods.
Hands-on experience with Linux (daily usage).
Strong knowledge of relational databases (Sybase, DB2) and SQL query writing.
Familiarity with message-based architectures (MQ, Pub/Sub, Kafka, or similar technologies).
Full software development lifecycle experience in an enterprise environment.
Interest in learning and understanding the business supported by the applications.
A flexible and adaptable mindset.
Desired SkillsExperience with distributed NoSQL databases (MongoDB preferred).
Advanced relational database query optimization.
Knowledge of Python and Linux Shell scripting.
Prior experience in Equity Swaps and/or Equity Derivatives is a plus.
This is an exciting hands-on role suited for a self-starter eager to tackle new challenges and technologies. You will have the opportunity to work on a cutting-edge trading platform, interact with business stakeholders, and enhance your technical expertise in a fast-paced, dynamic environment.
If you are passionate about technology, problem-solving, and working on high-performance trading systems, we encourage you to apply!