Java Developer

Start date: as soon as possible

Contract duration: 12 month contract
Location: Remote

Number of positions: 1

Language skills: Strong communication skills in English are required; French is an asset.

Benefits: Work with cutting-edge technology using sophisticated AI, as part of a passionate and dedicated team that thrives on meaningful innovation in a rapidly growing industry. If you commute to the office, you will have the opportunity to work in a beautiful downtown location overlooking the city right by the metro, coffee bar, team-oriented environment, showers if you cycle to work.

Main tasks and responsibilities:

  • Participate in the technical aspects of the software solution throughout the complete development lifecycle, including requirements, design, implementation, testing, documentation, maintenance, training and support

  • Design and develop new features and key software modules of the software solution

  • Share ownership of one or more major software components (back-end)

  • Write Java and/or Python code and unit tests to implement the solution

  • Conduct design and code reviews to ensure high-quality finished products.

  • Promote and adhere to software development best practices

  • Participate in daily scrums, as well as sprint planning/review/retro-meetings and grooming meetings

  • Collaborate with the Dev Ops team to deploy production workloads to private or public clouds

  • Perform tasks related to securing and maintaining the products, tools and processes you are responsible for securing

Education: Bachelor's degree in engineering or computer science

Years of work experience: 5 years

Required skills:

  • 5 years of experience working with Java

  • Experience building and shipping complex professional software

  • Experience developing scalable, standards-compliant, reusable quality code, unit testing and setting standards for the rest of the team.

  • Good experience in OO design and design patterns

  • Experience with ElasticSearch or Solr.

  • Ability to take relevant initiative to effectively resolve assigned problems.

  • Motivation for knowledge and good adaptability.

  • Knowledge of software version control management (e.g. git) and continuous integration practices (e.g. Bamboo, Jenkins)

  • Knowledge of microservices and its “container ecosystem” (e.g. Kubernetes, Docker)

  • Demonstrated ability to concentrate and complete tasks on time

  • Be a strong team player

  • Demonstrate flexibility in changing conditions

  • Ability to analyze and solve complex problems quickly and creatively

  • An insatiable desire to learn new technologies

  • Excellent oral and written communication skills

  • Self-taught, motivated, autonomous and self-reliant

  • Knowledge of CI/DC practice, e.g. code organization (code, unit test or integration test, mocking practice)