Role Description

This is a full-time on-site role for an Embedded Software Engineer at Mosaic SoC in Zurich. The Embedded Software Engineer will focus on creating, testing, and optimizing software for cutting-edge RISC-V-based systems and ensuring efficient hardware-software integration within energy-efficient designs.

Key Responsibilities

  • Develop, test, and optimize embedded software in C and assembly, with a focus on supporting energy-efficient, low-power systems.

  • Write drivers, firmware, and software components for RISC-V-based hardware platforms.

  • Perform system-level debugging to ensure seamless interaction between software and hardware.

  • Support hardware verification efforts by writing test applications and analyzing system behavior in simulated and physical environments.

  • Leverage hardware simulation tools to validate software compatibility and performance.

  • Conduct performance analysis and optimization of embedded systems, focusing on memory hierarchies and processing efficiency.

  • Work with FPGA platforms for software prototyping and hardware validation.

  • Utilize scripting languages (e.g., Python, TCL, Perl) to automate software testing, build processes, and verification workflows.

  • Document software design processes, testing strategies, and optimization techniques to support cross-functional teams.

Required Qualifications

  • Master’s degree in Computer Science, Electrical Engineering, or a related field.

  • Proven experience in embedded software development, with a focus on hardware-software systems.

  • Strong proficiency in C and assembly, with experience in developing low-level software.

  • Familiarity with RISC-V ISA.

  • Experience with debugging tools and methodologies for embedded systems.

  • Hands-on experience with hardware/software co-simulation.

  • Working knowledge of software toolchains for embedded systems, including compilers, debuggers, and build systems.

  • Proficiency in scripting languages for workflow automation.

  • Strong understanding of computer architecture and performance optimization techniques for embedded systems.