Technical Lead Engineer
About the role
The Software Engineering team designs, develops or coordinates development/troubleshooting or debugging of moderately complex software programs for enhancements and new products. It performs high-level design/modeling to convert stakeholder needs into software solutions, develops software and tools in support of design, infrastructure and technology platforms, determines hardware compatibility and/or influences hardware design, and develops the architectural guidelines, specifications, and technical standards and communicates to stakeholders.
This Role In Summary: We are looking for an experienced Full Stack Embedded Technical Lead Engineer to guide the design, development, and delivery of embedded systems across the full technology stack — from low-level firmware to system integration and testing. This role blends deep hands-on technical expertise with team leadership, mentoring, and cross-functional collaboration. The ideal candidate is a strong engineer first, and a natural leader who can guide a team through complex technical challenges while keeping projects aligned with business goals.
Responsibilities
- Provide technical leadership for full-stack embedded software development, from low-level firmware through operating-system services and application-level software.
- Define software architecture, technical solutions, interfaces, and design approaches for complex embedded systems.
- Lead technical discussions, design reviews, code reviews, and architecture decisions.
- Own technical decision-making across hardware/software boundaries, ensuring robust, scalable, and maintainable solutions.
- Identify technical risks, dependencies, and gaps, and drive them to resolution.
- Drive best practices in coding standards, testing, and documentation.
- Design and develop embedded software and firmware using C and C++.
- Work with embedded operating systems such as Linux, RTOS, Android/AOSP, or similar platforms.
- Develop across multiple layers, including device drivers and hardware interfaces, firmware and middleware, OS services, application-level software, and communication/connectivity interfaces.
- Analyze system performance, reliability, memory usage, CPU utilization, and other embedded-system constraints.
- Identify, troubleshoot, and resolve complex system-level issues across firmware, OS, and application layers.
- Champion automation of build, test, and deployment pipelines to improve engineering efficiency.
- Understand how embedded products interact with cloud infrastructure and connected services, with working knowledge of AWS preferred.
- Understand device-to-cloud communication, APIs, telemetry, OTA software updates, and connected-product architecture.
- Collaborate with cloud, mobile, data, and cybersecurity teams where embedded and cloud systems intersect.
- Provide technical direction and hands-on guidance to a team of embedded and full stack engineers.
- Mentor and coach engineers, supporting their technical growth and career development.
- Work closely with hardware, electrical, systems, controls, test, product, and QA teams to integrate software with the overall product and translate requirements into technical solutions.
- Participate in and help shape agile ceremonies (sprint planning, stand-ups, retrospectives) to keep the team productive and on track.
- Communicate technical risks, trade-offs, and progress clearly to both technical and non-technical stakeholders.
- Evaluate new tools, technologies,