Software Algorithm Engineer - Sr
Location : San Jose, CA
Headquarters : San Jose, California, United States
Hiring Mode : Full Time
Experience : Senior Level
Senior Engineer – Software Algorithm Development
- Founded in 2003, InvenSense Inc., a TDK Group Company, is the world’s leading provider of MEMS sensor platforms. InvenSense’s vision of Sensing Everything™ targets the consumer electronics and industrial markets with integrated Motion and Sound solutions. Our solutions combine MEMS (micro electrical mechanical systems) sensors, such as accelerometers, gyroscopes, compasses, and microphones with proprietary algorithms and firmware that intelligently process, synthesize, and calibrate the output of sensors, maximizing performance and accuracy. InvenSense’s motion tracking, audio and location platforms, and services can be found in many of the world’s largest and most iconic brands including smartphones, tablets, wearables, drones, gaming devices, internet of things, automotive products, and remote controls for smart TVs.
- InvenSense is headquartered in San Jose, CA, and has offices in Boston, China, Taiwan, Korea, Japan, France, Canada, Slovakia, and Italy. We’re looking for top-notch engineers to join our global team. If you’re interested in being a part of our journey and helping us grow to become the leading provider of SoC platform solutions, we want to hear from you.
Mission and Opportunity
- You will bring your technical expertise in the fields of algorithm design to our motion, wearable, and IoT products targeting the consumer market as we expand our team in San Jose, California.
- You will be responsible for the algorithm conception of new functionalities, the improvement or optimization of existing algorithms, and their industrial implementation in domains relying on raw motion sensor data and other types of sensors. Producing robust and reliable algorithms and measuring their performance and assessing their footprint under real conditions (characterization) is an important part of the position. At TDK/InvenSense we foster a collaborative and supportive engineering and business culture. Therefore, your ability to demonstrate excellent communication skills is critical as you interact with engineers from other teams (system, validation, embedded software development, and marketing), partners, and suppliers. In doing so, you will enjoy the opportunity to be visible and measurably contribute to the advancement of our technology and product lines.
Primary Job Responsibilities:
- Design, develop and implement novel algorithms
- Improve existing algorithms and adapt them to respect embedded systems constraints
- Design and develop clean, documented, and easy to maintain code
- Characterize algorithm performance against defined project objectives; proposed implementation targets; and associated computational and memory constraints.
- Conduct fast-track feasibility studies and proof of concepts of new features
- Perform investigatory analysis, requirements definition, algorithm design, prototype implementation, performance evaluation, analysis, and presentation of results and ideas
- Design and implement sensor data fusion methods for improved performance
- Define relevant test criteria, acquisition protocols, data gathering, and acquisition. These are all key areas to feed in the algorithm development, characterization, and testing.
- Identify opportunities and features that can leverage InvenSense sensing technologies.
- Support different teams in feature validation and integration processes
- Support FAEs/Marketing on delivered software and features. Develop demonstrators when needed.
- Produce reports and presentations summarizing progress on projects, effectively and engagingly presenting complex technical information and analysis to team members and management
Essential Skills and Experience
- MSc/Ph.D. in Computer Science, Signal Processing, Mathematics, Telecommunication or Similar
- Minimum 5+ years of experience in a similar industrial context
- Strong background in digital/statistical signal processing (ideally inertial sensors, and/or other sensors)
- Good understanding of software development
- Ability to conceive robust and reliable algorithms
- Ability to innovate, characterize, debug and evaluate algorithms
- Experience in software production with industrial standards (C/C++).
- Experience in fixed-point implementation and algorithm optimization methods
- Passionate, problem solver, autonomous, and team player
- Enthusiasm to learn/share new methods and techniques within several technical areas
- Excellent English communication (speak, read, write) skills are mandatory
- Cohesive ability to work in an international, multicultural environment
- Experience in software architecture, code documentation, and versioning tools (e.g. Git) – a plus
- Experience in machine learning and deep learning methods is a plus
- Proficiency in C, MATLAB, and Python is a plus
Reporting & Interactions
- Direct report to the local manager
- Frequent interactions with the extended team based in Grenoble, France
- Frequent interactions with cross-functional teams including QA, platform, and tools
- Occasional interactions with FAEs and marketing