close chevron-right chevron-down arrow-right arrow-left facebook linkedin instagram twitter email medium
hero

Make a great move

92
companies
626
Jobs

Senior Embedded Software Developer

SPARK Microsystems

SPARK Microsystems

Software Engineering
Posted on Aug 1, 2024

As a Senior Embedded Software Developer within SPARK Microsystems, you will be required to design, develop and maintain firmware covering our various embedded system applications and this includes network protocols, core libraries as well as application development. You will play a key role in defining systems architecture and mentoring junior developers.

You will design, implement, and test firmware to form optimal communications wireless networks using the extremely low power wireless transceivers developed by SPARK Microsystems. This includes developing low power wireless sensor networks in point-to-point, star, and mesh configurations, as well as efficient point-to-point links for audio streaming applications. The selected candidate will be responsible for developing efficient firmware to support these applications, as well as a graphical user interface for each system that allows users to control the flow of information in the wireless system.

Your Responsibilities as a Senior Embedded Software Developer

  • Design, implement, test and document embedded and application software.
  • Develop algorithms for communication system protocol layers and networking.
  • Provide architectural and detailed designs to meet the system requirements.
  • Provide technical direction and strategy to engineering development efforts for solving complex issues.
  • Outline and communicates the most appropriate technical approach for business development activities.
  • Maintain system software components including device drivers and applications.
  • Participate in the team’s testing processes by developing protocols for unit testing, integration/regression testing, and system-level testing.
  • Coach and mentor more junior Engineers.

Your Qualifications

  • Bachelor in Electrical Engineering, Computer Engineering or equivalent.
  • 10+ years of experience in embedded application development in C and C++.
  • 7+ years of experience in low level C programming on microcontrollers / microprocessors, with advanced knowledge of MCU / CPU architectures and ecosystems.
  • Full-stack system-level understanding and ability to comprehend and affect an improvement to multi-disciplinary processes of RF/PHY/L1/L2.
  • Good understanding and debug capabilities of a mixed HW/FW multi-processor PHY/L1 implementation.
  • Proven grasp of complex wireless systems with strong capability to comprehend dependencies between system components and protocol layers and their interactions.
  • Extensive hands-on SW programming skills for modeling and simulation of sophisticated systems from RF/PHY layer signals and channel modeling. All the way to MAC protocol/networking simulations; corresponding proficiency with Matlab required.
  • Experience with and/or knowledge of industry standards such as Bluetooth, Ultra-Wideband, GPS, and/or other wireless protocols.
  • Ability to work efficiently with both Linux and Windows.
  • Experience with Visual Studio Code and Eclipse IDE.
  • Experience developing Board Support Packages, boot loaders, and component drivers.
  • Experience with virtualization and container technologies (VMware, KVM, Docker).
  • Experience with Git version control systems.
  • Experience with software development platform such as Gitlab and Github.
  • Understanding of communication protocols including I2C, SPI, UART and USB.
  • Experience in hands-on development and debug on embedded targets using in-circuit debuggers and electronic test equipment (oscilloscope, multimeter, logic analyzer, etc).
  • Experience in modern software development processes (peer reviewing, unit testing, etc).
  • Familiar with networking architectures.
  • Bilingual, French and English – this role requires to work regularly with co-workers, subcontractors and customers located globally.
  • Ability to multi-task, set project priorities, establish task focused goals and objectives for self and show initiative.
  • Write clean, understandable, robust, and sustainable code tailored for embedded systems.

    Promote the following values/qualities:
  • Cooperation: Have the success of the team at heart.
  • Rigor: Take pride in carefully executed work.
  • Motivation: Exceed your limits in a job you love.
  • Initiative: Propose new ideas and act.
  • Leadership: Positively influencing those around us.

The Perks

  • A growing start-up where each person has an important role in the success of the Company.
  • Be part of a passionate, creative and motivated team in a collaborative mode.
  • A place where you can grow and become the professional you want to be.
  • Group insurance from day one.
  • Employee stock option plan.
  • Hybrid work and flexible hours to balance work/personal life.
  • In addition to vacation, sick leave and holidays, Spark offers additional days off.