About this role
Change the world. Love your job.
Software at TI usually refers to embedded software (such as device firmware, device peripheral drivers, software frameworks, algorithms, etc.) and the related software development tools (compilers, simulators, demo software, IDEs, etc.)
Software engineers are critical to our “whole-product” offerings. We rely on them to ensure our products are easy to use and customers can get our products up and running quickly. To do that, they partner closely with our product development and demand creation teams on pre-silicon software design and requirements as well as software validation and test activities. They also have an eye for backwards and cross-compatibility and reuse to ensure we are as efficient as possible.
In addition, software engineers might work directly with customers on any issues that arise and deliver on-going support along with regular software releases, which includes quality assurance and release management activities.
As a Software Engineer, some of your responsibilities may include:
- Requirements definition, design, development, test, integration, and support of embedded software (e.g. operating system software, device drivers, software frameworks, algorithmic libraries etc.) and software development tools (compilers, simulators, IDEs, etc.)
- Following established software development methodology and practices defined for the business
- Developing and applying machine learning algorithms to edge applications, which may include using AI coding assistant to develop embedded software
- Supporting pre-silicon design and requirements as well as software validation activities
- Impacting hardware architecture requirements from a software usage, compatibility, performance, and reuse potential perspectives
- Using the most up to date coding languages, conducting server analysis and reporting infrastructure
- Creating and maintaining customer collateral for software products and deliverables
- Working closely with TI teams (silicon, hardware, software teams) and customers as part of the normal software life-cycle
- Quality assurance and configuration/release management
ASM (Application Specific MCU) SW group has a strong and robust software development team focused on solving some of the most challenging technical problems in automotive and industrial. We believe that hardware and software advancements go hand in hand, and to give our customers seamless, integrated solutions, we need to drive cutting-edge innovations in both. If software is your passion, TI is the right place for you. Our SW strategy rests open source and community focused SW development which allows you to connects you with 1000s of like-minded engineers whose passion is to innovate and share!
We are seeking an Embedded Security Software Architect to define the software security architecture for our next-generation microcontrollers (MCUs) targeting automotive and industrial markets. In this role, you will bridge the gap between hardware and software, converting silicon capabilities into robust, scalable security software solutions. You will collaborate closely with silicon systems engineers designing custom security IP, work directly with the ROM team to secure the earliest stages of device boot, and serve as a technical mentor to junior security software engineers on the team.
Key Responsibilities
- Security Software Architecture: Architect, define, and document end-to-end security software solutions for MCU platforms, covering secure boot, secure firmware updates (FOTA), runtime security, and secure execution environments.
- Crypto & Key Infrastructure: Define software frameworks for cryptographic key management and manufacturing-time provisioning configurations.
- HSM Service Integration: Design the software interfaces and middleware to fully utilize the gamut of boot-time and runtime hardware security services offered by the HSM, including secure storage isolation, hardware-accelerated cryptographic primitives, and secure debug.
- Cross-Functional Collaboration: Partner with hardware systems engineers to co-define and integrate security hardware IPs (HSM, SHE, Crypto Accelerators).
- Silicon Boot Optimization: Work closely with the ROM design and development teams to ensure a flawless, immutable hardware Root of Trust (RoT) and secure first-stage bootloaders.
- Technical Leadership & Mentorship: Act as a key technical guide for the security software engineering team, providing architectural oversight, code reviews, and mentoring junior engineers, without direct supervisory duties.
- Domain Standards & Compliance: Drive compliance strategies for rigorous automotive and industrial standards, including ISO 26262 (Functional Safety), ISO/SAE 21434 (Automotive Cybersecurity), and IEC 62443 (Industrial Automation). [1]
Qualifications & Requirements
- Education: Bachelor’s or Master’s degree in Computer Engineering, Electrical Engineering, Computer Science, or equivalent.
- Experience: 5-10 years of experience in embedded software development (C/Assembly), with a minimum of 5 years dedicated strictly to embedded software security architecture.
- Industry Domain Knowledge: Proven experience delivering security software for automotive or industrial functional safety/security environments.
- Hardware/Software Co-Design: Deep technical understanding of microcontroller architectures (e.g., ARM Cortex-M/R, RISC-V), TrustZone, MPUs, and Hardware Security Modules (HSM).
- Full-Spectrum HSM Competency: Proven experience implementing both boot-time (e.g., hardware-enforced secure boot, image verification, key injection verification) and runtime (e.g., cryptographic offloading, secure communication stacks like SecOC/TLS, life-cycle state management, runtime tampering/exception handling) services.
- Communication & Mentorship: Exceptional leadership skills with a proven track record of mentoring junior engineers and translating complex silicon hardware concepts into actionable software requirements.
- Desired Extras: Hands-on experience with Rust programming for embedded systems, working familiarity with operating systems/RTOS environments such as Linux, Zephyr, FreeRTOS, or ThreadX is a plus.