As an experienced software developer with a focus on embedded systems, your role will involve leading the design and development of software for various processor platforms. Your expertise should include hands-on work with Linux, Yocto BSP, ARM, and x86 architectures, with a strong background in system-level programming for Linux and developing device drivers. **Key Responsibilities:** - Lead the design and development of software for various processor platforms - Hands-on work with Linux, Yocto BSP, ARM, and x86 architectures - Develop device drivers for a wide range of hardware interfaces including USB, ATA, Video, Audio, Ethernet, CAN, NAND flash, NOR flash, DDR3/4, SDRAM, HDMI, PCI Express, SPI, and I2C - Optimize software in assembly language, C, and C++ for embedded systems - Prepare technical documentation including design verification test documents, software development plans, design specifications, and requirements specifications **Qualifications Required:** - At least 6+ years of experience in software development with a focus on embedded systems - Proficiency in programming languages such as assembly language, C, and C++ - Extensive experience with ARM, Power PC, and x86 processor cores - Familiarity with Agile/Scrum development methodologies - Experience with tools like spectrum analyzers, oscilloscopes, and JTAG debuggers - Proficiency in developing software for Linux with Yocto BSP platforms - Knowledge of wireless technologies like 802.11, WiFi, Bluetooth, GPS, and cellular,