Software Developer for Operating System and Emulators
Terma A/S
Software Developer for Operating System and Emulators
As a Software Engineer for Low Level Programming, you will contribute to the development and evolvement of our cutting-edge product TEMU – a full system simulator, with a set of instruction set simulation models for different processor architectures.This role involves the development of a testing infrastructure, embedded software running in a simulated environment, development and debugging of drivers and other programs accessing hardware directly.In addition, the position includes the modelling and testing of simulated hardware in a fully virtual environment.
The position will include tasks such as:
- Supporting customers (external and internal) with integration issues (i.e. the integration between embedded software, mostly flight software and the simulator).
- Analysing failures reported by customers and reproducing them in a reduced simulated environment.
- Setting up build environments for embedded and other operating systems (e.g. Linux buildroot, RTEMS, etc).
- Development test cases, using real-operating systems and drivers.
- Proposing and implementing new features to the TEMU product to help out with software testing.
- Development of peripheral models for TEMU (e.g. interrupt controllers, Ethernet MACs, UARTs, SpaceWire controllers etc).
This is a full-time & hybrid position to be located at our Terma Office in Darmstadt planned start date as soon as possible.
The variety of the tasks and the scope of the systems to be supported require a high degree of autonomy and good analytical skills together with the ability to effectively cooperate within an international team.
Skills Required
- Experience with low level programming (e.g. OS kernel programming, bare metal programming).
- Good problem solving skills.
- Driver development and/or debugging
- Familiarity with hardware modelling / simulation in software.
- Familiarity with emulators and instruction set simulators.
- Solid understanding of computer architecture and how microprocessors and peripherals work.
- Familiarity with different instruction sets such as ARM, PowerPC, SPARC and RISC-V.
- Demonstrated ability to work with larger code bases (e.g. Linux Kernel, LLVM, GCC, etc).
- Ability to work with light weight markup languages such as AsciiDoc and Markdown.
- Ability to work with GIT
- The variety of the tasks and the scope of the systems to be supported require a high degree of autonomy and good analytical skills together with the ability to effectively cooperate within an international team.
- Fluency in English required
Programming Languages:
- Good knowledge of C and / or C++
- Assembler
- Ability to learn additional languages quickly (e.g. TableGen).
- Knowledge of other modern languages (such as for example Rust) is seen as an advantage
What can Terma offer
At Terma, we consider skilled employees, enthusiasm and job satisfaction as the very foundation of our success and as a prerequisite for the development of the “best-in-class” solutions that Terma provides. We lead the way in applying new technology, offering a wide range of growth opportunities for each individual and emphasizing mutual respect across the board in our workplace.
Terma offers you a pleasant working environment at the customer site, where you will be able to take on challenging tasks and responsibilities in a highly professional company.
- Great opportunities for training and personal development
- Challenges in advanced technical environment
- International and cosmopolitan working atmosphere
- An employment contract with an attractive package with extra-legal benefits
- Highly competitive salary
Additional information
For further information, please contact Ms. Silvia Cavallini #LI-SI by telephone [+49 6151 860050] or by email [ta.space@terma.com].
To ensure that your application will reach us and is properly processed please apply through the link below with an up-to-date Curriculum Vitae, preferably in an Europass format (Create your Europass CV | Europass) and ideally, a Cover Letter.
Application deadline:
As soon as possible
Opslaget er indhentet automatisk fra virksomhedens jobsider og vises derfor kun som uddrag. Log ind for at se det fulde opslag eller gå videre til opslaget her: