Cadence Design Systems
Principal C++ Software Engineer - Partitioning and Optimization
Cadence Design Systems, San Jose, California, United States, 95199
About the Company:Cadence is a pivotal leader in electronic design, building upon more than 30 years of computational software expertise. The company applies its underlying Intelligent System Design strategy to deliver software, hardware and IP that turn design concepts into reality. Cadence customers are the world's most innovative companies, delivering extraordinary electronic products from chips to boards to systems for the most dynamic market applications including consumer, hyperscale computing, 5G communications, automotive, aerospace industrial and health.At Cadence, we hire and develop leaders and innovators who want to make an impact on the world of technology.About the Role:Protium Prototyping Platform is part of the Cadence Dynamic Duo that has been a huge success with our customers. With Cadence® Protium prototyping platforms, design and verification teams can rapidly bring up a prototype and provide a pre-silicon platform for early software development, system validation, and hardware regressions.As a Principal Software Engineer you will be responsible in development of new features and algorithms to improve the Protium Platform mainly in partitioning and optimization algorithms. The candidate is also expected work with technical support lead and key customers to resolve implementation or usage issues.You will be working with a dream team on providing a breakthrough solution in the multi FPGA prototyping space.Responsibilities:Development of new features and algorithms to improve the Protium PlatformWork with technical support lead and key customers to resolve implementation or usage issuesProvide a breakthrough solution in the multi FPGA prototyping spaceQualifications:Bachelors in Computer Science, Electrical Engineering or Computer Engineering with a minimum of 7 years of related experience, or Masters with a minimum of 5 years of related experience, or PhD with a minimum of 1 year of related experience.Required Skills:Experience in EDA (Emulation/Simulation)Hands-on experience and expertise in C/C++ programming languageExcellent problem-solving skillsExpertise in Data structures and AlgorithmsExcellent debugging skills of complex, large programsPassionate to learn and explore new technologies and platforms