Principal Software Engineer
Cadence Design SystemsJob Title
Principal Software Engineer
Role Summary
Join the Innovus R&D team to design and implement advanced routing technologies for Cadence's Innovus digital implementation platform. The role focuses on constrained routing, advanced bus routing, and improving routing quality, performance, and scalability.
Work with cross-functional R&D teams to deliver production-quality routing solutions and provide technical leadership on complex physical-design problems.
Experience Level
Senior (Principal). Years of experience not specified.
Responsibilities
The principal engineer will lead algorithm design and delivery for routing features. Key responsibilities include:
- Architect, design, and implement algorithms for constrained routing and advanced bus routing.
- Develop and optimize routing algorithms for performance, scalability, and quality of results.
- Address complex pin-access, congestion, multi-layer routing, and design-rule challenges.
- Improve runtime, scalability, robustness, and routing quality of results.
- Analyze and solve algorithmic, geometry, and routing problems impacting physical design.
- Collaborate with R&D and cross-functional teams to define technical requirements and deliver production features.
- Mentor junior engineers and guide the technical direction of routing technologies.
Requirements
Must-have technical skills and experience:
- Proven expertise in C/C++, algorithms, data structures, and object-oriented design.
- Experience developing complex, performance-critical software on Linux/UNIX platforms.
- Strong algorithmic problem-solving, debugging, and software-design skills; ability to drive problems from definition through implementation and validation.
- Strong communication skills and experience working effectively across engineering teams.
- Ability to deliver scalable, robust, production-quality software.
Nice-to-have:
- Experience in VLSI CAD, physical design, routing, computational geometry, graph algorithms, or optimization.
- Knowledge of routing concepts such as routing layers, tracks, vias, blockages, pin access, congestion, and design rules.
- Experience with large-scale EDA or algorithm-intensive systems and commercial or academic place-and-route tools.
- Familiarity with scripting languages such as Tcl, Python, or Perl.
Education Requirements
MS or PhD in Computer Science, Electrical Engineering, Computer Engineering, or a related field. No alternative-equivalent degree language provided.
About the Company
Company: Cadence Design Systems
Headquarters: San Jose, California, USA
Cadence Design Systems is a global electronic design automation company that provides software, hardware, and intellectual property for designing advanced semiconductor chips. With over 25 years in the industry, Cadence is known for its innovative technology solutions and has been recognized by Fortune Magazine as one of the 100 Best Companies to Work For. The company is dedicated to solving complex technical challenges in order to enable customers to create revolutionary products and experiences.
