Software Engineer/ Developer
Typical Day in Role:
• Provide guidance and advice for day-to-day software development, as well as the interfacing and integration with other external development teams
• Train and mentor junior engineers to further develop competencies and skills
• Participate in requirements meetings with product teams, business teams, and customers to propose usable designs and solutions
• Create implementation plans from requirements and designs that the rest of the team can implement
• Implement solutions from team’s designs
• Support our teams with the evolution of software architecture, and in designing the Engineering Roadmap
• Plan, introduce, and contribute to the implementation of larger architectural changes
• Help in technical requirements analysis and effort estimation
• Communicating and explaining designs to the engineers from both inside and outside of the team
• Lead and organize Agile ceremonies such as planning, grooming, retro, demo, and scrums
• Contribute clear, tested, and maintainable code to a shared codebase
• Documentation: updating and creating documents for team and customers
• Full stack role + CI/CD development – good mix of back end and front end
• Main languages: Java, Node, Groovy, Docker
Candidate Requirements/Must Have Skills:
1) 5+ years’ experience as a Software Engineer/ Developer
2) 2+ years’ experience with Java
3) 1+ years’ experience with Docker
4) 1+ years’ experience working with any public Cloud Services: e.g. Azure, GCP, or AWS (please list which – GCP is preference)
5) 1+ years’ experience with version-control, specifically GIT
Nice-To-Have Skills
1) Experience with Design Patterns, SDLC practices, and Best Engineering Practices
2) Experience with CI/CD
3) Experience with Kubernetes
4) Experience with Test Driven Development (TDD)
5) Experience designing and implementing web applications and services using: NodeJS, JavaScript/ES6+, HTML/CSS, React
6) Experience with API development
7) Experience working with databases
Soft Skills Required:
• Ability to plan, introduce and contribute to implementation of design elements
• contributes to analysis and decision-making processes
• Strong communication skills
Education:
Post-secondary or equivalent working experience, in technical field preferred