Java Developer
at Amaris
Montréal, QC, Canada -
Start Date | Expiry Date | Salary | Posted On | Experience | Skills | Telecommute | Sponsor Visa |
---|---|---|---|---|---|---|---|
Immediate | 23 Apr, 2025 | Not Specified | 24 Jan, 2025 | N/A | Good communication skills | No | No |
Required Visa Status:
Citizen | GC |
US Citizen | Student Visa |
H1B | CPT |
OPT | H4 Spouse of H1B |
GC Green Card |
Employment Type:
Full Time | Part Time |
Permanent | Independent - 1099 |
Contract – W2 | C2H Independent |
C2H W2 | Contract – Corp 2 Corp |
Contract to Hire – Corp 2 Corp |
Description:
Job description
Nous recherchons un Développeur Java passionné par la conception de systèmes distribués et la résolution de défis techniques complexes. Vous rejoindrez une équipe collaborative pour contribuer au développement d’une plateforme de nouvelle génération, en utilisant des technologies propriétaires et open source, y compris les API REST, les plateformes big data, les bases de données NoSQL et des outils UI tels que ReactJS/Redux.
Responsabilités
Développer et améliorer la plateforme MCS en utilisant Core Java et Python.
Collaborer avec les membres de l’équipe pour concevoir et implémenter des systèmes distribués évolutifs et orientés événements.
Écrire un code propre, efficace et maintenable en respectant les meilleures pratiques.
Concevoir et implémenter des API RESTful et des flux de travail répondant aux exigences métier.
Effectuer des tests et des débogages en utilisant les méthodologies BDD et TDD.
Collaborer avec des équipes pluridisciplinaires, incluant des analystes métier et des équipes d’infrastructure, pour livrer des solutions de qualité.
Compétences requises
Excellentes capacités d’analyse et de résolution de problèmes.
7 à 15 ans d’expérience en développement backend Java.
Compréhension approfondie des principes de conception logicielle : MVC, structures de données, graphes, algorithmes, modèles de conception, multithreading, mise en cache, récursivité.
Maîtrise de Core Java : chargement de classes, collecte des ordures (garbage collection), API des collections Java, API Reflections, flux Java, programmation fonctionnelle.
Expertise des frameworks Java : Spring, JSR-303, Logback, JUnit, Apache Commons.
Solides connaissances des bases de données relationnelles et de SQL (DB2).
Familiarité avec les bases de données NoSQL (MongoDB).
Compétences souhaitées
Expérience avec les technologies cloud : Azure, Snowflake, Databricks.
Maîtrise des moteurs de flux de travail tels que BPMN, DMN, et Camunda 7/8.
Expérience en développement piloté par le comportement (BDD) avec JBehave ou Cucumber.
Familiarité avec le développement piloté par les tests (TDD).
Expertise des outils de gestion de versions (GIT) et des outils d’automatisation de construction (Gradle, Jenkins).
Solides connaissances des services web RESTful, HTTP, XML, et JSON.
Expérience avec les technologies front-end comme ReactJS/Redux.
Maîtrise des environnements Unix/Linux.
Familiarité avec les outils de gestion des schémas de base de données comme Liquibase.
Nous valorisons davantage l’expérience concrète et les compétences pratiques que les qualifications formelles. Si vous êtes un professionnel axé sur le travail en équipe et passionné par la réussite des projets, nous serions ravis de vous rencontrer !
-
English
We are seeking a Java Developer with a passion for building distributed systems and solving complex technical challenges. You will join a collaborative team to contribute to the development of a next-generation platform using both proprietary and open-source technologies, including REST APIs, big-data platforms, NoSQL databases, and UI tools like ReactJS/Redux.
Responsibilities
Develop and enhance the Model Control System platform using Core Java and Python.
Collaborate with team members to design and implement scalable, event-driven distributed systems.
Write clean, efficient, and maintainable code that adheres to best practices.
Design and implement RESTful APIs and workflows to meet business requirements.
Perform testing and debugging using BDD and TDD methodologies.
Collaborate with cross-functional teams, including business analysts and infrastructure teams, to deliver quality solutions.
Required Skills
Strong analytical and problem-solving abilities.
7-15 years of experience in Java backend development.
Deep understanding of software design principles: MVC, data structures, graph data, algorithms, design patterns, multithreading, caching, recursion.
Proficiency in Core Java: class loading, garbage collection, Java Collections API, Reflections API, Java Streams, functional programming.
Expertise in Java frameworks: Spring, JSR-303, Logback, JUnit, Apache Commons.
Strong knowledge of relational databases and SQL (DB2).
Familiarity with NoSQL databases (MongoDB).
Desired Skills
Experience with cloud technologies: Azure, Snowflake, Databricks.
Proficiency with workflow engines such as BPMN, DMN, and Camunda 7/8.
Experience with Behavior-Driven Development (BDD) using JBehave or Cucumber.
Familiarity with Test-Driven Development (TDD).
Expertise with version control tools (GIT) and build automation tools (Gradle, Jenkins).
Strong knowledge of RESTful web services, HTTP, XML, and JSON.
Experience with front-end technologies like ReactJS/Redux.
Proficiency with Unix/Linux environments.
Familiarity with database schema management tools such as Liquibase.
We value real-world experience and hands-on expertise over formal qualifications. If you are a team-focused professional with a passion for delivering impactful projects, we’d love to hear from you!
Who are we?
Amaris Consulting est une société indépendante de conseil et de technologies au service des entreprises. Avec plus de 1000 clients dans le monde, nous déployons des solutions pour les plus grands projets depuis plus d’une décennie - tout ceci est rendu possible par une équipe internationale de 7500 talents répartis sur les 5 continents et dans plus de 60 pays. Nos solutions sont axées sur quatre domaines d’activité différents : Les systèmes d’information et le digital, la télécommunication, les sciences de la vie et l’ingénierie. Nous cherchons à créer et à développer une communauté de talents où tous les membres de notre équipe peuvent réaliser leur plein potentiel. Amaris est votre « stepping stone » pour traverser les rivières du changement, pour relever les défis et pour réaliser tous vos projets avec succès.
Chez Amaris, nous avons à cœur d’offrir à nos candidats la meilleure expérience de recrutement possible. Nous cherchons à mieux connaître et comprendre nos candidats, à les challenger et à leur faire part de nos impressions le plus rapidement possible. Voici à quoi ressemble notre processus de recrutement :
Premier contact : Notre processus commence généralement par une brève conversation virtuelle/téléphonique pour en savoir plus sur vous ! L’objectif ? Apprendre à vous connaître, comprendre vos motivations et veiller à ce que nous vous proposions le poste qui vous correspond le mieux !
Entretiens (en moyenne, le nombre d’entretiens est de 3 – il peut toutefois varier en fonction du niveau d’ancienneté requis pour le poste). Au cours des entretiens, vous rencontrerez les membres de notre équipe : votre supérieur hiérarchique bien sûr, mais aussi d’autres personnes avec lesquelles vous serez amené à travailler. Ces entretiens nous permettront d’en apprendre davantage sur vous, votre expérience et vos compétences, mais aussi sur le poste et ce que l’on attendra de vous. Bien entendu, vous apprendrez également à connaître Amaris : notre culture, notre histoire, nos équipes et vos opportunités de carrière !
Étude de cas: En fonction du poste, vous serez peut-être appelé à passer un test. Il pourra s’agir d’un jeu de rôle, d’une évaluation technique, d’un scénario de résolution de problème, etc.
Comme vous le savez, chaque personne est différente et il en va de même pour chaque rôle dans une entreprise. C’est pourquoi nous devons nous adapter en conséquence, si bien que le processus peut parfois être quelque peu différent pour chacun. Cela dit, nous nous mettons toujours à la place du candidat pour lui offrir la meilleure expérience possible. Nous avons hâte de vous rencontrer
Responsibilities:
Please refer the Job description for details
REQUIREMENT SUMMARY
Min:N/AMax:5.0 year(s)
Information Technology/IT
IT Software - System Programming
Software Engineering
Graduate
Proficient
1
Montréal, QC, Canada