Dukosi is a leading-edge technology company developing revolutionary technologies that dramatically improve the performance, safety, and efficiency of battery systems, and enable a more sustainable battery value chain. Our unique cell monitoring platform based on chip-on- cell technology and proprietary contactless communication protocol is transforming battery systems for electric vehicles (EV), industrial transportation and stationary energy storage markets. Our environmental purpose is at the heart of our business and drives our search for new ideas and approaches to improve the technologies that can help transition to net-zero emissions and a sustainable clean energy economy.
The Principal Software Engineer leads the development and delivery of embedded software for Dukosi products, owning technical direction, architecture, and execution across complex, multidisciplinary systems.
This role combines deep technical expertise with hands-on delivery leadership, ensuring software is developed to the highest standards of quality, safety, and performance, and successfully delivered into production. It serves as the technical lead for software development activities within a product or major subsystem, influencing design decisions, development practices, and cross-functional alignment.
This role is primarily a technical leadership position; however, candidates with experience in people's leadership or an interest in developing into a management role are highly desirable.
KEY DUTIES
Technical Leadership & Delivery
- Lead the end-to-end development of embedded software for Dukosi products, from concept through to production and support
- Own the technical delivery of major software subsystems, ensuring alignment with product requirements, quality, and schedule
- Provide technical leadership to a team of engineers, guiding design, implementation, and problem-solving activities
- Act as the primary technical point of contact for software within cross-functional project teams
Contribute to planning, estimation, and technical risk management.
Architecture & System Design
- Define software architecture and contribute to system-level design, including HW/SW partitioning and interface definition
- Ensure robust integration across embedded firmware, ASIC, system software, and tools
- Drive design decisions that balance performance, scalability, safety, and maintainability
- Support system-level trade-offs and architectural decisions across the product.
Software Development & Quality
- Contribute directly to implementation of critical software components (hands-on development)
- Ensure adherence to high standards of software quality, including coding standards (e.g. MISRA), testing, and documentation
- Support debugging and resolution of complex system-level issues across hardware and software boundaries
- Contribute to definition and execution of verification and validation strategies.
Process & Continuous Improvement
- Contribute to and improve software development processes, including CI/CD, testing, and code quality practices
- Support adoption of structured development approaches aligned with industry standards (e.g. ASPICE, ISO 26262, ISO 21434)
- Drive improvements in efficiency, quality, and team effectiveness.
Collaboration & Mentoring
- Mentor and support engineers, providing technical guidance and fostering development
- Collaborate with hardware, systems, validation, and applications teams to refine requirements and deliver integrated solutions
- Promote best practices in software engineering across the team.
Experience
- 10+ years of experience in embedded C software development
- Proven track record of delivering complex embedded software systems into production
- Strong experience working at both module and system level in multidisciplinary environments