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 offers a scalable portfolio of intelligent edge processors, ranging from highly integrated MPUs to high performance MCUs architected for an AI-enabled IoT. We are looking for a talented Staff Software Engineer to join our software team in Bangalore. You will be responsible for design, development, integration & maturity of embedded real-time solutions for the High-performance AI-native 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 MCU platforms; design and optimize the systems for low power, memory usage and low MIPS
- Partner closely with HW & SW Architects to translate requirements into a design and implementation, integrate with other FW/SW teams/members & mature the solution with QA teams
- Integrate algorithms for audio & vision together with neural networks inference techniques
- This is a great opportunity to join a team developing cutting edge solutions for the various consumer electronics markets and technologies utilizing sensors, audio & vision to enable always-on sensing
Competencies
- Extensive experience with ARM Cortex-M series architecture including MPU and DMA
- Proficient in communication protocols/interfaces such as SPI, I2C, USB, and UART
- Strong embedded C/C++ coding and debugging skills
- Strong knowledge of RTOS, specifically FreeRTOS, ZephyrOS, ThreadX, etc.
- Knowledge of CMSIS software packages for ARM M-class cores
- Strong software debugging skills including using JTAG, emulators, or simulators
- Excellent analytical abilities
- Excellent written and verbal communication and interpersonal 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
- Strong team player with the ability to work within a diverse team
Qualifications (Requirements)
- Bachelor’s or master’s degree in CSE/ECE or related field or equivalent
- 8+ plus years of relevant industry experience
- Demonstrated capabilities to develop SW components under power/foot-print sensitive design considerations
- Proven experience in firmware development in a multitasking RTOS environment
- Experience in developing and using low-level drivers for digital processing of video and audio inputs, various communication interfaces and sensors
- Hands-on experience with different debugging methods in simulation and emulation environments
- Experience in a continuous development and integration environment
- Knowledge in various tool chains (ARM, open source (GCC, LLVM), etc.
- Minimal travel based on need (once or twice a 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.