Virtual Software Modeling Engineer
Role details
Job location
Tech stack
Job description
Bring leading-edge SoCs to life by building and evolving the infrastructure that powers our virtual simulation platforms. In this role, you will modernize the simulator codebase, enhance build and packaging systems, and design scalable infrastructure to support distributed, cloud-based, and multi-threaded simulation. While some model development and integration will be involved, your primary impact will be ensuring the simulator itself is robust, maintainable, and scalable-ready to support the next generation of internal and external users. This is a highly visible role with broad technical scope, requiring collaboration across architecture, modeling, software, and external partners to maintain the simulator as a first-class engineering platform. THE PERSON You are a systems-oriented software engineer who enjoys improving large, complex codebases and building developer-friendly infrastructure. You prioritize clarity, maintainability, and correctness, and are motivated to modernize legacy systems. You thrive at the intersection of build systems, runtime infrastructure, performance, and developer tooling. You are comfortable working across organizational boundaries and are driven to enable others to be more productive., * Evolve the simulator's core infrastructure, with a focus on scalability, maintainability, and developer productivity
- Maintain and improve dependency management and build systems to increase reliability, reproducibility, and performance
- Develop and enhance tooling for packaging, deployment, and consumption across multiple environments
- Modernize the simulator codebase using current C++ standards and best practices to improve readability, structure, and long-term sustainability
- Design and implement infrastructure to support simulation as a cloud-hosted service
- Build infrastructure for distributed, multi-host simulation, including coordination, synchronization, and performance optimization
- Create tools and frameworks to debug multi-threaded simulation execution effectively
- Define processes and infrastructure to simplify integration, validation, and long-term maintenance of third-party and external models
- Collaborate with model developers to ensure infrastructure evolves with modeling needs without tightly coupling to specific implementations
- Improve simulator stability, observability, and debuggability through enhanced logging, diagnostics, and tooling
- Leverage AI-based tools in daily workflows to maximize efficiency and code quality
Requirements
- High-performance systems and application development in C/C++ on Windows and/or Linux
- Hardware system architecture and subsystem interface protocols
- x86, ARM, or GPU architecture, drivers, and applications
- Linux and/or Windows kernel debugging
- Functional modeling, architecture simulation, or hypervisor development
- Experience with tools such as QEMU, VirtualBox, or SIMICS
ACADEMIC CREDENTIALS
- Degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field preferred.
Benefits & conditions
Benefits offered are described: .