Principal Engineer – Embedded Systems & Security
Karma Automotive · Irvine, CA · 1 mo ago
Engineering$185k–$230k/yrFull-time
Responsibilities
- Ensure architectural alignment with ISO 21434 cybersecurity principles
- Lead cybersecurity initiatives, own the cybersecurity management system
- Define and evolve the end-to-end software architecture across vehicle and cloud platforms, covering edge devices, embedded ECUs, zone controllers, and cloud services
- Design and guide implementation of microservice-based architectures for data analytics, OTA (Over-the-Air) updates, diagnostics, and connected vehicle features
- Collaborate with hardware, systems, and software teams to ensure scalable, modular, and safe system integration
- Lead architecture reviews and define software interfaces, service APIs, and communication protocols (e.g., SOME/IP, DDS, MQTT, REST/gRPC)
- Mentor cross-functional engineering teams on architecture best practices, design patterns, and code quality standards
- Evaluate and integrate third-party technologies, frameworks, and toolchains to improve platform capabilities
- Support model-based system design, safety analysis, and traceability of requirements to implementation
Qualifications
- Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, or related field
- 10+ years of experience in software architecture or systems engineering within automotive or embedded domains
- Proven experience in both cloud-native software development (microservices, containers, Kubernetes, CI/CD pipelines, RESTful APIs) and low-level embedded development (C/C++, AUTOSAR, RTOS, bootloaders, CAN/Ethernet)
- Strong understanding of distributed systems, data communication protocols, and service discovery
- Hands-on experience designing or validating safety-critical systems under ISO 26262 (ASIL-B or higher)
- Formal training in ISO 21434 or equivalent cybersecurity frameworks for connected vehicles
- Experience with DevOps, container orchestration, and secure software deployment pipelines
- Proficiency in multiple programming languages (e.g., C, C++, Python, Java, Rust, or Go)