Lead Software Engineer
Summary
Lead Software Engineer on Cadence's Innovus team, developing next-generation routing and physical synthesis technologies for digital IC design. Day to day: research, implement, and optimize algorithms in high-performance, multi-threaded C/C++ software on Linux, collaborating with global R&D teams.
At Cadence, we hire and develop leaders and innovators who want to make an impact on the world of technology.
About the Role
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
- Research, 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
- Ph.D. degree or Master’s degree with minimum 2 years of work experience in Computer Engineering or Science, Electrical Engineering, 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.
- Experience with GPU programming
- Familiarity with scripting languages (Tcl, Python) for automation.
- Prior exposure to EDA tools or IC design environments.
