08 Nov
|
StratCann Services
|
Winnipeg
08 Nov
StratCann Services
Winnipeg
About UsThe Ontario Cannabis Store provides safe, responsible access to recreational cannabis for adults 19 and older. We operate the sole legal online store for recreational cannabis in Ontario and are the provincial wholesaler of cannabis for private retail stores. Working at the OCS is a unique chance to be part of an agile start-up in a ground-breaking new industry.
We’re a diverse team passionate about delivering a great customer experience, working together with mutual respect and building value out of our differences. About the RoleWe’re looking for a Principal Software Engineer to join our team!
The Principal Software
Engineer is a senior member of the IT Development team and serves as the hands-on technical leader for Microsoft Dynamics 365 Finance and Operations and its enterprise integrations. This role provides senior technical expertise and recommendations, contributes engineering input to technology strategy, and develops and maintains engineering standards aligned with approved architectural direction.
The Principal Software
Engineer translates business outcomes into secure, scalable, and supportable technical solutions; and mentors Software Engineers and Senior Software Engineers. Working across Development, Architecture, QA, DevOps, Security, business teams, and delivery partners, the role guides engineering execution from discovery and detailed design through implementation, release, and operational support. Provide multi-system engineering expertise and recommendations, ensuring solutions align with IT strategy, approved enterprise architecture, and industry best practices.
Develop and apply approved engineering frameworks, reference patterns, implementation standards, and detailed technical documentation. Evaluate implementation options based on business value, scalability, security, reliability, maintainability, observability, delivery risk, and total cost. Provide engineering recommendations and communicate implementation impacts for cross-domain technical decisions through architectural governance.
Design and develop production-grade Microsoft Dynamics 365 Finance and Operations solutions using X++, extensibility patterns, data entities, custom services, business events, Data Management Framework, and batch processing. Design end-to-end integrations, including APIs, events, messaging, data transformations, exception handling, and reconciliation. Review critical code and designs for correctness, maintainability, performance, security, testability, and alignment with standards.
Design custom applications or components where suitable commercial solutions do not exist and guide the configuration of SaaS and commercial off-the-shelf platforms. Ensure adherence to programming, documentation, testing, and peer-review standards. Recommend and implement integration technologies,
including APIs, Azure Logic Apps, Azure Functions, Azure Service Bus, Power Automate, Dataverse, Microsoft Fabric, Azure Synapse, data pipelines, and platform-native capabilities.
Develop and apply engineering standards for idempotency, retry, replay, dead-letter handling, data validation, reconciliation, versioning, and dependency management. Lead engineering implementation of refactoring and migration initiatives aligned with approved modernisation roadmaps. Partner with developers and testing specialists to validate technical and business outcomes and advance automated unit, integration, contract, and regression testing, including test-driven development where appropriate.
Strengthen source control, branching, build, package, and deployment practices across development, QA, UAT, and production environments. Establish performance baselines, identify X++, SQL Server, database, query, integration, and end-to-end bottlenecks, and validate optimizations through controlled testing. Define logging, telemetry, alerting, rollback, and post-deployment validation requirements for production readiness.
Serve as the technical SME and escalation point for complex incidents, defects, and production risks, leading root-cause analysis and sustainable corrective actions. Prioritize urgent, high-impact issues while protecting data integrity, service continuity, and business outcomes. Translate recurring operational issues into engineering backlog items, preventive controls, or architectural improvements.
Mentor Software
Engineers, Senior Software Engineers, and co-op students through design reviews, pairing, workshops, and feedback, with a focus on Java, X++, SQL, integrations, performance engineering, and computer science fundamentals. Foster respectful, evidence-based technical challenge and support decision‑making where stakeholders have competing views. Maintain accurate, current, and usable technical documentation and knowledge‑transfer materials.
Post‑secondary education in Computer Science, Information Technology, Software Engineering, or a related field, or an equivalent combination of education and relevant experience. 10+ years of progressive software engineering experience, including significant hands‑on experience developing and supporting Microsoft Dynamics AX or Dynamics 365 Finance and Operations solutions using X++. Demonstrated experience as a senior technical lead for complex,
business‑critical enterprise applications, including leading engineering initiatives, establishing implementation standards, and mentoring engineers. Advanced experience designing, developing, reviewing, troubleshooting, and optimizing integrations, application code, X++ solutions, and SQL Server workloads.
Significant experience designing and supporting integrations using APIs, messaging technologies, data exchange services, and enterprise integration platforms, including Java and JavaScript‑based solutions.
Experience with Azure integration and application services, including Azure Logic Apps, Azure Functions, Azure Service Bus, or comparable platforms.
Experience partnering with Architecture, QA, Security, DevOps, business stakeholders, and vendors in an Agile delivery environment. Expert knowledge of Dynamics 365 Finance and Operations architecture, data models, integration capabilities, and related business processes. Advanced software engineering knowledge, including system design, application performance, database design, concurrency, security, scalability, and software quality practices, with hands‑on proficiency in Java and JavaScript.
Deep knowledge of SQL Server, including indexes, execution plans, query optimization, locking, blocking, concurrency, and performance tuning. Strong knowledge of API design and distributed‑system concepts, including failure modes, idempotency, retries, replay, dead‑letter handling, reconciliation, and operational monitoring. Ability to create detailed application design diagrams, interface specifications, technical documentation, estimates, and implementation plans aligned with approved architecture.
Relevant Microsoft
Dynamics 365 or Azure certifications are preferred.
Experience integrating with Power Apps, Java/Spring Boot services, Shopify, or digital commerce platforms is an asset.
Experience modernizing legacy or tightly coupled ERP integrations is an asset.
Experience in retail, supply chain, inventory, warehousing, procurement, order management, or B2B systems is preferred. Additional education or training in retail, supply chain, order management, enterprise applications, or systems integration is an asset. A pragmatic approach to emerging technologies and AI‑assisted development, including appropriate review, security, and quality controls, is preferred.
Ability to coach engineers in X++, SQL, integration design, performance engineering, and systematic problem‑solving is an asset.
Employment Type: Full‑Time, Permanent Required Travel: Rare, usually within the GTA Placement in the salary range will be based on factors such as market conditions, internal equity, and candidate experience, skills, and qualifications relevant to the role.
📌 Principal Software Engineer (Winnipeg)
🏢 StratCann Services
📍 Winnipeg