Simulation Engineer
New college grad software engineer building and improving functional and pipeline-accurate simulators in C++ for Cerebras' wafer-scale AI engine. Requires strong C++ and computer architecture knowledge to support hardware/software co-development across kernel, compiler, and verification teams.
About the job
Responsibilities
- Develop and maintain simulator infrastructure in C++ for next-generation WSE systems.
- Contribute to both functional simulation (architectural correctness, instruction behavior, and state and memory semantics) and pipeline-accurate simulation (execution behavior, bottleneck analysis, and performance visibility).
- Build features and tooling that improve kernel developer visibility into correctness and performance.
- Work with Design Verification and architecture teams to align simulator behavior with hardware specifications and validate design correctness.
- Build and maintain strong unit, integration, and regression test coverage for simulator quality.
- Improve simulator runtime performance, scalability, and usability for internal engineering workflows.
- Debug complex issues that span simulator models, kernels, compiler/runtime interactions, and hardware assumptions.
- Contribute to code reviews, documentation, and continuous improvement of engineering workflows.
Skills & Qualifications
- Bachelor's or Master's degree (or equivalent) in Computer Science, Computer Engineering, or a related field.
- Strong C++ programming skills and software engineering fundamentals.
- Solid understanding of computer architecture concepts, including instruction execution, memory systems, and microarchitecture basics.
- Strong debugging, analytical, and problem-solving skills.
- Ability to collaborate effectively across software and hardware teams.
Preferred Skills & Qualifications
- Familiarity with architectural, functional, or performance modeling.
- Experience with test automation, regression systems, and CI pipelines.
- Exposure to Python or scripting for tooling and automation.
- Familiarity with parallel systems, accelerators, or ML/HPC workloads.
Skills
C++, Computer Architecture, Debugging, Python, CI/CD, Test Automation, Performance Modeling
Similar jobs
Embedded Engineering jobsDesigns and validates automotive electrical systems through wire harness development, HiL bench integration, firmware bringup, and automated testing. Requires a 2026 engineering or computer science graduate with hands-on lab experience and familiarity with embedded programming and vehicle communication protocols.
Develop and deploy autonomy, robotics, and embedded software for safety-critical pilot assistance systems. The role requires at least two years of relevant experience, production C++ or Python, and familiarity with real-time, sensor, and edge-compute systems.
Automation software engineering intern developing real-time Linux and Rust applications and robotic control algorithms for semiconductor fabrication equipment. Requires active pursuit of a bachelor's degree or higher, programming proficiency, robotics software experience, and a project portfolio.
Embedded software interns develop real-time Linux applications, Rust firmware, and backend systems for semiconductor fabrication equipment. The role requires embedded systems and microcontroller programming experience, proficiency in Python/C/C++, and pursuit of a relevant bachelor's degree or higher.
Develop safety-critical embedded software that translates autonomous trajectories into vehicle actuator commands and integrates drive-control subsystems. The role requires 1–3 years of real-time embedded experience, strong C/C++ and Python skills, and familiarity with automotive protocols and embedded operating systems.