We are looking for a motivated Embedded Software Engineer to join our team and contribute to building practical, reliable, and high-quality embedded products. This is a great opportunity for an early-career engineer with a solid technical foundation, hands-on exposure to embedded development, and a strong mindset for learning, ownership, and problem-solving. You do not need to know everything
from day one, but you should be comfortable working close to hardware, reading documentation, debugging methodically, learning from feedback, and continuously improving your work.
You will work alongside experienced engineers on real embedded systems and product-development projects involving microcontrollers, firmware, hardware interfaces, communication protocols, device integration, testing, and trouble shooting.
Key Responsibilities
• Assist in designing, developing, testing, debugging, and maintaining embedded software and firmware.
• Develop embedded applications, drivers, and hardware-abstraction components for microcontrollers and connected devices.
• Work with common communication interfaces and protocols such as UART, SPI, I2C, CAN, USB, or Ethernet, depending on project requirements.
• Support board bring-up, peripheral integration, sensor and actuator interfacing, and hardware-software validation.
• Investigate firmware issues using logs, debuggers, serial output, hardware documentation, and available test equipment.
• Read and interpret component datasheets, reference manuals, pin mappings, and basic schematics to support implementation and debugging.
• Contribute to software testing, code reviews, documentation, and continuous improvement of development practices.
• Collaborate with hardware engineers, software engineers, product stakeholders, and external vendors to translate product requirements into practical technical solutions.
• Document implementation decisions, debugging findings, test results, known limitations, and release changes.
• Keep learning and applying relevant embedded-development tools, techniques, and best practices.
Skills & Qualifications
• Bachelor’s degree in Communications Engineering, Electronics Engineering, Computer Engineering, or a related technical field.
• 0–2 years of relevant experience in embedded software, firmware, electronics, IoT, robotics, internships, freelance work, research, academic projects, or personal projects.
• Good programming skills in C/C++, including writing clean, maintainable, efficient, and testable embedded code.
• Hands-on experience with microcontrollers and embedded-development environments; experience with STM32, ESP32,
AVR, PIC, NXP, TI, or similar platforms is acceptable.
• Familiarity with common hardware communication protocols such as UART, SPI, I2C, CAN, USB, or Ethernet.
• Ability to read datasheets, reference manuals, and basic electronic schematics and use them to implement or debug firmware features.
• Good understanding of operating-system concepts and familiarity with real-time operating systems (RTOS), such as FreeRTOS.
• Ability to investigate software and hardware integration issues through structured troubleshooting, root-cause analysis, and practical testing.
• Ability to work independently on assigned tasks while communicating progress, risks, blockers, and findings clearly.
• Strong analytical mindset, attention to detail, ownership, and willingness to learn.
• Good written and spoken English communication skills.
• Experience with embedded Linux, bootloaders, over-the-air firmware updates, low-power optimization, device drivers, or hardware bring-up is a plus.
• Experience using AI-assisted coding tools effectively—such as GitHub Copilot, Cursor, Claude, ChatGPT, or similar tools—for implementation, debugging, documentation, testing, and code improvement is a plus.
What We Value
We are looking for more than a list of tools or certificates. The right candidate should demonstrate:
• A genuine interest in embedded systems, electronics, and practical product engineering.
• A practical mindset: understanding that reliable embedded products depend on careful implementation, testing, hardware constraints, edge cases, and iteration.
• Curiosity and initiative to investigate problems instead of waiting for exact instructions.
• Patience and a systematic approach to debugging issues that may span firmware, hardware, configuration, tools, or system integration.
• Openness to feedback and willingness to improve both technical and communication skills.
• Accountability, reliability, and respect for deadlines and team commitments.
• The ability to explain technical findings clearly to both technical and non-technical colleagues.
About Voyance
Voyance is a technology-focused company building practical, reliable software and AI-powered solutions for real-world workflows. We combine strong engineering practices, product thinking, and close collaboration with domain experts to transform complex challenges into useful products. Our teams value curiosity, ownership, continuous learning, and delivering solutions that create measurable impact.
What We Offer
• The opportunity to work on real-world products and practical engineering challenges.
• Hands-on experience alongside experienced engineers in a collaborative, supportive team.
• Exposure to end-to-end product development, from experimentation and implementation to testing and deployment.
• A learning-focused environment with feedback, mentorship, and room to grow technically and professionally.
• The chance to take ownership, contribute ideas, and make a measurable impact through your work.
How to Apply
Send your CV to jobs@voyance.health. If available, please include links or attachments that demonstrate relevant projects, such as a GitHub profile, portfolio, technical write-up, demo, graduation project, or other practical work. We are interested in what you have built, how you approach problems, and what you learned along the way.