Job Description
We are seeking a Principal Embedded Tooling Developer to join our team in Limerick, Ireland. This role is part of a best-in-class software development environment for firmware development on mixed-signal, heterogeneous embedded devices.
The goal is to provide embedded software engineers with modern tools to solve problems efficiently and effectively, and you can be a key part of shaping what that is and what it looks like.
Key Responsibilities
* Assist in providing technical leadership across various domains, including debug, profiling, middleware integration, system config, command-line tooling, toolchain integration, and other related fields.
* Collaborate with hardware IP owners to define requirements and models for various peripherals and system designs.
* Keep up with the latest advancements in relevant programming languages, embedded tooling, and open source ecosystems.
* Help identify gaps and define a plan to fill them in current developer tooling, middleware, and technical documentation.
* Disseminate knowledge of software development tools and embedded software development within the company.
* Handle multiple projects and oversee deliverables using project management methodologies.
* Establish metrics and processes for monitoring tooling health and allowing for continuous improvements.
Requirements
* Significant experience designing, developing, debugging, maintaining complex real-time heterogeneous embedded software solutions in C, C++, and/or assembly (Arm, RISC-V, etc.).
* Familiarity with and ability to articulate the value of modern embedded software development best practices.
* Ability to clearly articulate what features would bring tools from usable to useful to good to domain-leading.
* Strong grasp of version control systems – Git, Github, etc.
* Demonstrated extensive experience with task and defect tracking tools (Jira, etc.).
* Excellent written and communication skills in English.
Advantageous Skills
* Experience with Zephyr RTOS.
* Experience using IAR and/or armclang.
* Knowledge of Bluetooth Low Energy at the Host and/or Controller level.
* Experience with audio codecs and audio processing.
* Familiarity with Golang or Rust for command-line tooling.
This role requires a strong understanding of software development principles, excellent communication skills, and the ability to work collaboratively as part of a cross-functional team.