2026 Summer Intern

Posted:
2/9/2026, 2:00:29 PM

Location(s):
Zhubei City, Taiwan

Experience Level(s):
Internship

Field(s):
Software Engineering

At Cadence, we hire and develop leaders and innovators who want to make an impact on the world of technology.

About the Role

This internship is an intensive 2-month program with the Cadence Palladium R&D team. Cadence Palladium is a market-leading high-performance hardware system used to accelerate design execution and verification at scale. 

 

In this role, you will help the team study, prototype, and develop an effective and efficient graph partitioning algorithm for use in our product. You will work closely with experienced engineers on production-grade software, and you will contribute to algorithmic solutions that address real-world performance and scalability constraints.

 

What You’ll Do

* Research and evaluate graph partitioning approaches relevant to product requirements (e.g., balance constraints, cut minimization, runtime/quality trade-offs). 

* 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

* Coursework or project experience in one or more of the following: 

  • 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.