Firmware Engineer
Workplace: Göteborg, Sverige
Expires: August 31, 2025
Elektron Music Machines Mav AB is seeking a full-time Firmware Engineer to join their R&D team in Gothenburg, Sweden. The role involves working on embedded software design, from initial product ideas through prototypes to released firmware and updates. The engineer will work on multi-threading real-time operating systems and interface with multiple microcontrollers and DSPs at the application level, requiring both reliable and efficient coding skills. The company emphasizes creativity, flat hierarchy, and a trust-based work environment, focused on developing state-of-the-art electronic music instruments.
Main requirements:
  • Master of Science in Computer Science, Electrical Engineering, or similar experience
  • Several years of experience with C++
  • Some experience with Python
  • Extensive embedded systems design knowledge - component selection, schematic reading, hardware interaction
  • Good knowledge about Operating Systems and Real-time Systems
  • Great problem-solving skills
  • Low-level knowledge: caches, stack/heap, allocation schemes
  • Experience with software architecture and maintainable system design
  • Expertise in Git and code review processes
  • Good knowledge of algorithms and data structures
  • Structured working method using version control, issue trackers and similar tools
  • Several years of relevant working experience
  • Fluent spoken and written English
  • Interest in musical instruments, preferably music making
Responsibilities:
  • Develop and maintain embedded firmware for electronic music instruments
  • Work through complete software design chain from product concepts to released firmware and updates
  • Interface with real-time operating systems on a lower level while working mostly at application level
  • Collaborate with the embedded software team responsible for digital logic to high level data management
  • Improve and optimize existing software projects post-release
Required hard skills:
  • C++ programming
  • Embedded systems design
  • Operating Systems and Real-time Systems knowledge
  • Low-level system concepts (caches, memory management)
  • Software architecture and maintainability
  • Git version control and code review
  • Algorithms and data structures knowledge
  • Python programming (some experience)
Recommended hard skills:
  • Rust programming
  • Digital Signal Processing (DSP)
  • USB communication protocols
  • Production testing and testability methods
  • Experience with real-time operating systems such as FreeRTOS, Zephyr
  • Low level ARM Cortex-A/M architecture and ISA knowledge
Soft skills:
  • Strong problem-solving skills
  • Self-motivation
  • Structured working style
  • Ability to work in a small team with flat hierarchy
  • Creativity and ownership mindset
  • Fluent communication in English
Coding languages:
  • C++
  • Python
  • Rust
Frameworks:
  • FreeRTOS
  • Zephyr
Operating systems:
  • Real-time Operating Systems
Natural languages:
  • English (Proficient)
Cultural skills:
  • Ability to collaborate in multicultural teams
  • Embracing creativity and innovation in product development