Senior Engineer- React
DNV · Chennai
- The Senior Software Engineer is responsible for designing, developing, testing, deploying, and supporting production-grade software products and shared 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 helps to advance how DNV performs Due Diligence, Verification & Assurance, and Renewables Certification work across Energy Systems.
- This is not a project-based delivery or staff-augmentation role. Engineers are expected to develop deep product knowledge and remain accountable for the quality, maintainability, and operation of the software they build.
- Working in close partnership with our UX Designer, Backend Engineers, 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, deploys, and supports scalable software across a modern Microsoft-oriented full-stack environment. The primary stack includes React, TypeScript, Redux, Tailwind CSS, and a modern .NET backend on Azure, with project management in Azure DevOps. 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.
- This role is based at our DNV office in Chennai, India. Further details regarding role-specific requirements will be shared during the interview process.
Key Responsibilities
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, user interfaces, and platform integrations.
- Work directly with Product and Architecture stakeholders to shape requirements, evaluate technical approaches, and translate product 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.
- Own product capabilities through design, implementation, deployment, monitoring, maintenance, and iterative improvement rather than treating delivery as complete when the initial feature is released.
React Application Development
- Build responsive, reusable, and accessible frontend experiences using TypeScript, React, Redux, and Tailwind CSS, integrated with secure and maintainable .NET backend services.
- Use the established design system and contribute to its continual improvement.
- 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, real-time 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.
- Contribute to reusable development patterns, documentation, and engineering practices that improve team velocity and consistency.
- Build reusable components that make data, AI outputs, workflow status, and platform capabilities accessible within the user experience.
- Integrate data-driven, search, agentic, and AI-enabled capabilities into production web applications using well-defined APIs and reusable application patterns.
Modern Development & AI-Enabled Engineering
- Use AI-assisted development tools to accelerate coding, testing, debugging, 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.
- Use AI-enabled tools where appropriate to support test generation, code review preparation, technical documentation, and developer productivity.
DevOps, Reliability & Security
- Contribute to Azure DevOps repositories and pipelines, automated testing, deployment automation, environment management, monitoring, and incident readiness.
- Build software using an Agile methodology, 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.
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 trade-offs 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.
- Contribute actively within planning and design meetings, speaking up where potential issues arise or where a requirement is poorly defined.
- Champion potential solutions to problems and communicate them clearly to the team
About Energy Systems