Software Engineer II
Cadence
Job Summary
Cadence Design Systems is seeking a highly motivated Software Engineer II for the Digital Design and Implementation Group. This role involves innovating, designing, and developing key technology for the Innovus™ product, primarily focusing on Clock Tree Synthesis (CTS). The engineer will research, design, and implement EDA physical design algorithms, develop code in C/C++ and Tcl, and explore AI/ML techniques to enhance quality of results. The position is based in Austin, TX, working within a global team.
Must Have
- MS in Computer Engineering, Computer Science, Electrical Engineering, or equivalent
- C/C++ software development experience in Linux environment
- Strong understanding and extensive usage of data structures and algorithms
- Highly technical engineer with excellent problem-solving skills
- Good communication skills and ability to work in a distributed software engineering team
Good to Have
- Experience in the use of AI/ML for EDA
- Knowledge of EDA physical design algorithms
- Knowledge of timing analysis
- Knowledge of multi-threading
Job Description
Job Overview:
Cadence Design Systems is looking for a highly motivated Software Engineer to work with the Digital Design and Implementation Group engineering team. You will be joining an exciting R&D team responsible for innovating, designing, and developing key technology used within the Innovus™ product. The position is based in Austin, TX working within a global team.
Job Responsibilities:
- Research, design, and implement EDA physical design algorithms and technology, primarily in Clock Tree Synthesis (CTS).
- Develop code in C/C++ and Tcl within a distributed software development environment with other contributors.
- Explore and integrate AI and Machine Learning (ML) techniques to improve quality of results.
- Optimize existing technology solutions and determine opportunities for further enhancements.
There is a significant research element to the work that Cadence does that is truly innovative; we often don’t know what the answers are when we start out! Familiarity with and application of AI/ML techniques will empower the team to deliver truly next-generation tool solutions.
Job Qualifications/Requirements:
- MS in Computer Engineering, Computer Science, Electrical Engineering, or equivalent.
- C/C++ software development experience in Linux environment.
- Strong understanding and extensive usage of data structures and algorithms.
- Highly technical engineer with excellent problem-solving skills.
- Good communication skills and ability to work in a distributed software engineering team.
Preferred:
- Experience in the use of AI/ML for EDA is a strong plus.
- Knowledge of EDA physical design algorithms, timing analysis, and multi-threading.