Senior Software Engineer
- Market p25–p75
- CAD 145k–CAD 187k
- Opened · 30d
- +0
- Closed · 30d
- −0
- All software engineering
- 74,987open
H2 Analytics is redefining how professionals train for high-stakes environments through advanced simulation and data-driven tools. We build EASE (Exercise Architect Suite), a tool used by military, intelligence, law enforcement, and emergency response organizations to develop intelligence-focused mission-critical training exercises.
About the team and role
Before a training exercise starts, exercise staff build a fictional world of organizations, people, and equipment, and write the intelligence reports and other documents the training audience will receive. During the exercise, those documents go out on a schedule while the trainees work the problem. EASE is where staff build that world, write those documents, and run the exercise. Our mission is to make it easy to develop large-scale exercises without a heavy manual burden.
This is a hands-on builder role; you’ll spend most of your time writing code, designing systems, prototyping, and shipping. We develop primarily in TypeScript and Vue, and host in AWS and on-premises. We ship often, value collaboration, and are driven by results rather than process. We use a lightweight Scrum practice and are dedicated to continuous improvement.
The engineering team is 100% remote; our head office is located in Ottawa and you’re welcome to come in. This role can be located anywhere in Canada with flexible hours, though our core meetings are oriented on the Eastern time zone.
Problems we’re working on
Using generative AI to speed up the creation of training goals and content, evaluating models to improve what local models can do, and building AI tools that do what wasn’t possible before
Enabling users to better identify gaps in training competencies and data, linking scenario data into documents, disseminating training material however each customer wants it, and visualizing exercise data in meaningful ways
Connecting external and in-house data simulators to create complex, enriched training scenarios
Running the same product in AWS and in air-gapped customer data centers
About you
You are a well-rounded senior software engineer with at least 6 years of experience building complex web applications and backend services as a full-stack engineer, with a minimum of 2 years at the senior level. You’re comfortable taking the lead on complex features, owning them end-to-end, and mentoring less-experienced developers.
We look for
Strong architecture and design skills
Full-stack development expertise with TypeScript and JavaScript
Advanced knowledge of reactive UI frameworks (React, Vue…)
Advanced database experience (SQL / NoSQL), particularly with MongoDB, PostgreSQL, PostGIS, and geospatial data
Experience developing REST APIs
Deep experience with Linux and Docker containers
Bachelor’s or Master’s degree in Computer Science, Software Engineering, or a related field, or equivalent experience
This role is only open to people able to obtain Secret security clearance in Canada due to the nature of our work.
Nice to have
Experience building and using generative AI and LLMs: prompt design, vector embeddings, deploying local LLMs
Experience architecting and maintaining production cloud infrastructure (AWS, Terraform, devops are a plus)
Architecting microservices and large-scale distributed systems for performance, scalability, high availability
Experience interviewing software engineering candidates at a senior level
Software security background; authentication and authorization, OWASP top 10
What you’ll own
Lead the architectural design and implementation of EASE features
Full-stack development including developing APIs, UX, automated tests, deployment
Gathering stakeholder feedback and defining features to meet customer needs
Writing proposals, carrying out code experiments, and building prototypes
AWS and on-premises deployments
What you’ll help with
Identify and push for technical and process improvements
Influencing what we build and how we build it
Improving our CI/CD and simplifying deployment and administration
Maintain and diagnose our software as it runs in production in AWS or in customer data centers, in support of our customers