Principal Software Engineer (R&D, strong C/C++; Remote)

Cadence Design Systems
Washington, DC
Dec 05, 2022
Dec 07, 2022
Full Time
A$ A' "A' ?Cadence has a 30-year history of applying leading edge optimization and analysis algorithms to extremely complex problems in semiconductor and electronic design, verification, and analysis.We are looking for talented software engineers to join our verification team. You'll have a great opportunity to make a difference by applying your creativity and problem-solving skills to solve large scale compile problems such logic optimization, partitioning and performance. More specifically, you will be part of the Xcelium compiler performance team whose responsibilities are to implement compiler language features and speed up the compile time of systemVerilog models. One of the team major project is to rearchitect the compiler to reduce the memory and time required to build digital models with a focus towards highly replicated designs. The candidate will work in a team of senior architects on an organization wide mission critical project. The responsibilities will include profiling, analyzing performance and coming up with more performant solutions. The team is looking for a dynamic innovative candidate in search of a challenging strategic project. The team has a strong presence in Boston Massachusetts but we are welcoming prospective candidates from other locations of similar time zones (any state in the US, Canada or other countries). Cadence offers a flexible work environment and working remotely from home for the right candidate will be considered.Job responsibilities:Develops software solutions that are memory and time efficientStudy and Improve existing algorithms of the compilerInvestigate xcelium performance problem areasAnalyze performance data collected by compiling customer designs and develop optimizations that speed up or reduce memory of the compilation processDocuments solutions with functional and design specificationsThoroughly test developed codeDesired skills and competencies:Highly motivated individual willing to continuously learn and work in a fast pace environmentExcellent C++ design and programming skillsStrong understanding of data structures, algorithms and databases.Ability to characterize a problem and specify solutionStrong ability to reverse engineer codeUnderstanding of compilers, parsing and code generation, static elaboration, event driven or parallel simulationSkilled at refactoring techniques, optimization strategies, unit test framework design/construction/usage, profiling tools, static analysis tools, code coverage or memory checker tools (valgrind, purify )Excellent verbal and written communication skillsKnowledge of Verilog or SystemVerilog Hardware Description Languages is a plusTrouble shooting software issues remotely on large customer designsFamiliarity with Agile development processes is a plusFamiliarity with Linux/UNIX toolsFamiliarity with configuration management systems such as git or perforce

Similar jobs