The Senior Software Engineer is responsible for designing, developing, testing, and supporting production-grade application and platform capabilities within DNV’s Digital & Transformation organization. This role sits within the Application Engineering section and contributes to the development and modernization of scalable web applications that support digital delivery across Energy Systems.
This role sits within the Digital & Transformation organization, helping to advance how DNV performs Due Diligence, Verification & Assurance, and Renewables Certification work across Energy Systems.
Working in close partnership with Product leadership, Data & AI Engineering, Solution Engineering, Platform Reliability, Solution Architecture, and Platform Security & Compliance, this role helps bring application capabilities, data services, AI-enabled features, workflows, and APIs into one cohesive platform and product experience.
The Senior Software Engineer designs, builds, tests, and supports scalable software across a modern full-stack environment that includes Python, Django, TypeScript, React, .NET, and cloud services across Azure and AWS. The role requires strong engineering fundamentals, practical cloud experience, and the ability to collaborate effectively across globally distributed teams.
This role supports custom software development, application modernization, and integration with low-code or hybrid development environments, helping establish shared patterns, APIs, reusable components, and maintainable application architecture across the platform.
L'ingénieur logiciel principal est responsable de la conception, du développement, des tests et du support des capacités applicatives et de plateformes de qualité production au sein de l'organisation Digital & Transformation de DNV. Ce rôle relève de la section Ingénierie Applicative et contribue au développement et à la modernisation d'applications web évolutives qui supportent la diffusion numérique à travers les systèmes énergétiques.
Ce rôle relève de l'organisation Digital & Transformation, contribuant à faire progresser la manière dont DNV réalise la Due Diligence, la Vérification & l'Assurance, ainsi que la certification des énergies renouvelables à travers les systèmes énergétiques.
Travaillant en étroite collaboration avec la direction produit, l'ingénierie des données et de l'IA, l'ingénierie des solutions, la fiabilité des plateformes, l'architecture des solutions et la sécurité et conformité des plateformes, ce rôle aide à réunir les capacités applicatives, les services de données, les fonctionnalités compatibles avec l'IA, les flux de travail et les API en une seule expérience de plateforme et de produit cohérente.
L'ingénieur logiciel principal conçoit, construit, teste et supporte des logiciels évolutifs dans un environnement full-stack moderne incluant Python, Django, TypeScript, React, .NET et des services cloud via Azure et AWS. Ce poste exige de solides bases en ingénierie, une expérience pratique du cloud et la capacité de collaborer efficacement entre équipes réparties à l'échelle mondiale.
Ce rôle soutient le développement logiciel personnalisé, la modernisation des applications et l'intégration avec des environnements de développement low-code ou hybrides, aidant à établir des patrons partagés, des API, des composants réutilisables et une architecture d'application maintenable sur toute la plateforme.
**This position can be located in our Calgary office, presenting a dynamic hybrid schedule where employees will typically spend three (3) days per week working from either a DNV office or client location/site. Further details regarding role-specific requirements will be shared during the interview process.
Other DNV offices may also be considered.**
**Ce poste peut se dérouler dans notre bureau de Calgary, offrant un horaire hybride dynamique où les employés passent généralement trois (3) jours par semaine à travailler soit depuis un bureau DNV, soit depuis un site/site client. Des détails supplémentaires concernant les exigences spécifiques au poste seront communiqués lors du processus d'entretien.
D'autres bureaux DNV peuvent également être envisagés.**
What You'll Do
Ce que tu vas faire
Software Engineering & Delivery
-
Design, develop, test, and maintain scalable application and platform capabilities using modern software engineering practices.
-
Build cohesive product experiences across web applications, backend services, APIs, user interfaces, and platform integrations.
-
Translate product requirements, technical design, and architecture direction into maintainable, production-ready software.
-
Participate actively in code reviews, technical design discussions, estimation, delivery planning, and implementation decisions.
-
Write clean, well-structured, testable, and maintainable code that supports long-term product quality and team velocity.
Ingénierie logicielle et livraison
-
Concevoir, développer, tester et maintenir des capacités applicatives et de plateformes évolutives en utilisant des pratiques modernes d'ingénierie logicielle.
-
Construisez des expériences produit cohérentes à travers les applications web, les services backend, les API, les interfaces utilisateur et les intégrations de plateformes.
-
Traduire les exigences produit, la conception technique et l'orientation architecturale en logiciels maintenables et prêts à la production.
-
Participez activement aux revues de code, aux discussions sur la conception technique, à l'estimation, à la planification de la livraison et aux décisions d'implémentation.
-
Écrivez un code propre, bien structuré, testable et maintenable, qui soutient la qualité du produit à long terme et la vélocité de l'équipe.
Full-Stack Application Development
-
Develop modern full-stack web application capabilities using technologies such as Python, Django, TypeScript, React, .NET, and related frameworks.
-
Build frontend components and backend services that support performant, usable, secure, and maintainable application experiences.
-
Support application modernization efforts, including refactoring, technical debt reduction, framework upgrades, and migration from legacy patterns where appropriate.
-
Develop application capabilities used for structured review workflows, document-heavy collaboration, issue tracking, customer interaction, reporting, and delivery of technical work products.
-
Partner with Product and design stakeholders to ensure application functionality is intuitive, reliable, and aligned with user workflows.
Développement d'applications full-stack
-
Développer des capacités modernes d'applications web full-stack en utilisant des technologies telles que Python, Django, TypeScript, React, .NET et des frameworks associés.
-
Construisez des composants frontend et des services backend qui prennent en charge des expériences applicatives performantes, utilisables, sécurisées et maintenables.
-
Soutenir les efforts de modernisation des applications, y compris la refactorisation, la réduction de la dette technique, la mise à niveau du cadre et la migration à partir des schémas hérités lorsque cela est approprié.
-
Développer des capacités applicatives utilisées pour les flux de travail d'évaluation structurés, la collaboration axée sur les documents, le suivi des problèmes, l'interaction avec les clients, le reporting et la livraison de produits techniques.
-
Collaborez avec les parties prenantes du produit et du design pour garantir que la fonctionnalité des applications soit intuitive, fiable et alignée avec les flux de travail utilisateurs.
Modern Development & AI-Enabled Engineering
-
Use AI-assisted development tools to accelerate coding, testing, documentation, refactoring, and engineering analysis.
-
Apply strong engineering judgment when using LLM-enabled workflows, ensuring generated or assisted code meets standards for quality, security, maintainability, and performance.
-
Contribute to reusable development patterns, documentation, and engineering practices that improve team velocity and consistency.
-
Use AI-enabled tools where appropriate to support test generation, code review preparation, technical documentation, and developer productivity.
Développement moderne et ingénierie habilitée par l'IA
-
Utilisez des outils de développement assistés par l'IA pour accélérer le codage, les tests, la documentation, la refactorisation et l'analyse d'ingénierie.
-
Appliquez un bon jugement d'ingénierie lors de l'utilisation de workflows compatibles avec LLM, en veillant à ce que le code généré ou assisté respecte les normes de qualité, de sécurité, de maintenabilité et de performance.
-
Contribuer à des schémas de développement réutilisables, à la documentation et à des pratiques d'ingénierie qui améliorent la rapidité et la cohérence de l'équipe.
-
Utilisez des outils compatibles avec l'IA lorsque cela est approprié pour soutenir la génération de tests, la préparation à la revue de code, la documentation technique et la productivité des développeurs.
Architecture, Platforms & Interoperability
-
Develop APIs, backend services, frontend components, and integration patterns that support platform interoperability.
-
Collaborate with Solution Architecture, Data & AI Engineering, Solution Engineering, and Platform Reliability to align technical decisions across the platform.
-
Help integrate applications with data services, AI-enabled capabilities, workflow configurations, authentication patterns, and enterprise systems.
-
Support the appropriate balance between custom application development, reusable platform services, low-code configuration, and API-enabled capabilities.
-
Help modernize and integrate existing applications into a cohesive platform architecture.
-
Architecture, plateformes et interopérabilité
-
Développer des API, des services backend, des composants frontend et des modèles d'intégration qui soutiennent l'interopérabilité des plateformes.
-
Collaborez avec l'architecture des solutions, l'ingénierie des données et de l'IA, l'ingénierie des solutions et la fiabilité des plateformes pour aligner les décisions techniques à travers la plateforme.
-
Aider à intégrer les applications avec les services de données, les capacités compatibles avec l'IA, les configurations de flux de travail, les schémas d'authentification et les systèmes d'entreprise.
-
Soutenir l'équilibre approprié entre développement d'applications personnalisées, services de plateforme réutilisables, configuration low-code et capacités API.
-
Aider à moderniser et intégrer les applications existantes dans une architecture de plateforme cohérente.
Data & AI Integration
-
Support integration of data-driven and AI-enabled features into production web applications.
-
Collaborate with Data & AI Engineering on APIs, extracted outputs, calculation services, model outputs, and user-facing AI capabilities.
-
Help ensure AI-enabled and data-driven features are implemented in ways that are reliable, testable, secure, and understandable to users.
-
Build application interfaces and services that make data, AI outputs, workflow status, and platform capabilities accessible within the user experience.
Intégration des données et de l'IA
-
Soutenir l'intégration de fonctionnalités pilotées par les données et l'IA dans des applications web de production.
-
Collaborez avec Data & AI Engineering sur les API, les sorties extraites, les services de calcul, les résultats de modèles et les capacités d'IA orientées utilisateur.
-
Aider à garantir que les fonctionnalités pilotées par l'IA et pilotées par les données soient mises en œuvre de manière fiable, testable, sécurisée et compréhensible pour les utilisateurs.
-
Construisez des interfaces et des services applicatifs qui rendent les données, les résultats d'IA, l'état des flux de travail et les capacités de la plateforme accessibles dans l'expérience utilisateur.
DevOps, Reliability & Security
-
Contribute to CI/CD pipelines, automated testing, deployment automation, monitoring, and incident readiness.
-
Build software with strong attention to reliability, performance, availability, scalability, and operational support.
-
Support observability practices including logging, monitoring, error handling, and production diagnostics.
-
Follow secure development practices aligned with internal security standards, SOC 2 Type II, ISO 27001, and enterprise security expectations.
-
Collaborate with Platform Reliability, Security, and Global Shared Services teams to support secure, reliable, and maintainable production systems.
DevOps, Fiabilité et Sécurité
-
Contribuer aux pipelines CI/CD, aux tests automatisés, à l'automatisation du déploiement, à la surveillance et à la préparation aux incidents.
-
Développez des logiciels avec une grande attention à la fiabilité, la performance, la disponibilité, la scalabilité et le support opérationnel.
-
Soutenir les pratiques d'observabilité incluant la journalisation, la surveillance, la gestion des erreurs et les diagnostics de production.
-
Suivre des pratiques de développement sécurisées alignées sur les normes internes de sécurité, SOC 2 Type II, ISO 27001 et les attentes en matière de sécurité des entreprises.
-
Collaborer avec les équipes de fiabilité de plateforme, de sécurité et de services partagés mondiaux pour soutenir des systèmes de production sécurisés, fiables et maintenables.
Collaboration & Technical Ownership
-
Work effectively with Product, Solution Engineering, Data & AI Engineering, Platform Reliability, Architecture, Security, and regional teams in a globally distributed environment.
-
Take ownership of assigned features, services, defects, and technical improvements from design through production support.
-
Communicate technical tradeoffs clearly and contribute to pragmatic engineering decisions.
-
Mentor less experienced engineers through code reviews, technical guidance, pairing, and shared engineering practices.
-
Contribute to a culture of accountability, collaboration, continuous improvement, and delivery excellence.
Collaboration et Propriété Technique
-
Travailler efficacement avec les équipes produit, ingénierie des solutions, ingénierie des données et de l'IA, fiabilité des plateformes, architecture, sécurité et régionales dans un environnement globalement distribué.
-
Prenez en charge les caractéristiques, services, défauts et améliorations techniques assignés, de la conception au support en production.
-
Communiquez clairement les compromis techniques et contribuez aux décisions d'ingénierie pragmatiques.
-
Mentorez des ingénieurs moins expérimentés à travers des revues de code, des conseils techniques, des associations et des pratiques d'ingénierie partagées.
-
Contribuez à une culture de responsabilité, de collaboration, d'amélioration continue et d'excellence dans la livraison.