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 looking for a Staff Firmware Engineer to join our dynamic and growing organization. The role will be responsible for new product development in the PC market as well development of footprint embedded firmware and algorithms for Synaptics products. This position reports to the Manager, Firmware Engineering.
Responsibilities & Competencies
Job Duties
- Design and develop small footprint embedded firmware for use in Synaptics’ products
- Bring up new ASIC and develop new algorithms for Synaptics’ products
- Work closely with members of the firmware team and cross functional teams to develop quality products
- Investigate problems and identify robust solutions quickly
- Onsite support for customer issues as necessary
Competencies
- Strong C/C++ programming skills and knowledge of scripting languages like Perl and Python
- Excellent debugging an analytical ability
- 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 problems through adapting technology and a solid understanding of product architecture
- Analytical and able to make informed decisions based on experience and data to improve processes and evaluate design options
- Excellent written and verbal communications skills
- Strong team player with the ability to work within a geographically diverse team and willingness to share knowledge
Qualifications (Requirements)
- Bachelor’s degree (or higher) in Computer Science or Electrical Engineering or related field or equivalent
- 8 years of experience in real-time embedded software development, and code development using assembly language and a higher level language like C/C++
- Experience with I2C, I3C, SPI, UART or other inter-processor communications
- Experience with digital signal processing
- Familiarity with analog and digital systems, ADCs, DACs, PWM, DMA.
- Familiarity with Logic Analyzers, ICE, DVM, Oscilloscope and similar tools
- Prior experience with USB or bootloader is beneficial
- Additional skills that help you stand out include knowledge of capacitive sensing, OS signal processing, Matlab, actuator driving (ERM, LRA, Piezo), and digital circuit verification on FPGA or RTL
- Minimal travel less than 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.