Senior Principal Software Engineer

Website Cadence
Cadence is the leader in hardware emulation-acceleration technology. Our massively parallel processor based Palladium products are used by customers worldwide to develop state-of-the-art multi-billion gate designs. You will join a highly collaborative and enthusiastic team to develop the highest-performance, scalable, hardware-based emulation platforms. This position is located at our San Jose headquarters.
Key responsibilities:
Design, develop, test, deploy, maintain and improve software.
Develop code for high scalability and performance in single and multi-processor / distributed processing environments.
Profile code to understand bottlenecks and develop solutions.
Debug and bring up new systems. Take initiative to resolve issues
Follow and enhance best practices for design methodology, tools and infrastructure
Participate in and contribute to spec reviews, code reviews and test plan reviews
Manage individual project deadlines and deliverables.
Minimum Requirements
Strong software programming skills (C/C++), with emphasis on well-structured code and test methodology
Must have ability to come up to speed on software architecture, analyze bottlenecks, and propose design improvements
Excellent analytical and problem-solving skills required
Excellent verbal and written communication skills.
BS in CS or EE with 10 years of relevant experience in software development
Preferred Qualifications
Experience with distributed and multi-threading algorithms
Experience in using performance profiling tools and analyzing algorithmic performance
Knowledge of Python and data analysis packages
Flynn Was Right: How a 2003 Warning Foretold Today’s Architectural Pivot