Senior Software Engineer



Senior Software Engineer

Toronto, Ontario  - Permanent


Job Description

Our client partner is currently recruiting for Senior Software Engineers to join their software R&D and products teams. You will be joining a team of creative engineers and designers building highly interactive web applications for users all over the world. On their team you will be working across their entire application stack.

Front end - JavaScript single-page applications and WebGL
Back end - node.js and Elasticsearch
DevOps - Docker and Swarm

You will bring a strong attention to detail and a continuous focus on quality and improvement while working closely with others across our organization. As a senior engineer you will play a role in mentoring other team members working to develop their skills further. You will also contribute to improving our processes and technical designs, and lead development in critical application areas.

You are likely to be coming from a job where you have been responsible for designing and building single page applications from the ground up, using current technology and approaches.


Must Have Skills:

- Strong JavaScript experience (ES2015) - experience with current SPA frameworks (Aurelia, VueJS, React, etc.) is a big plus. We’re looking for a high degree of comfort and experience with front-end architecture, including state management, routing, event handling, etc.
- Deep experience on the server-side - node.js and/or Java a plus, specifically Koa, Spring Boot
- Elasticsearch is a key part of theie applications. If you don’t already know it, you have the skills to pick it up quickly.
- Docker + Swarm is how they manage all the moving parts. Experience here is a big plus, but you’re a senior candidate, so we know you’ll master it soon if not.
- Sound, hands-on experience with the REST pattern, MVC, N-tiered architecture.
- We’re not looking for a DBA, but you definitely know your way around SQL
- You’re comfortable working with cloud and on-prem infrastructure (AWS, Ansible, virtualization, etc.) and willing to learn more
- Appreciation of build systems (Webpack, Gulp, Gradle, etc.), tooling (git, linting, etc.), TDD, CI/CD
- Experience building user interfaces - visualization/graphics a plus (d3, canvas, leaflet, WebGL, etc.)
- Excellent verbal and written communication skills


Details:

Starting: ASAP