Description
Synaptics is leading the charge in AI at the Edge, bringing AI closer to end users and transforming how we engage with intelligent connected devices, whether at home, at work, or on the move. As the go-to partner for the world’s most forward-thinking product innovators, Synaptics powers the future with its cutting-edge Synaptics Astra™ AI-Native embedded compute, Veros™ wireless connectivity, and multimodal sensing solutions. We’re making the digital experience smarter, faster, more intuitive, secure, and seamless. From touch, display, and biometrics to AI-driven wireless connectivity, video, vision, audio, speech, and security processing, Synaptics is the force behind the next generation of technology enhancing how we live, work, and play.
Overview
Synaptics is looking for a Staff Firmware Engineer, Algorithm to join our dynamic and growing organization. This role will play a key role in new product development in the PC market, working closely with cross-functional teams to deliver robust and innovative solutions. This position reports to the Manager, Algorithms.
Responsibilities & Competencies
Job Duties
-
Design and develop small footprint embedded firmware for use in Synaptics’ products
-
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++
-
Develop and test code to validate firmware functionality and performance
-
Collaborate with cross-functional teams to ensure feature development and implementation meet functional and performance standards
-
Bring up new ASIC and develop new algorithms for Synaptics’ 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 in English
-
Strong team player with the ability to work within a geographically diverse team and willingness to share knowledge
Qualifications (Requirements)
-
Bachelor’s degree (advanced degree preferred) 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 high level language like C/C++
-
Experience with signal processing and Matlab
-
Experience with algorithm development
-
Familiarity with I2C, I3C, SPI, UART or other inter-processor communications
-
Familiarity with analog and digital systems, ADCs, DACs, PWM, DMA.
-
Familiarity with Logic Analyzers, ICE, DVM, Oscilloscope and similar tools
-
Knowledge of capacitive sensing
-
Knowledge of signal processing and Matlab
-
Knowledge of digital circuit verification on FPGA or RTL
-
Experience in USB
-
Experience in bootloaders
-
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.