Description
Millions of people experience Synaptics every day. Our technology impacts how people see, hear, touch, and engage with a wide range of IoT applications -- at home, at work, in the car or on the go.
We solve complex challenges alongside the most influential companies in the industry, using the most advanced algorithms in areas such as machine learning, biometrics, and video processing, combined with world class software and silicon development.
Overview
Synaptics is seeking a highly skilled and motivated Sr. Staff Firmware Engineer to join our dynamic team. The ideal candidate will play a key role in the development and maintenance of embedded firmware, working closely with cross-functional teams to deliver robust and innovative solutions. This role involves the design, development, testing, and troubleshooting of firmware for various touch solutions across different product lines. This position reports to the Sr. Manager, Software Engineering.
Responsibilities & Competencies
Job Duties
- Collaborate with system architects, hardware and software engineers, and other stakeholders to understand technical features and system requirements and translate these into actionable firmware designs that meet performance, reliability, and scalability criteria
- Develop innovative design solutions for new and existing features by evaluating different approaches based on performance, power consumption, memory footprint, scalability, and other constraints to ensure optimal firmware implementation
- Write and maintain efficient, scalable, and robust firmware code in C/C++, ensuring alignment with technical and project requirements
- Develop and test code in Python or MATLAB to validate firmware functionality and performance
- Collaborate with cross-functional teams across different geographical locations, including system architecture, hardware, software, and validation teams, to ensure feature development and implementation meet functional and performance standards
- Diagnose and troubleshoot complex issues related to firmware and hardware integration using debugging tools such as JTAG, oscilloscopes, logic analyzers, and other diagnostic instruments to identify and resolve problems
Competencies
- Familiar with QA validation methodologies and able to perform QA testing independently
- Proactive, self-starter, able to work independently in a fast-paced environment
- 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 practical use of technology and a solid understanding of product architecture
- Analytical and able to make informed decisions based on experience and data
- Strong verbal and written communication skills, in English
- Strong team player with the ability to work collaboratively within a diverse cross-functional team
Qualifications (Requirements)
- Bachelor’s or Master’s degree in Computer Science, Electrical Engineering or related fieldor equivalent
- 8 years of experience in firmware development for embedded systems
- Strong of programming experience in C/C++ required; Understanding of assembly code is a plus
- Experience with microcontrollers, microprocessors, and system-on-chip (SoC) architectures
- Experience with real-time operating systems (RTOS)
- Proficient in hardware interfaces and communication protocols (e.g. I2C, I3C, SPI, UART, USB)
- Strong understanding of embedded software development processes, including version control systems (e.g., Git) and build systems
- Hands-on experience with debugging and diagnostic tools such as JTAG, oscilloscopes, and logic analyzers
- Minimal travel up to 10%
Belief in Diversity
Synaptics is an Equal Opportunity Employer committed to workforce diversity. Qualified applicants will receive consideration without regard to race, sex, sexual orientation, gender identity, national origin, color, age, religion, protected veteran or disability status, or genetic information.