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