Senior Embedded Software Engineer

Are you our next co-worker?

Qteal is looking for a senior embedded software engineer with a broad interest and a passion for qualitative software development. If you want to help us improve the reliability in a variety of software products, we invite you to join and strengthen our team.

What You Will Do

  • Design testable, reliable and maintainable software: Re-design existing code bases to improve the quality of the software and product it supports

  • Refactor and implement large software components: Write drivers, protocol layers and application logic from scratch. In existing code bases come up with a strategy to progressively improve the code structure and design

  • Set up the tooling for the software development cycle: How will the build system look like? Is it easy to set up for the developer, but also easy to automate in the CI/CD pipeline? How to document the code? How to integrate with a unit / integration test framework? How can the team work with code reviews?

  • A translation layer to and sparring partner with the hardware team: You will be one of the main stakeholders in the design of new PCB’s. You can propose improvements that also support the software and create a more reliable system

Your Skills

We seek individuals eager to learn new skills, since every project is different. We value the extensive experience you can bring into our project more than any specific skill you might already mastered. But here is a list of typical skills we appreciate:

  • Bake those ‘ilities’ into your software architecture and watch your design rise to quality

  • Transform those datasheets and specifications into drivers of pure beauty

  • Grab the PCB by the inductors and find out what’s short-circuiting

  • Take a deep dive into the linker file and catch whatever’s leaping around in there

Technologies and Activities You Might Encounter

  • Embedded Development:

    • Both on bare-metal or RTOS

  • Code Build Systems:

    • Set up from scratch, re-design and debug

    • Cmake, make, cross-compilation toolchains

  • Communication Protocols:

    • Design and full implementation

    • TCP/IP, Bacnet, Bluetooth, custom protocols over serial

  • Operating Systems and Tools:

    • Linux, command line, docker

  • Diagnostic Tools:

    • Wireshark, gdb, an oscilloscope, Valgrind, static code analyzers

  • Test Automation:

    • Unit test frameworks

    • System tests interacting with the peripherals of the embedded device

If this sounds like the right fit for you, we encourage you to apply and contribute to our dynamic team!