Senior Simics Software Developer
Intel Corporation
Stockholm, Sweden
Job posting number: #7235109 (Ref:JR0262166)
Posted: April 5, 2024
Job Description
Job Description
Do you want to contribute to building the best compute platforms in the world, ranging from the smallest systems to huge AI clusters? Our product, the Intel Simics simulator, is fundamental in shaping Intel's future. We are currently looking for a senior Simics software developer to strengthen our team.The Simics engineering team in Stockholm, design, implement and integrate detailed functional and timing approximate simulation frameworks, tools, and models of computer systems in close collaboration with the Intel groups that design, develop and validate these computer systems. The simulation environment is used by other groups to implement BIOS, other firmware, compilers and OS support well in advance (e.g. 1-2 years) of any actual silicon being available as well as for profiling, validation and power estimation.
The relevant technology areas for the Simics team in Stockholm, include computer architecture, cross-platform binary translation interpreter technology, compiler technology, domain specific languages, simulator infrastructure, user interfaces, simulation modeling tools, simulation model development/integration, debuggers, software and hardware analysis and virtual machine configuration.
Qualifications
Minimum qualifications are required to be initially considered for this position. Preferred qualifications are in addition to the minimum requirements and are considered an additional positive factor in identifying top candidates.Minimum Qualifications:
- MS, or BS with experience, Graduate in Computer Science or Electrical Engineering
- Strong skills and fluency in software engineering and computer architecture
- 5 years of software development experience
- Experience of programming in C/C++ and Python
Preferred Qualifications:
- Background/experience in simulation technologies such as Simics, QEMU or SystemC TLM
- In depth knowledge of C/C++ or Python
- Experience with compiler technology and JIT compilation
- Good GIT and build system skills
- Familiarity with low level programming in Assembly
- Proven software engineering practices, e.g., the ability to strike the right balance between end user requirements, robust design reuse, technical debt and delivery schedule, depending on needs
- A strong drive to automate
- Experience as a technical lead
- Good knowledge of low level SW stacks e.g. BIOS, UEFI, uboot, operating systems adoption layers and drivers
Requirements listed would be obtained through a combination of industry relevant job experience, internship experiences and or schoolwork/classes/research.