Lead C++ Software Engineer

Cadence • Montreal, Canada

Company

Cadence

Location

Montreal, Canada

Type

Full Time

Job Description

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

We are looking for an exceptional C++ software engineer to join the Protium Software Development Team to develop and enhance the Protium FPGA-Based Prototyping product which is used by leading CPU/GPU/HyperScaler companies for pre-Silicon software validation of their SOC's.

You will develop new algorithms and optimizations for QoR (Quality of Results) and performance for the Protium Compiler working with a small team of super star engineers to develop our next generation FPGA based verification platform.

Responsibilities:

  • Enhance Static Timing Analysis (STA) in the Protium Compiler.
  • Work includes implementing new algorithms in C++ to support Multi-cycle constraints and other SDC exceptions such as set_false_path.
  • Optimize memory and runtime by using multi-threading and distributed computing .
  • Develop the EDA automation flow for the platform with other engineers.
  • Write Design Specifications and Unit Tests for your code

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.

Position Requirements/Qualifications:

  • Bachelors in Computer Science, Electrical /Computer Engineering and a minimum of 4 years of related experience, or Masters and a minimum of 2 years of related experience, or PhD with thesis in a relevant area.
  • Ideally you are a solid contributor in the FPGA or ASIC prototyping/synthesis/verification space and have delivered great QoR on these platforms.
  • You are well renowned for your excellent programming skills in C/C++ and you document your work clearly and love talking about it to your team.
  • You are very comfortable with Verilog or SystemVerilog and understand digital circuits .
  • Usage of popular logic simulators and some experience in multi-threaded/ concurrent programming are pluses.
  • The role requires exceptional software skills and Object Oriented Programming experience to be a good match
  • Knowledge and experience of ML / AI algorithms and deployment in production code a plus

Ingénieur en logiciels :

Cadence est une cheffe de file essentielle dans la conception de systèmes électroniques, s'appuyant sur plus de 30 ans d'expertise en logiciels informatiques. L'entreprise applique sa stratégie sous-jacente de conception de système intelligent pour fournir des logiciels, du matériel et de l'IP qui transforment les concepts du design en réalité. Les clients de Cadence sont les entreprises les plus innovantes au monde, offrant des produits extraordinaires allant des puces aux systèmes, des produits chimiques aux médicaments, en passant par la fabrication pour les applications de marché les plus dynamiques, y compris l'informatique à grande échelle, les communications 5G, l'automobile, les appareils mobiles, l'aérospatiale, les biens de consommation, l'industrie et les sciences de la vie. Nous sommes fiers de créer et de maintenir une culture d'entreprise qui favorise l'innovation et le succès commercial. Cadence est reconnue comme l'un des meilleurs lieux de travail partout dans le monde, notamment comme l'une des « 100 meilleures entreprises pour lesquelles travailler » par le magazine Fortune au cours des dernières années. Cadence est cotée en bourse au S&P 500 et au NASDAQ 100.

Chez Cadence, nous embauchons et développons des leaders et des innovateurs qui veulent avoir un impact sur le monde de la technologie. Palladium™ et Protium™ sont le duo dynamique de Cadence qui a connu un énorme succès auprès de nos clients. Avec les plateformes Palladium™ et Protium™ de Cadence®, les équipes de conception et de vérification peuvent rapidement mettre en place un système d'émulation ou de prototypage et fournir une plateforme présilicium pour le développement logiciel précoce, la validation du système et les régressions matérielles.

L'ingénieur logiciel travaillera sur le duo dynamique de Cadence, collaborant avec une équipe diversifiée mondialement répartie dans différentes régions géographiques. Le candidat retenu travaillera également avec le responsable du soutien technique et les principaux clients pour résoudre les problèmes de mise en œuvre ou d'utilisation. Vous travaillerez avec une équipe de rêve pour fournir une solution révolutionnaire dans le monde de l'émulation et du prototypage.

Le niveau hiérarchique de l'ingénieur en logiciels dépendra de son expérience et de ses études.

Ingénieur en logiciels I

  • BaccalaurĂ©at en informatique ou en gĂ©nie Ă©lectrique

Ingénieur en logiciels II

  • BaccalaurĂ©at en informatique ou en gĂ©nie Ă©lectrique avec au moins deux ans d'expĂ©rience connexe ou maĂ®trise correspondante

Ingénieur en logiciels principal

  • BaccalaurĂ©at en informatique ou en gĂ©nie Ă©lectrique avec au moins cinq ans d'expĂ©rience connexe ou maĂ®trise avec au moins trois ans d'expĂ©rience connexe, ou un doctorat correspondant

L'ingénieur en logiciels principal devrait avoir :

  • BaccalaurĂ©at en informatique ou en gĂ©nie Ă©lectrique avec au moins sept ans d'expĂ©rience connexe, ou une maĂ®trise avec au moins cinq ans d'expĂ©rience connexe, ou un doctorat avec au moins un an d'expĂ©rience connexe
  • Au moins deux ans d'expĂ©rience pertinente dans le domaine du dĂ©veloppement de logiciels algorithmiques pour l'Ă©mulation ou les FPGA

Le candidat idéal possède les compétences et l'expérience suivantes :

  • Forte volontĂ© et capacitĂ© de travailler dans un environnement de dĂ©marrage trĂ©pidant
  • VolontĂ© d'apprendre et de maĂ®triser les nouvelles technologies et de crĂ©er les meilleurs systèmes possible
  • Excellente expĂ©rience en dĂ©veloppement dans un langage gĂ©nĂ©ral (p. ex., C++, C#, Java)
  • Solide expĂ©rience des principes fondamentaux en systèmes d'ordinateurs dans les structures de donnĂ©es, les algorithmes et l'architecture des systèmes
  • ExpĂ©rience en optimisation logique, compilation de modèles de mĂ©moire RTL, actionneurs arithmĂ©tiques, optimisation des Ă©lĂ©ments mappĂ©s en fonction des compromis de zone/retard
  • CapacitĂ© et envie de travailler sur toutes les parties de la pile (algorithmes, bases de donnĂ©es, interface utilisateur) et de revoir les algorithmes traditionnels de synthèse et d'optimisation Ă  l'aide de technologies Ă©mergentes en apprentissage automatique et en mĂ©gadonnĂ©es
  • Connaissance des simulateurs logiques et connaissance de la programmation multifils et simultanĂ©e, un atout
  • DĂ©sir extraordinaire de qualitĂ© et de perfection... et aptitude Ă  le tempĂ©rer quand il faut assurer la rĂ©alisation
  • Bon sens de l'humour!

Puisque ce rôle nécessite que l'employé interagisse avec d'autres entités à l'échelle mondiale ainsi qu'avec des employés et intervenants dans d'autres provinces canadiennes, la connaissance du l'anglais est exigée pour ce poste.

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

Apply Now

Date Posted

01/24/2025

Views

0

Back to Job Listings ❤️Add To Job List Company Info View Company Reviews
Positive
Subjectivity Score: 0.8

Similar Jobs

Senior Manager - New Business Sales (Bilingual English/French) - Maple

Views in the last 30 days - 0

Maple a fastgrowing health tech company founded in 2015 is seeking a Senior Manager of New Business Sales to lead revenue growth within their New Busi...

View Details

Intermediate Software Engineer - Athennian

Views in the last 30 days - 0

Athennian a company managing over 370000 business entities worldwide is seeking an experienced Intermediate Software Engineer The role involves design...

View Details

Data Scientist - FACT DSE - Wealthsimple

Views in the last 30 days - 0

Wealthsimple is a leading Canadian fintech company with over 4 million users and 50 billion in assets They are hiring a data scientist for their FACT ...

View Details

Principal Product Manager - Insurance Products - Gusto, Inc.

Views in the last 30 days - 0

Gusto a leading software for small businesses is expanding its health insurance portfolio to meet customer demand and improve access for SMB owners an...

View Details

Staff Software Developer - Vidyard

Views in the last 30 days - 0

Vidyard is hiring a Staff Software Developer to join their Core Team responsible for designing building and scaling the core functionality of their vi...

View Details

Jr. Service Desk Specialist - StackAdapt

Views in the last 30 days - 0

StackAdapt is a selfserve advertising platform offering multichannel solutions including native display video connected TV audio ingame and digital ou...

View Details