We are seeking an experienced Embedded Software Engineer with a passion for building innovative products from the ground up. The ideal candidate is hands-on, detail-oriented, and capable of taking a project from initial requirements through full product realization. This is a critical role for engineers who thrive in a fast-paced environment and enjoy solving complex technical challenges on bare-metal embedded systems.
Full Lifecycle Ownership: Translate high-level system requirements into robust embedded software solutions — including architecture, design, implementation, validation, and production support.
Bare Metal Development: Design and implement firmware in C for microcontrollers without operating systems, ensuring optimal performance, timing accuracy, and hardware integration.
New Product Development: Lead software development for new product introductions, creating reliable codebases from scratch that integrate seamlessly with custom hardware.
Hardware Collaboration: Work closely with hardware and PCB design engineers to define requirements, validate system interfaces, and debug integration issues.
Testing & Validation: Develop test plans, perform hardware bring-up, and execute system-level verification using tools such as oscilloscopes, logic analyzers, and emulators.
Continuous Improvement: Participate in design reviews, documentation, and knowledge sharing to ensure code quality, maintainability, and scalability for future designs.
5+ years of experience developing embedded software in C for bare-metal microcontrollers.
Proven track record of taking products from concept to production, including requirements definition, coding, testing, and release.
Deep understanding of embedded architectures, interrupt-driven design, and real-time system constraints.
Strong debugging and troubleshooting skills using hardware tools (oscilloscopes, JTAG, in-circuit debuggers).
Experience with common communication protocols such as SPI, I2C, UART, CAN, and USB.
Solid understanding of hardware/software integration principles.
Excellent documentation and communication skills.
Experience with ST32 or similar microcontrollers.
Familiarity with hardware abstraction layers and bootloader design.
Exposure to firmware version control (Git) and configuration management.
Bachelor’s or Master’s degree in Electrical Engineering, Computer Engineering, or related field.