Lead Software Engineer/Architect
- San Jose, CA
Synaptics is the pioneer and leader of the human interface revolution, bringing innovative and intuitive user experiences to intelligent devices. Synaptics' broad portfolio of touch, display, biometrics, voice, audio, and multimedia products is built on the company's rich R&D, extensive IP and dependable supply chain capabilities. With solutions designed for mobile, PC, smart home, and automotive industries, Synaptics combines ease of use, functionality and aesthetics to enable products that help make our digital lives more productive, secure and enjoyable. (NASDAQ: SYNA ) www.synaptics.com .
- This position is part of the CTO Office team that works on creating significant new product opportunities for Synaptics. The work involves a variety of tasks and responsibilities and is well-suited for a system-level thinker with a broad engineering background and analytical thought processes.
- The current projects are focused on computer vision and AI-at-the-edge. As such, the candidate will be responsible for creating software to aid in data collection and processing. The candidate will also be responsible for producing demo applications that stream live camera data through an image processing and DNN inferencing pipeline and viewing output.
- The candidate will need to gain a deep understanding of our multimedia SoCs and EVKs, our Embedded Linux and Android SDKs, our SyNAP (Synaptics Neural Network Acceleration and Processing) technology, and how to optimize processing across multiple ARM cores, a GPU and a Neural Processing Unit (NPU).
- The candidate will be responsible for architecting, implementing and documenting embedded demo applications and development kits for both internal evaluation and for going to customers for evaluation.
- The candidate will be responsible for working with the Computer Vision and Machine Learning team that will create various algorithms and neural network models for integration into our applications as well as working with various other teams across Synaptics to leverage their products and technologies for our work.
- The candidate must be self-motivated, customer focused and enjoy challenges. The candidate must also have good written and verbal skills, as interfacing with other members of the team, the company and customers, locally and remotely, is an important facet of the position.
- Minimum B.S., M.S. EE or CS preferred, with emphasis on system software, computer vision, machine learning and embedded products
- Experience architecting, developing and implementing software solutions, both in embedded environments (Embedded Linux/Android) as well as on a PC (Windows), preferably for computer vision and machine learning applications
- Good overall system knowledge of computer vision solutions, and image flow from the camera sensor, ISP, NPU, and output. Experience with deployment and optimization of machine learning models is desired (e.g., TensorFlow Lite).
- Knowledge and experience with SoCs, imaging systems and the various image file formats
- Rigorous and methodical approach to problem solving
- Experience utilizing statistical and analytical methods to solve complex problems required
- Sense of ownership and pride in one's work
Additional Desired Experience:
- Cross-platform solutions: environments, build systems, and frameworks (e.g., Docker, CMake, and Qt)
- Languages: C++, Java, Python
- Computer vision and multimedia libraries (e.g., OpenCV and Android MediaPlayer)
- ML/AI tools and libraries (e.g., TFLite and ONNX
Back to top