#R53110
).
Design and implement algorithm prototypes and integrate selected solutions into a production codebase.
Analyze performance using real testcases and workloads; propose optimizations based on profiling and empirical results.
Communicate findings clearly through technical write-ups and presentations.
Perform other related duties as assigned to support project milestones.
Mentorship & Growth
You will work side-by-side with experienced software engineers and receive continuous feedback and coaching from a dedicated mentor. Our internship program is a primary channel for identifying top emerging talent for our core development team and can be a strong path toward future full-time opportunities at Cadence.
Minimum Qualifications
Proficient programming skill in C/C++ on Linux.
Solid understanding of data structures and algorithms (graphs, complexity analysis, optimization).
Good taste in making technical decisions.
Preferred Qualifications
Graph algorithms (partitioning, clustering, matching, flow/cut, heuristics/metaheuristics)
Parallelism and concurrency (threading models, task scheduling, or GPU acceleration)
Performance engineering (profiling, memory/layout optimization, algorithmic tuning)
Computer architecture or systems-level optimization
Experience with modern development workflows on Linux (e.g., Git, CI, CMake).
Ability to prototype efficiently using modern tools, including vibe coding, while maintaining strong engineering judgment and code quality.
Passion for solving complex problems and building robust solutions (not just assembling components from existing libraries).
We're doing work that matters. Help us solve what others can't.