PRINCIPAL EMBEDDED DEVELOPER TOOLING ENGINEER

Location Limerick
Contact name: Micheal O’Maoldomhnaigh

Contact email: micheal@softwareplacements.ie
Job ref: 1255
Published: 12 days ago
Client:

Our client a leading Multinational Semiconductor design and manufacturing company requires Principal Embedded Tooling Developer for role based in Limerick, Ireland. 

Role:


You will join in best-in-class software development environment for firmware development on mixed-signal, heterogeneous embedded devices. The goal is to give embedded software engineers the modern tools they need to solve problems efficiently, and effectively, and you can be a key part of shaping what that is and what it looks like.

You will assist in helping by providing technical leadership across a wide variety of domains, including debug, profiling, middleware integration, system config, command-line tooling, toolchain integration, and other related fields.

You’ll join an existing cross-functional team of embedded, front-end and back-end engineers, UI/UX designers, and test engineers, with an aim to  significantly move the bar on the embedded software development experience. 

Requirements:

 
  • You’ll need significant experience designing, developing, debugging, maintaining complex, real-time heterogeneous embedded software solutions in C, C++, and/or assembly (Arm, RISC-V, etc.).
  • You’ll need to be familiar with, and able to clearly articulate the value of modern embedded software development best practices. This includes source management, good code and commit hygiene, build infrastructure management, effective use of embedded testing frameworks, integration of debug and performance monitoring solutions in a CI pipeline, and maintaining high-quality, up-to-date system documentation.
  • You’ll be familiar with available open source and commercial debug and instrumentation tools, and have defensible positions on their pros, cons and gaps. You need to be able to clearly articulate what features would bring them from usable to useful to good to domain-leading, and articulate steps to get there.

Responsibilities:
  • Help ensure deliver a meaningfully deafferented experience in developer and debug tooling, middleware and technical documentation.
  • 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 (Zephyr, Yocto, etc.)
  • Help identify gaps and define a plan to fill them in current developer tooling, middleware and technical documentation
  • Disseminate your in-depth knowledge of software development tools, and embedded software development within the company.
  • Handle multiple projects and oversee the deliverables using appropriate project management methodologies.
  • Establish metrics and processes for monitoring tooling health, and allowing for continuous improvements.
  • Proactively resolve any issues encountered with existing applications.
  • Work with multiple stakeholders from different locations (EMEA, US East and West) that includes flexing work hours based on time zones
Experience:
  • 10+ years of embedded software development experience in C, with the ability to understand differences between various C versions, standard library implementations, and GCC, IAR and armclang compiler flags commonly used in embedded systems.
  • Experience effectively engaging with and contributing to open source projects
  • Significant experience with GDB, GCC and GNU binutils, including the ability to build them from source. LLVM and Clang would be a strong plus. Must be comfortable patching and building these types of projects from source.
  • Significant experience with cmake, make, ninja and other build systems
  • Experience with Static Analysis tools
  • Ability to meaningfully interact with UI/UX designers on application design.
  • Strong fundamentals in data structures and algorithms  
  • Excellent written and communication skills in English
  • Good understanding of testing methodologies like unit testing, functional testing, performance testing and Integration testing
  • Good understanding on system monitoring, observability, metrics and logging
  • Familiarity with best practices for the full software development process  
  • Demonstrated extensive experience with task and defect tracking tools (Jira, etc.) 
  • Very strong grasp of version control systems – Git, Github, etc.
  • Willingness to step outside you comfort zone and cross technical boundaries between embedded, desktop, mobile and web/cloud.
  • Detail and quality oriented. Customers expect technical excellence from us, and this extends from chip design all the way up to the tooling we provide them.

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
  • Familiarity with Typescript or node.js
Contact:

For further information please contact Mícheál at Software Placements on 00353 1 5254642 or email micheal@softwareplacements.ie