Skip to main contentA logo with &quat;the muse&quat; in dark blue text.
Cadence

Principal C++ Software Engineer

Montreal, Canada

At Cadence, we hire and develop leaders and innovators who want to make an impact on the world of technology.

At Cadence, we hire and develop leaders and innovators who want to make an impact on the world of technology.

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.

The Principal Software Engineer will be responsible for design and development of new features and algorithms mainly in development of a new Custom Prototyping Flow. The Principal Software Engineer will accomplish this by carefully discussing the implementation specification with the team spread across different geographies. The candidate is also expected work with technical support lead and key customers to resolve implementation or usage issues.

Want more jobs like this?

Get Software Engineering jobs in Montreal, Canada delivered to your inbox every week.

By signing up, you agree to our Terms of Service & Privacy Policy.


You will be working with a dream team on providing a breakthrough solution in the multi FPGA prototyping space.

The ideal candidate will have the following skills and experience:

  • Bachelors in Computer Science or Electrical 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 years of related experience
  • A minimum of at least 2 years of relevant industry experience in algorithmic software development for FPGAs
  • Strong desire and ability to work in a fast-paced startup environment
  • Eagerness to learn and master new technologies and build the best systems possible.
  • Very strong development experience in a general-purpose language (e.g. C++, C#, Java)
  • Strong CS fundamentals background in data structures, algorithms, systems architecture
  • Experience in logic optimization, compilation of RTL memory models, Arithmetic Operators, optimizing the mapped elements based on area/delay tradeoffs.
  • Ability and desire to work on all parts of the stack (algorithms, databases, UI) and revisit traditional synthesis and optimization algorithms using emerging technologies in machine learning and big data.
  • Knowledge of Logic Simulators and exposure to multi-threaded / concurrent programming are pluses.
  • An incredible desire for quality and perfection... and the judgement to temper it when necessary to ship.
  • A healthy sense of fun!

We're doing work that matters. Help us solve what others can't.

Client-provided location(s): Montreal, QC, Canada
Job ID: Cadence-R44868
Employment Type: Full Time