Senior Java Developer

***Open to remote work anywhere in Atlantic Canada***

We offer the opportunity to work with Canada’s largest Information Technology Outsourcing and Management Consulting Company with a true global presence in a fast-paced and energetic atmosphere where your personal and professional growth is accelerated by your desire and sense of commitment. CGI’s continuous growth is a testament to the confidence clients place in them and to the dedication of their professionals. At CGI, all employees are called members because they feel a powerful sense of ownership and accountability. Members at CGI are building their own company- in 100+ offices worldwide. CGI has the global resources, expertise, stability and dedicated professionals needed to achieve results for clients and for members; that’s why an astounding 90 percent of them are CGI shareholders.

We are looking for a Java Developer to join our team. We expect you to have great technical skills but as important, we are looking for someone who can develop a creative solution to a problem by applying critical thinking and past experience. Your role is only limited by your potential.

Your future duties and responsibilities:

  • Reporting to the Senior Technical Manager, the successful candidate will:
  • Work on a variety of projects and requests related to the Java applications.
  • Design, develop, test and troubleshoot Java solutions, impart your subject matter expertise throughout life cycle.
  • Participate in complex applications and systems development and programming.
  • Take business, Enterprise Architecture, system performance and development standards requirements, then develop functional, technical and user interface designs for an application and/or system.
  • Review technical deliverables of other team members for quality throughout the detailed design and development phase, identify gaps or redesign as needed.
  • Help to lead the discussion on code structure, code walkthroughs and root cause analysis of incidents and problems.
  • Help to maintain overall code quality and code management through the development life cycle using the existing code management tools.
  • Adhere to existing processes/standards including the software development lifecycle (SDLC), business technology architecture, risk and production capacity guidelines and escalate issues as required.
  • Ensure design leverages existing reusable components, traces back to business requirements, and that new modules are designed with reusability in mind
  • Work with team members to prioritize and manage their workload in order to deliver quality results and meet timelines.
  • Support a positive work environment that promotes service to business, quality, innovation and teamwork and ensure timely communication of issues/points of interest.

Required qualifications to be successful in this role:

Share your credentials, but your relevant experience and knowledge can be just as likely to get our attention. It helps if you have:

  • A University degree or a Diploma in IT with equivalent IT experience.
  • 7+ years of experience in application development using Java/J2EE. Certification is an asset.
  • Demonstrable hands-on experience with both batch and REST services, as well as MyBatis or Hibernate.
  • Hands-on experience with Spring and Spring Boot.
  • Excellent problem-solving and troubleshooting skills.
  • 5+ years experience in any RDBMS, Oracle preferred, with strong SQL skills.
  • Proven ability to mentor team members and provide coaching as required.
  • Experience with Agile methodologies to iterate quickly on product changes, developing user stories and working through backlog.
  • Knowledge of Cloud is an asset, Azure preferred.
  • Hands-on experience with Hadoop-oriented technology (e.g. Python, Oozie, Spark, Talend…) is an asset.
  • Traditional Data Warehouse/ETL experience is an asset.

Soft Skills:

  • Strong written and oral communication skills.
  • Critical eye for detail.
  • Positive attitude.
  • Strong interpersonal skills.
  • Ability to see the big picture.
  • Able to multitask effectively.
  • Proven ability to mentor and coach junior team members.
  • Ability to learn and apply new concepts quickly.
  • Ability to adapt to constant changes. Sense of innovation, creativity, organization, autonomy and quick adaptation to various technologies.
  • Have excellent time management, task planning and prioritization skills.
  • Able to adapt quickly to changing client requirements.
  • Able to work effectively with minimal supervision.
  • Enjoy working in a self-teaching, learning organization.
  • Ability to build strong relationships with clients and team members.

Skills:

Hibernate
Java
Java Enterprise Editions JEE
Spring
REST Webservices
Web Services
Oracle