Synaptics is looking for a Sr. Staff Software Engineer, Embedded to join our dynamic and growing organization. The Diagnostics team is seeking an experienced and self-motivated embedded software engineer to work on our Audio/Video SOC products in an exciting and dynamic transformational environment. You will be responsible for developing ARM based low level drivers and diagnostic test programs in C, perform SOC bandwidth and power profiling studies, define validation plans, implement automation tools, and support SOC products to mass-production. This position reports to the Sr. Director, Silicon NPI.
Responsibilities & Competencies Job Duties - Define diagnostics software and architectures for SOC products - Develop wireless SOC simulations and experimentations - Technically lead design of algorithms to improve performance - Partner with cross-functional teams to develop digital/software assisted algorithms and methodologies that ensure good yield, low power, low area and manufacturability - Own definition of test methodologies, diagnostics software optimization, and productization in close collaboration with the design validation team - Review and drive resolution of customer specific SOC related issues - Review the standards and define design modifications and engage in detailed technical discussions with product, software, and system team
Competencies - Familiar with ARM Architecture, MMU, GIC, and DMA concept - Familiar with I2S, PCM, PDM audio interface - Working understanding of SDIO, USB2/3, XSPI, Ethernet, RGMII, and PCIE protocol is a plus - Working understanding of DDR4, LPDDR4 is a plus - Excellent debugging and analytical abilities - Excellent written & verbal communication, interpersonal and analytical skills, including the ability to communicate complex, interactive design concepts clearly to both technical teams and non-technical partners at the appropriate level of detail - Proactive, self-starter, able to work independently in a fast-paced environment to complete projects on time with minimal guidance - Well organized with strong attention to detail; proactively ensures work is accurate - Positive attitude and work ethic; unafraid to ask questions and explore new ideas - Resourceful and able to solve complex problems through adaptation of existing technology and investigation of new technology to resolve complex problems - Strong team player with the ability to work within a diverse team
Qualifications (Requirements) - Bachelor’s degree (Master’s preferred) in Electrical Engineering or Computer Science or related field, or equivalent - 12+ years of experience in Software/embedded development - Hands-on experience with low level drivers, PHY level tuning, and silicon validation - Experience on pre-silicon verification on hardware emulator and FPGA - Demonstrated strong C programming and embedded system software experience - Hands-on experience with different debugging methods in simulation and emulation environments - Prior experience with ARM assembly, RTOS, and Linux - Familiar with I2C, SPI, UART, Timer - Minimal travel up to 10%