> Markdown version of [/jobs/ext/2035172-embedded-software-engineer-c-c-micro-controller](https://www.wearedevelopers.com/jobs/ext/2035172-embedded-software-engineer-c-c-micro-controller). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Embedded Software Engineer (C/C++ | Micro Controller) - **Company:** KLA Corporation - **Location:** Milpitas, CA, United States - **Experience:** Experienced - **Salary:** $136,300.0 - $231,700.0 - **Contract:** Permanent contract - **Skills:** Board Bringup, Microsoft Windows, ARM Architecture, Booting (BIOS), C++ (Programming Language), Complex Networks, Computer Programming, Computer Engineering, Data Transmissions, Software Debugging, Linux, Device Drivers, Linux on Embedded Systems, Embedded Software, Ethernet, Firmware, Field-Programmable Gate Array (FPGA), FreeRTOS, InfiniBand, Python (Programming Language), Kernel Debuggers, LabVIEW, Linux Distribution, MATLAB, Object-Oriented Software Development, Package Management Systems, PCI Express, Performance Tuning, Software Architecture, Real-Time Operating Systems, Signal Processing, Software Engineering, System Software, Systems Integration, Universal Asynchronous Receiver/Transmitter, Image Acquisition, Serial Peripheral Interface, PIC Microcontroller, Peripherals, Yocto, Information Technology - **Published:** August 12, 2026 - **Apply:** https://diversityjobs.com/main/sendform/8/8/28176/1/17914007?backUrl=%2Fcareer%2F17914007%2FEmbedded-Software-Engineer-C-C-Micro-Controller-California-Milpitas ## About the Role * Strong experience developing firmware for ARM Cortex-R/M class processors operating in memory-constrained, real-time environments. * Experience with TI Jacinto or Sitara platforms. * Experience developing software for TI C66x and/or C7x DSP architectures. * Strong experience with PCIe architecture, device drivers, and system integration. * Experience with camera interfaces, image processing pipelines, sensor integration, industrial automation, or precision motion-control applications, including high-performance CCDs and photodiodes. * Experience using LabVIEW, Python, and MATLAB. * Experience with object-oriented design and C/C++ development. * Hands-on knowledge of machine and motion-control systems. * Experience developing software for high-speed network data transfer using protocols such as InfiniBand or RoCE, including data-path configuration and routing across complex network topologies. * Experience developing signal-processing applications, including FFT/DFT-based algorithms., * Proficiency in embedded Linux development, including BSP customization, device drivers, kernel debugging, bootloader integration, system bring-up, and performance optimization. * Hands-on experience with the Yocto Project for BSP integration, package management, Linux distribution creation, and build system customization. * Good understanding of embedded peripherals and interfaces, including SPI, I2C, UART/serial, GPIO, and Ethernet. * Strong programming skills in C/C++ for embedded systems development. * Experience with FPGA interfacing and inter-board communication. * Ability to read electronic schematics and use basic electronic instruments, such as digital multimeters and oscilloscopes. * Experience with RTOS environments such as FreeRTOS, TI-RTOS, or equivalent platforms. * Experience developing software on ARM-based SoCs and multicore embedded systems. * Strong debugging, problem-solving, and system integration skills. * Excellent written and verbal communication skills., * Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical discipline with 5+ years of relevant experience; or an advanced degree with 2+ years of relevant experience. ## Description * Develop embedded firmware and software in C/C++ for heterogeneous SoC platforms, including ARM application processors, ARM real-time cores, and TI C66x/C7x DSPs, across Linux and RTOS environments. * Design and implement software for precision motion control, machine automation, camera configuration and image acquisition, sensor data acquisition, and real-time signal processing. * Analyze system-level requirements and architect, design, develop, and debug low-level software for complex hardware subsystems. * Develop and maintain Board Support Packages (BSPs), device drivers, bootloader configurations, and platform software for embedded Linux systems. * Perform hardware bring-up, system integration, performance tuning, and root-cause analysis across processors, peripherals, networking interfaces, imaging subsystems, and control systems. * Collaborate closely with Electrical, FPGA, Mechanical, Systems, and Product Engineering teams across global locations, including the United States, India, and Singapore. * Develop diagnostic, configuration, and validation tools in C++ and Python on Windows platforms to support engineering development, manufacturing, and field troubleshooting. * Enhance and maintain existing firmware and software architectures to improve subsystem control, diagnostics, reliability, performance, and scalability. * Work directly with customers, suppliers, and technology partners, as needed, to support system integration, issue resolution, and product deployment. ## Related Videos - [Leveraging Large Language Models for Legacy Code Translation: Challenges and Solutions](https://www.wearedevelopers.com/videos/1157-leveraging-large-language-models-for-legacy-code-translation-challenges-and-solutions) - [Docker network without Docker](https://www.wearedevelopers.com/videos/1418-docker-network-without-docker) - [Unleashing the Full Potential of the Arm Architecture – Write Once, Deploy Anywhere](https://www.wearedevelopers.com/videos/940-unleashing-the-full-potential-of-the-arm-architecture-write-once-deploy-anywhere) - [Building a hypercar from scratch](https://www.wearedevelopers.com/videos/607-building-a-hypercar-from-scratch) - [Software stack under and over the hood of the fastest accelerating car in the world](https://www.wearedevelopers.com/videos/221-software-stack-under-and-over-the-hood-of-the-fastest-accelerating-car-in-the-world) - [Docker exec without Docker](https://www.wearedevelopers.com/videos/1094-docker-exec-without-docker) ## Related Articles - [How We Built a Worry-Free System That Runs for 10+ Years – And What We’d Do Again](https://www.wearedevelopers.com/magazine/751-how-we-built-a-worry-free-system-that-runs-for-10-years-and-what-we-d-do-again) - [Highest Paying Tech Companies for Developers](https://www.wearedevelopers.com/magazine/220-highest-paying-tech-companies-for-developers) - [Is Software Engineering Hard?](https://www.wearedevelopers.com/magazine/448-is-software-engineering-hard) - [Why Upskilling And Reskilling is Important For Developers](https://www.wearedevelopers.com/magazine/428-why-upskilling-and-reskilling-is-important-for-developers) - [Where to Find Entry-Level Software Engineering Jobs](https://www.wearedevelopers.com/magazine/397-where-to-find-entry-level-software-engineering-jobs) - [Where To Find Software Engineering Jobs](https://www.wearedevelopers.com/magazine/396-where-to-find-software-engineering-jobs)