Software Engineer, Algorithms (SDE)

Cupertino, CA, US • Posted 1 day ago • Updated 3 hours ago
Full Time
On-site
Fitment

Dice Job Match Score™

🎯 Assessing qualifications...

Job Details

Skills

  • Software Engineering
  • Attention To Detail
  • FOCUS
  • Management
  • Collaboration
  • Design Documentation
  • Proposal Writing
  • ROOT
  • Code Refactoring
  • C
  • Object-Oriented Programming
  • C++
  • Parallel Computing
  • Python
  • Prototyping
  • MATLAB
  • Algorithms
  • Digital Signal Processing
  • Productivity
  • Software Development
  • Computer Science
  • Translation
  • Artificial Intelligence
  • Writing
  • Shipping
  • Performance Analysis
  • Optimization
  • Concurrent Programming
  • Image Processing
  • Sensors
  • Xcode
  • OS X
  • Decision-making

Summary

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.

Description

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.

Minimum Qualifications

5+ years of professional software development experience.

BS in Computer Science

Strong command of C/C++ and an object-oriented language.

Experience with C++14/C++17, including working knowledge of templates and parallel programming.

Proficiency in Python for algorithm implementation, tooling, prototyping, and correlation analysis.

Working knowledge of Matlab.

Knowledge of signal and/or image processing and algorithm design.

Understanding of DSP (digital signal processing).

Proficiency using AI tools and LLMs (e.g., AI coding assistants) to increase development productivity.

Preferred Qualifications

5+ years of professional software development experience.

MS in Computer Science

Experience building developer tooling, code-translation utilities, or automation pipelines, especially AI/LLM-powered tools.

Experience writing and shipping production-grade code, with attention to efficiency, accuracy, and deployment readiness.

Experience with performance analysis, profiling, and optimization of compute-intensive code.

Experience with parallel/concurrent programming and decomposing workloads into parallel execution graphs.

Experience across one or more signal/image processing domains such as display, touch, audio, or sensors.

Experience with Xcode and macOS.

Experience with telemetry, key metrics, and data-driven decision-making.
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.
  • Dice Id: 90733111
  • Position Id: bf189e7e31f4dbe448643311374b61db
  • Posted 1 day ago
Create job alert
Set job alertNever miss an opportunity! Create an alert based on the job you applied for.

Similar Jobs

Santa Clara, California

Today

Full-time

USD 167,000.00 - 250,600.00 per year

Santa Clara, California

Today

Full-time

USD 142,200.00 - 213,200.00 per year

Milpitas, California

Today

Full-time

USD 159,500.00 - 271,200.00 per year

San Francisco, California

Today

Full-time

USD 161,637.00 - 175,000.00 per year

Search all similar jobs