HomeVacaturesEmbedded Software Development Engineer

Embedded Software Development Engineer - Leusden

Embedded Software Development Engineer

The Embedded Software Engineer’s role is to develop, create, upgrade, and maintain software applications that fully exercise features of the INTEGRITY-178 operating system to verify the functionality and correctness of the software. As a Software Engineer, you will be responsible for ensuring Green Hills Software safety-critical products are safe for our customers to build vehicles, medical devices, and industrial control systems that people's lives depend on every day.

The Embedded Software Engineer will develop a detailed knowledge of operating system internals, while using the latest in compiler and debugger technology from Green Hills. As a Software Engineer, you will have the opportunity to work with real-time operating system (RTOS) components ranging from board support packages and device drivers (Serial, Ethernet, Flash), architecture support packages (PowerPC, ARM, x86), networking stacks, file systems, language libraries (C, C++, Ada), and the core kernel itself.

After demonstrating proficiency and domain expertise in the above products, Software Engineers may have the opportunity for the design and implementation of safety and security-critical RTOS components.

Duties

  • Assessing and ensuring the high safety standards for our products
  • Creating validation tests for requirements functionality, robustness, boundary values, and equivalence classes
  • Analyzing, improving, and reporting on system code coverage
  • Participating in requirement, design, and code reviews for changes to safety-critical products
  • Attaining proficiency with operating system internals:
    • Kernel/Virtual Address Spaces
    • Memory management
    • Task management / Scheduling
    • Connections / Semaphores
    • Clocks / Timers
  • Analyzing multi-core processor issues:
    • Inter-processor interference
    • Shared resource contention
    • Timing and throughput

Requirements

The ideal candidate will have the following skills and experiences:

  • Bachelors or Masters of Science degree (Computer Science, Electrical/Computer Engineering, Math)
  • Strong C / C++ programming skills
  • Understanding of the concepts of real-time operating systems
  • Ability to learn and understand how complex software systems work
  • Excellent communication (both written and verbal) and organization skills
  • Willingness and ability to work independently and with little supervision

Benefits

  • Competitive pay
  • Excellent secondary benefits
  • Casual work environment
  • Hybrid work