Embedded Software Engineer developing embedded software for microcontroller-based systems. Collaborating with cross-functional teams and utilizing skills in C/C++ and STM32 microcontrollers.
Responsibilities
Development and maintenance of embedded software in C/C++ for microcontroller-based systems.
Programming and configuration of STM32 microcontrollers (Cortex-M0+, M4, M33).
Implementation of device drivers, peripheral interfaces, and communication protocols (UART, SPI, I²C, etc.).
Adaptation and optimization of existing product software.
Software integration and testing on target hardware.
Conducting Unit-Tests and Code Reviews.
Driving and contributing to the test strategy.
Design and maintenance of the development ecosystem and CI/CD pipelines using GitLab/Jenkins.
Setup, maintenance, and continuous improvement of embedded toolchains (compilers, linkers, debuggers, build systems).
Optimization and integration of embedded IDEs (e.g., JetBrains CLion, VS Code) with appropriate plugins.
Evaluation and documentation of tools, and creation of development guidelines.
Collaboration with cross-functional teams (mechanics, electronics, testing, hardware).
Future outlook: Participation in setting up a Linux-based toolchain and training colleagues.
Requirements
Degree in Computer Science, Electrical Engineering, or equivalent qualification.
Strong proficiency in C and C++, preferably in embedded software development.
Experience in STM32 microcontroller families (especially Cortex-M0+, M4, M33).
Experience with embedded development toolchains, IDEs (CLion, VS Code), and CI/CD systems.
Familiarity with Unit-Test frameworks (e.g., Google Test).
Solid understanding of schematics, technical datasheets, and reference manuals.
Strong proficiency in Linux OS.
Open-minded, structured, independent working style and strong team player.
Good communication skills in English (German is a plus).
Experience with RTOS such as Segger embOS (must have) and Zephyr RTOS (nice to have).
Knowledge of interfaces & communication protocols such as CAN, IO-Link, Modbus (TCP), EtherCAT / PROFINET / OPC UA, I²C, SPI, UART.
Students in Software Engineering program at ARI learning about software system design and implementation in diverse applications. The role involves taking on projects in a growing company.
Software Principal Engineer developing sophisticated systems and software at Dell Technologies. Collaborating on design and implementation for storage environments with a focus on high - quality solutions.
Lab Support Principal Engineer building and supporting lab environments for Dell Technologies. Responsible for hardware installation, technical configurations, and asset management.
Fullstack Software Engineering Intern learning to develop frontend and backend components of web applications. Collaborating with engineers and presenting projects at the end of the internship.
Full Stack Engineer at Machina Labs developing full stack applications with Next.js and Python for robotics automation. Collaborating with engineering teams to integrate software with hardware systems.
Staff Engineer driving technical strategy and backend systems for Pinterest's user experience. Leading initiatives to enhance the user experience for new and returning Pinterest users.
Senior Manager leading design and delivery of AI solutions in insurance sector. Collaborating with technical teams to build scalable solutions while navigating evolving technology landscapes.
Manager - Senior Software Engineer leading AI projects at PwC in insurance sector. Shaping solution architectures and collaborating with technical teams to deliver AI - enabled solutions.
Staff Software Engineer on Developer Productivity team at Gusto, enhancing Rails applications and tools for engineers. Collaborate with teams and improve productivity with automation and AI - assisted tooling.