Position: Pre-silicon device model validation / integration engineer
Company: TietoEVRY
Category: C++
Experience required: 2y
English level: intermediate

The Simics simulator and Simics Virtual Platform have a long history in industry and academia. It is used extensively for presilicon and postsilicon software development, testing, and system integration at domain ecosystem of silicon vendors and their partners. 

Main focus of the project is system integration and verification activities related to simulated Hardware models using Simics platform. 

**We’re looking for a candidate with a proven commercial experience (3+ years) in/around system/embedded engineering, system debugging and troubleshooting, confident in Linux, open-minded and enthusiastic for the new challenges.**

We offer 4 weeks guided self-study to get on top of Simics and Modelling basics using DML. 

Our client is world’s leading vendor in silicon and SW development. 

**Successful candidate must be able to: **
-Study and understand technical specifications, TRMs (technical reference manuals), Processors and Technology’s Guides and Customer product architecture 
-Study and understand Simulator fundamentals: Simics 
-General understanding of the Linux kernel, user-space, bootloaders and boot process 
-Be advanced in git 
-Use scripting language, eg. Shell, Python as needed 
-Have a solid C, with less C++ but a plus 
-Being able to create unit tests for present and new code 
-Understand CI flow and Jenkins pretest routine (being able to process pretest worklog)  

**The preference will be given to ambitious candidates who assotiate their professional grow path with building an ability to:**
-Create requirements, high-level and detailed design of a functional device model or platform subsystem according to hardware specs 
-Implement platform components without supervision 
-Work with legacy code, understand how to refactor existing code according to updated design 
-Understand system execution flows (reset, PCI enumeration), know roles of the certain models there 
-Know how different OS work, how to debug kernel and drivers, how to debug user level application using simulators (QEMU, Simics) 
-Understand virtualization technologies, how functional simulators (QEMU/KVM, VirtualBox, Simics, Qemu) utilize the technology 
-Know UEFI at some level (execution phases, what is EFI driver, application, how to debug UEFI components) or have had experience with U-Boot, ATF (arm-trusted-firmware) 
-Able to take technical decisions on how to implement simulations which execute fast. This involves making the right decisions about simulation abstractions and tradeoffs. Able to optimize simulation execution 
-Provide trainings and supervision to junior developers 

**We offer:**
-Participation in interesting international projects;
-Stable, full-time and long-term cooperation;
-Healthy work-life balance and friendly, caring atmosphere
-Career & professional development possibilities;
-Competitive salary and good benefits package;
-Possibility to work remotely or from our offices;
Team and company events;
Reasonable recruitment process.

If you are temporary abroad due to the war in our Country, you can continue work for our legal entity in Ukraine from abroad or be employed in EU (Poland/Czech Republic).