Embedded Systems Developer

Basis:

Permanent - Full Time

Area of Interest:

Embedded Engineering

Locations:

Madrid

Who you are

Do you like Embedded Systems, Real Time, Electronics and anything related with low level computing? Do you have an interest in reverse engineering? Do you write your age in hexadecimal? We are looking for an Embedded Systems Engineer specialized in Systems Architecture.

Your primary responsibility will be the development of the different layers of the firmware stack for Geotab’s telematics devices. You will design, write, and test drivers written in C language for various hardware devices, file systems, and other kernel functionality enhancements.

What you'll do:

This position also creates and maintains coding guidelines to ensure application code is portable across different environments and operating systems, and knows how to refactor existing non-portable code according to those guidelines. Part of this role involves collaborating with other embedded systems developers, engineers, and internal technical teams in determining the architecture and constraints of the project.

How you'll make an impact
  • Develop an in-depth understanding of the Geotab's device firmware from a Systems Architecture point of view..

  • Perform kernel-level development using C language.

  • Contribute to the evolution of bare-metal code to work on top of an Operating System on both embedded and non-embedded systems.

  • Write guidelines that ensure resulting code is able to run across a wide variety of environments and OSes.

  • Design testing strategies and implement automatic verification methods.

  • Provide expert judgment on the suitability of existing OSS solutions for specific functionality needs.

  • Debug code misbehavior and perform the appropriate fixes and modifications.

  • Align new and existing code to widespread practices and industry standards.

  • Maintain the documentation related to areas of responsibility.

  • Strive for perfection, searching for the “right” solution and not settling with “just works”.

What you'll bring to this role
  • Bachelor’s degree in Electrical, Mechatronics, Computer Engineering or related

  • +3 years experience in firmware development for embedded systems.

  • Understanding of operating system layers and architectures.

  • Strong knowledge of C programming language in POSIX environments.

  • Deep understanding on the code building process and compiler passes.

  • Proficiency with open source development tools (gcc/gdb).

  • Experience in debugging and troubleshooting on embedded targets.

  • Ability to read electronic circuit schematics and understand device datasheets.

  • Strong hacker attitude.

  • Self-learning and open problem solving capabilities.

  • Proven ability to work independently and with remote team members.

  • Contributions to OSS projects are highly valued.

  • Knowledge of modern microprocessor architectures is a plus.

  • Exposure and/or experience with SCRUM or other Agile frameworks is a plus.

  • Strong verbal and written communication skills in both Spanish and English.

Apply now