Our software algorithms team is seeking a highly motivated and detail-oriented software engineer to join the team. The role involves developing and optimizing signal and image processing algorithms across domains such as Display, Touch, Audio, and Sensors, converting reference implementations from one programming language to another (for example, Matlab to C++), with final deliverables in production-grade Python or C++, while leveraging AI tools to accelerate development and building tooling that streamlines algorithm conversion. The goal is to deliver production-grade, highly efficient, and accurate algorithms ready for final deployment. As part of the software algorithms team, you will take existing algorithm implementations, most often written in Matlab though the source may be any programming language, and convert them into high-performance equivalents using the team's internal frameworks. Final implementations are delivered in either Python or C++, depending on the target. These algorithms span multiple domains, including display, touch, audio, and sensor processing, and your work will center on conversion and optimization tasks, with a constant focus on accuracy and performance. The goal is always to produce production-grade, highly efficient, and accurate algorithms ready for final deployment. In many cases a direct, one-to-one port between languages will not be available, requiring you to build custom code grounded in a solid understanding of signal and image processing techniques. While porting, you will look for opportunities to break algorithms into modular blocks, graphs and sub-graphs, that can run in parallel to reduce execution time. You will collaborate closely with technology partners & other algorithm developers to understand each implementation and produce a design document that captures the algorithm's functionality and proposes how it will be decomposed into graphs and sub-graphs for parallel execution. You will present this design proposal to the team before starting implementation, and produce correlation reports that demonstrate the accuracy of the converted implementation, root-causing discrepancies with the algorithm developer when results do not correlate. Throughout the development lifecycle, you will actively leverage AI tools and LLMs to increase your productivity, accelerating code comprehension, cross-language translation, refactoring, and correlation analysis. Beyond using these tools, you will design and build AI-assisted tooling that automates and speeds up algorithm conversion and development for the broader team.
Stand Out From the Crowd
Upload your resume and get instant feedback on how well it matches this job.
Job Type
Full-time
Career Level
Mid Level