Senior Software Engineer - C++ / Compiler

3+ months agoWeston, MA

Company: Siemens EDA

Job Title: Senior Software Engineer - C++ / Compiler

Job Reference #: 235327

Job Location: Waltham, MA

Siemens EDA is looking for a software development engineer to work in the Mentor Emulation Division (MED). MED develops and manufactures emulators for functional verification of System-on-Chip circuit designs. In emulation systems, custom software compiles a circuit design's high level description into a low level binary representation that can be loaded and run on the emulation hardware. The individual that fills this position will become a member of emulator compiler specialists developing the compiler software for Siemens next generation emulators.

The Software Development Engineer will have responsibilities in development and improvement of the part of the compiler that analyzes the customer design in order to map it on the emulator resources. This includes analysis of clock and data networks, partitioning, placing and synthesis of logic to support the mapping of the customer design onto the emulator. The individual will participate in design and implementation of new functionality for this part of the compiler as well as support current functionality. The work will be mostly in C++ on Linux. They will write system level tests that use software simulation as well as develop new testing methods. This position will include interaction with other software teams as well as MED hardware teams in an international, multi-site, development environment.

Required Skills:

  • BS, MS or PHD in Computer Science or Computer Engineering.
  • 0 - 3 years of industry, software development experience in developing large C++ applications as part of a team.
  • Demonstrated experience with algorithm and data structure design.
  • Understanding of gate level digital logic design.
  • Excel both in a team-oriented development and working independently.

Desired Skills:
  • Demonstrated Experience in EDA software development, especially in timing analysis, synthesis, design partition or placement is a plus.
  • Software engineering skills with experience in use of Unix/Linux OS.
  • Demonstrated experience with software testing methods.
  • Experience in use of Hardware description language (Verilog/Vhdl).
  • Experience in use of a software simulation tools (Modelsim, etc).
  • Knowledge of scripting languages (PERL or Python) would be useful.

Note: This position requires employees to be fully vaccinated against COVID-19 unless they are granted a medical or religious exemption.



At Siemens we are always challenging ourselves to build a better future. We need the most innovative and diverse Digital Minds to develop tomorrow's reality. Find out more about the Digital world of Siemens here:

Organization: Digital Industries

Company: Siemens Industry Software Inc.

Experience Level: Experienced Professional

Job Type: Full-time

Equal Employment Opportunity Statement
Siemens is an Equal Opportunity and Affirmative Action Employer encouraging diversity in the workplace. All qualified applicants will receive consideration for employment without regard to their race, color, creed, religion, national origin, citizenship status, ancestry, sex, age, physical or mental disability unrelated to ability, marital status, family responsibilities, pregnancy, genetic information, sexual orientation, gender expression, gender identity, transgender, sex stereotyping, order of protection status, protected veteran or military status, or an unfavorable discharge from military service, and other categories protected by federal, state or local law.

EEO is the Law
Applicants and employees are protected under Federal law from discrimination. To learn more, Click here .

Pay Transparency Non-Discrimination Provision
Siemens follows Executive Order 11246, including the Pay Transparency Nondiscrimination Provision. To learn more, Click here .

California Privacy Notice
California residents have the right to receive additional notices about their personal information. To learn more, click here .