Location: Bangalore, India
Date Posted:
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 Software Engineer to join our software team in Bangalore. This is an exciting opportunity to be a part of a global team creating revolutionary products. You will be responsible for design, development, integration & maturity of embedded real-time solutions for the High-performance AI-native wireless connectivity MCUs with tiered inferencing that makes context-aware computing a reality across the smart home, the factory floor and at work. FW/SW Modules and components can vary from BSP level, through Operating System components, service level routines, multi-core & cross-platform to Application-level ones. This position reports to the Sr. Manager, Software Engineering.
Responsibilities & Competencies
Job Duties
Develop embedded firmware that runs on different ARM M class MCU platforms; design and optimize the systems for low power, memory usage and low MIPS
Adapting TensorFlow Lite to run on an ARM U55 platform
Ensuring that ML models run efficiently on the hardware, which involve performance tuning, memory optimization, and debugging
Partner closely with HW & SW Architects to translate requirements into a design and implementation, integrate actions with other FW/SW teams, and mature the solution with QA teams
This is a fantastic opportunity to join a team developing innovative solutions for various consumer electronics markets and technologies utilizing sensors, pre-tape out qualification, silicon bring-up, and feature development of Wireless connectivity MCU sub-systems
Competencies
Experience with ARM Cortex-M series architecture.
Strong C/C++ Programming skills
Good understanding of Free RTOS and Zephyr concepts
Excellent debugging and analytical abilities using JTAG
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 routine problems through practical use of technology
Good 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 degree in Computer Science/Electronics Engineering or related field or equivalent
2+ years of relevant industry experience
Hands-on experience working with peripherals driver and firmware
Experience with embedded systems and real-time operating systems (RTOS)
Demonstrated capabilities to develop SW components under power/foot-print sensitive design considerations
Experience in designing, optimizing, and deploying machine learning models on U55 small NPUs for edge applications
Minimal travel based on need (once or twice per year)
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.