Software Engineer - C++ / Compiler

Siemens•Burlington, MA
•$90,000 - $162,000•Hybrid

About The Position

Siemens EDA is looking for a software development engineer to work in the Hardware Assisted Verification (HAV) division. HAV 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 EDA’s 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 Veloce hardware teams in an international, multi-site, development environment. Candidates must be able to work on-site from our Burlington, MA office.

Requirements

  • BS, MS or PhD in Computer Science or Computer Engineering.
  • 0 to 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.

Nice To Haves

  • 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 (Python or SH script) would be useful.

Responsibilities

  • Development and improvement of the part of the compiler that analyzes the customer design in order to map it on the emulator resources.
  • Analysis of clock and data networks, partitioning, placing and synthesis of logic to support the mapping of the customer design onto the emulator.
  • Design and implementation of new functionality for this part of the compiler.
  • Support current functionality.
  • Write system level tests that use software simulation.
  • Develop new testing methods.

Benefits

  • Flexibility - Choosing between working at home and the office at other times is the norm here.
  • Great benefits and rewards.
  • Variety of health and wellness benefits.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service