Software Engineer II

Cadence

Job Summary

Join the Innovus team at Cadence to develop next-generation routing and physical synthesis technologies for digital IC design. This role involves designing, implementing, and optimizing algorithms for high-performance, multi-threaded systems in C/C++ on Linux. You will collaborate with global R&D teams to deliver innovative solutions and debug complex issues, contributing to advanced semiconductor design flows.

Must Have

  • Design, implement, and optimize algorithms for physical synthesis and routing engines.
  • Develop robust, scalable software in C/C++ on Linux platforms.
  • Collaborate with global R&D teams and product engineers to deliver innovative solutions.
  • Debug and resolve complex issues in large-scale distributed systems.
  • Master’s degree in Electrical Engineering, Computer Science, or related field.
  • Strong programming skills in C/C++ and experience with Linux development.
  • Solid understanding of data structures, algorithms, and software engineering principles.
  • Excellent analytical and problem-solving skills.

Good to Have

  • Knowledge of physical design flows, timing analysis, and routing algorithms.
  • Experience with multi-threaded programming and performance optimization.
  • Familiarity with scripting languages (Tcl, Python) for automation.
  • Prior exposure to EDA tools or IC design environments.

Job Description

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

Join the Innovus team to develop next-generation routing and physical synthesis technologies for digital IC design. You will work on high-performance, multi-threaded systems that enable advanced semiconductor design flows.

Key Responsibilities

  • Design, implement, and optimize algorithms for physical synthesis and routing engines.
  • Develop robust, scalable software in C/C++ on Linux platforms.
  • Collaborate with global R&D teams and product engineers to deliver innovative solutions.
  • Debug and resolve complex issues in large-scale distributed systems.

Minimum Qualifications

  • Master’s degree in Electrical Engineering, Computer Science, or related field.
  • Strong programming skills in C/C++ and experience with Linux development.
  • Solid understanding of data structures, algorithms, and software engineering principles.
  • Excellent analytical and problem-solving skills.

Preferred Qualifications

  • Knowledge of physical design flows, timing analysis, and routing algorithms.
  • Experience with multi-threaded programming and performance optimization.
  • Familiarity with scripting languages (Tcl, Python) for automation.
  • Prior exposure to EDA tools or IC design environments.

We’re doing work that matters. Help us solve what others can’t.

6 Skills Required For This Role

Cpp Data Structures Game Texts Linux Python Algorithms