Principal Software Engineer
cadence · SAN JOSE, United States
About The Role
At Cadence, we hire and develop leaders and innovators who want to make an impact on the world of technology.
Job Duties
- Research, design, and develop computer and network software or specialized utility programs for multinational computational software company.
- Analyze user needs and develop software solutions, applying principles and techniques of computer science, engineering, and mathematical analysis.
- Implement special routing algorithm in C++ programming language.
- Design efficient data structures to support routing logic.
- Optimize algorithm performance for large-scale circuit layouts.
- Test and validate the implemented software on various customer designs.
- Run test cases on real-world customer design files to ensure correctness.
- Debug and fix issues found during validation on different design scenarios.
- Decide the technical specifications in meetings.
- Collaborate with cross-functional teams to define algorithm requirements.
- Document and review technical decisions made during design discussions.
- Make regression tests to maintain the code quality.
- Create automated test scripts to ensure new features do not break existing functionality.
- Analyze test results and update test coverage as needed.
- Make documents for the development.
- Write technical documentation for algorithm design and usage.
- Maintain change history for implemented features.
- Develop new algorithms on routing software development, regularly submit papers in international conferences and journals, and patents in the US.
- Attend various conferences for VLSI circuit design and EDA routing software development for state-of-the-art technologies and mentor other team members accordingly.
- Some telecommuting permitted.
- Must be available to work on projects at various, unanticipated sites throughout the United States.
Qualifications
- Doctorate degree in Computer Engineering, Computer Science, or related field.
- Minimum four (4) years of experience in the job offered or in a related occupation.
- Utilize C++ programming to develop EDA software products
- Utilize scripting languages such as Python to implement raw data processing/clustering, toolkit for development, and machine learning
- Algorithms, particularly EDA-related algorithms including bidirectional A* Algorithm, Sorting, Linked List Management, DFS/BFS, Graph Algorithm, Dynamic Programming and Tree Data Structure
- Multithreaded and parallel programming
- Electronic circuits and Very-Large-Scale Integration (VLSI)
- IC design flow and EDA tools, including synthesis, place-and-route, or timing analysis
- Computer architecture and operating system
- Compiler and formal language
- Must be available to work on projects at various, unanticipated sites throughout the United States.
The annual salary range for California is $219,960 to $253,500. You may also be eligible to receive incentive compensation: bonus, equity, and benefits. Sales positions generally offer a competitive On Target Earnings (OTE) incentive compensation structure. Please note that the base salary range is a guideline, and individual total compensation may vary based on factors such as qualifications, skill level, competencies and work location. Our benefits programs include: paid vacation and paid holidays, 401(k) plan with employer match, employee stock purchase plan, a variety of medical, dental and vision plan options, and more.
We’re doing work that matters. Help us solve what others can’t.
Similar roles you might like
See all →This is an external listing. JobSpring does not represent or verify the employer. Report this listing
