Senior Java Developer / Développeur Java Principal

Immigration, Refugees and Citizenship CanadaOttawa, ON20 days ago

SENIOR JAVA DEVELOPER

 

Group & Level: CS-03

 

Are you a developer looking to have real impact on the future of Canada? We have the challenge for you at Immigration Refugees Citizenship Canada (IRCC) and are looking for senior Angular and Java developers to join our new digital labs. We are growing our team of technologists, strategists, and designers as we take on the future of immigration in Canada, designing products, tools, and services to help visitors, newcomers, and citizens.

 

We work in purpose-built agile teams to deliver high-quality experiences for our clients at pace, so our immigration system can live up to Canada’s world-renowned reputation.

 

 

WHO I AM

 

The Senior Java Developer is responsible for backend development including database and integration. This individual will be well versed with programming languages that are required for backend development, as well as integration approaches and technologies to bridge contemporary front-end implementations with legacy backend systems. The Java Developer should also understand how to code in the front end with ability to fix issues when required.

 

WHAT I DO

 

Core responsibilities:

▪       Design, code and architect complex applications and demonstrate a good understanding of the Agile development process and system design

▪       Iterate and maintain a complex application, which consists of both a public facing, as well as internal software applications

▪       Build a high-quality product leveraging best practices of coding and testing (e.g., unit testing)

▪       Work closely with front-end developers to define contracts between front-end and back-end

▪       Collaborate with other software developers on the various layers of infrastructure and application stack to design and launch new features

▪       Ensure responsiveness of applications and maintain quality

▪       Maintain organization and code integrity

▪       May be responsible for overseeing consultants work (developers and testers, and System Integrator employees)

▪       Mentor and develop junior team members with technical proficiency

▪       Have a good understanding of secure coding and data privacy challenges

 

 

WHAT I NEED

 

Main job requirements:

 

▪       Bachelors or Masters degree in Computer Science

▪       Strong technical written and oral communication skills.

▪       Highly motivated individual who works efficiently, willing to take initiative to complete complex tasks and make an impact on the government organization. 

▪       3+ years experience developing software using Agile Scrum methodology.

▪       Able to be productive working remotely if needed.

▪       Team player, effective senior developer.

▪       Strong foundation in data structures, algorithms and design patterns.

▪       Strong foundation in SQL & RDBMS.

▪       5+ years strong experience in Java 8+.

▪       5+ years strong experience building medium to large sized backend systems covering monolith, SOA and microservices architectural approaches.

▪       Experience with implementing systems for observability, scalability, security, redundancy and failover.

▪       5+ years experience using VS Code/Eclipse/IntelliJ, maven 3+, Git, Gitflow or similar branching, PR process and code reviews. Experience with configuring CI/CD pipelines is an asset.

▪       5+ years experience in and strong understanding of Spring, Spring Boot, Spring Data, REST, AOP, JPA/Hibernate, JSR303, localization, DI, Java Streaming API, ReactiveX API, build configurations, application performance and security best practices.

▪       3+ years experience of integrating and bundling SPAs with Spring REST backend.

▪       Strong experience with unit and integration testing your code using Junit4/JUnit5/TestNg/Spock

▪       Willingness and experience to coach junior developers

 

 

Nice to have:

▪       Being a contributor to open source projects

▪       Experience with NodeJs

▪       Experience with HTML5, CSS3, JS/TS, building SPAs with Angular 8+

▪       Experience with functional testing using Selenium Webdriver or Geb

▪       Experience with NoSQL databases

▪       Knowledge and experience in Groovy

▪       Experience with Cloud and container technologies (AWS, IAM, Docker, Kubernetes, ECS, Lambda, RDS, DynamoDB)

▪       Security Clearance

 

Interested? Don’t miss this opportunity. Send your resume to IRCC.Careers-Carrieres.IRCC@cic.gc.ca before Wednesday April 21, 2021. Why wait for tomorrow when you can apply today!

 

Must be a current Canadian Citizen or Permanent Resident in order to apply for this position. 

___________

 

DÉVELOPPEUR JAVA PRINCIPAL

 

Groupe & niveau: CS-03

 

Vous êtes un développeur et souhaitez avoir une incidence réelle sur l’avenir du Canada? Nous avons le défi qu’il vous faut à Immigration, Réfugiés et Citoyenneté Canada (IRCC). Nous sommes en effet à la recherche de développeurs Java et Angular principaux pour joindre nos nouveaux laboratoires numériques. Nous cherchons à agrandir notre équipe de de technologues, de stratèges et de concepteurs pour préparer l’avenir de l’immigration au Canada au moyen de la conception de produits, d’outils et de services destinés à aider les visiteurs, les nouveaux arrivants et les citoyens.

 

Nous travaillons au sein d’équipes agiles spécialement constituées pour offrir à nos clients une expérience de grande qualité, au rythme qui leur convient, afin que notre système d’immigration soit à la hauteur de la réputation mondiale du Canada.

 

 

QUI SUIS-JE?

 

Le développeur Java principal est responsable du développement en arrière-plan, dont la base de données et l’intégration. La personne doit bien maîtriser les langages de programmation requis pour le développement en arrière-plan, de même que les méthodes et technologies d’intégration pour faire le lien entre les mises en œuvre des applications frontales contemporaines et les anciens systèmes d'arrière-plan. Le développeur Java doit également savoir comment procéder au codage frontal et être en mesure de régler les problèmes au besoin.

 

 

QUE FAIS‑JE?

 

Principales responsabilités:

▪     Concevoir et coder des applications complexes, en créer l’architecture et démontrer une bonne compréhension du processus de développement agile et de la conception de systèmes

▪     Itérer et maintenir une application complexe, constituée d’une application destinée au public et d’applications internes

▪     Créer un produit de haute qualité en tirant parti des meilleures pratiques de codage et de tests (par exemple, les tests unitaires

▪      Travailler en étroite collaboration avec les développeurs frontales pour définir les contrats entre le frontal et le arrière-plan

▪     Collaborer avec d’autres développeurs de logiciels sur les différentes étages de l’infrastructure et de la pile d’applications pour concevoir et lancer de nouvelles fonctions

▪     Assurer la capacité de réaction des applications et en maintenir la qualité

▪     Maintenir l’organisation et l’intégrité du code

▪     Être possiblement responsable de superviser le travail de consultants (développeurs et testeurs, et employés d’intégrateurs de systèmes)

▪     Agir comme mentor auprès des membres de l’équipe en apprentissage et veiller au perfectionnement de leurs compétences techniques

▪     Avoir une bonne compréhension des défis liés à la sécurité du codage et à la confidentialité des données.

 

 

 

QU’AI-JE BESION?

 

Exigences requises du poste :

 

▪     Baccalauréat ou maîtrise en informatique

▪     Solides compétences en communication technique écrite et orale

▪     Personne hautement motivée qui travaille de façon efficiente, prête à prendre l’initiative pour achever des tâches complexes et avoir un impact sur l’organisation gouvernementale

▪     3+ années d’expérience du développement de logiciels à l’aide de la méthodologie Agile-Scrum. Capable d’être productive si travail à distance, au besoin

▪     Esprit d’équipe et développeur principale efficace

▪     Bases solides des structures de données, algorithmes et modèles de conception

▪     Bases solides de SQL et en SGBDR

▪     5+ années d’expérience solide de Java 8+

▪     5+ années d’expérience solide de la construction de systèmes d’arrière-plan de taille moyenne à grande, en utilisant différentes approches architecturales (monolithique, SOA et microservices)

▪     Expérience de la mise en œuvre de systèmes en fonction de leur observabilité, évolutivité, sécurité, redondance et basculement

▪     5+ ans d’expérience de l’utilisation de VS Code/Eclipse/IntelliJ, maven 3+, Git, Gitflow ou ramification similaire, processus PR et révisions des codes. L’expérience de la configuration de pipelines d’intégration continue (IC) et distribution continue (CD) est un atout

▪     5+ ans d’expérience et solide compréhension de Spring, Spring Boot, Spring Data, REST, AOP, JPA/Hibernate, JSR303, localisation, DI, Java Streaming API, ReactiveX API, construction d’outils et des meilleures pratiques en matière de rendement et de sécurité

▪     3+ ans d’expérience de l’intégration et du regroupement de SPA avec Spring REST en arrière-plan

▪     Solide expérience des tests unitaires et des tests d’intégration du code avec unit4/JUnit5/TestNg/Spock

▪     Volonté et expérience à encadrer des développeurs en apprentissage

 

 

Atouts :

 

▪     Contribution à des projets à source libre

▪     Expérience de NodeJs

▪     Expérience de HTML5, CSS3, JS/TS, de la création de SPA avec Angular 8+

▪     Expérience de la mise à l’essai fonctionnelle avec Selenium Webdriver ou Geb

▪     Expérience des bases de données NoSQL

▪     Connaissance et expérience de Groovy

▪     Expérience des technologies du nuage et des conteneurs (AWS, IAM, Docker, Kubernetes, ECS, Lambda, RDS, DynamoDB)

▪     Cote de sécurité

 

Intéressé? Ne manquez pas cette opportunité. Envoyez votre CV à IRCC.Careers-Carrieres.IRCC@cic.gc.ca avant mercredi le 21 avril 2021. Pourquoi attendre quand vous pouvez postuler aujourd'hui!

 

Pour présenter sa candidature, une personne doit être un citoyen canadien ou un résident permanent.

Subscribe to Job Alerts