Software Development Engineer
How You’ll Support Our Mission
As a member of our EMS Engineering Team, based in Nova Scotia, you will be working across our full EMS stack on a high-profile products which are revolutionizing the EMS marketplace and fundamentally changing the way Ambulance crews and clinicians provide and track the medical care they provide patients. Our development engineers are passionate about their craft and revel in shipping software that improves patient care. If you are ready to write elegant and innovative code that will affect real change, this is the job for you.
Reporting to the Development Manager you will be part of our Engineering team.
What You’ll Be Doing – the day to day
You can expect to work across the whole stack from front-end SPAs, through back-end services, containers, serverless, DevOps, SQL, and NoSQL to name but a few. We value competency, tenacity and problem-solving, and you’ll find plenty of opportunities to learn new skills and technologies, or even introduce your own best practices to your new team.
Our Current Stack: C#, .NET Core, Angular, Typescript; Azure DevOps, Terraform, Azure PAAS / Serverless; EF Core, SQL Server, Redis; BDD, NUnit, Cypress, Sonar; Application Insights, New Relic. This is what you can expect to work with, but we are always open to using other technologies where they add value!
Our development engineers lead by championing a culture of personal ownership and customer-focused execution. We love those who pride themselves on how they contribute through excellent solutions and end-user experiences, as much as clean and clear code.
We love Agile development and interact regularly with project stakeholders, including demos from each sprint. To support this methodology, we use regular retrospectives and objective measurement to drive continuous improvement and empower our developers to make informed technology and implementation decisions. As part of the development process, you will be involved in design sessions and you’ll have the opportunity to learn and teach through peer review of code and of completed solutions.
Who You Are – some of the essential things required to be successful in the role:
- Three+ years of experience in software engineering and software design and architecture principles.
- Problem-solving and analytic thinking skills.
- Experience programming in C# .NET, or another similar language such as Java.
- CI, unit testing and mocking frameworks (e.g. NUnit / Moq / NSubstitute).
- A demonstrated ability to help drive the technical direction of features through analysis of requirements and peer discussions.
Who You Are – it’s desirable if you have:
Experience of some of the following technologies, and a passion to learn and grow across many of the remainder:
- Logging, monitoring and alerting frameworks (e.g. Serilog, Application Insights, New Relic)
- Typescript and UI development in Angular
- Git for source control, branching and merging (e.g. gitflow)
- OO concepts, design patterns, modern .NET web frameworks
- SQL and relational database concepts.
- Serverless, PAAS and containerized cloud applications
- Messaging and eventing technologies, (e.g. Azure Service Bus, MQ)