Intern/Junior C Embedded Developer
About 3mdeb
3mdeb is a company specializing in open-source firmware and embedded systems solutions. We develop Dasharo - an open-source, coreboot-based firmware distribution that replaces proprietary BIOS/UEFI implementations. Our mission is to provide trustworthy, secure, and transparent firmware solutions for diverse hardware platforms, including laptops, desktops, servers, and embedded appliances.
Learn more:
About the Role
We are looking for a motivated Junior C Embedded Developer to join our team full-time. In this role, you will contribute to the development and maintenance of low-level firmware components written in C. You will work with open-source codebases, and collaborate with experienced engineers to implement and debug features in a Linux-based development environment.
C Programming
Solid proficiency in C: Understanding of manual memory management (allocation/deallocation) and the importance of proper variable initialization.
Code navigation skills: Ability to effectively move through large, multi-repository codebases using tools like grep, ctags, cscope.
Fundamental hardware concepts: Clear understanding of pointers, memory layout (stack vs. heap), and bitwise operations.
Development workflow & build systems
Version control: Practical Git experience (committing, branching, creating PRs, navigating commit history to compensate for lack of documentation).
-
Heterogeneous build systems: Ability to work across different build systems and understand their integration, particularly:
Makefiles
Kconfig configuration system
Understanding how build options propagate between systems
Ability to read, understand, and make modifications to build configurations following existing patterns.
Debugging & problem solving
Pattern recognition: Resourceful at finding patterns in unfamiliar code and applying them to new features.
Non-interactive debugging using prints, logs, and dump analysis.
Practical knowledge of diagnosing build and integration issues in unfamiliar code.
Nice to Have
Any hobbyist experience with bare-metal programming or firmware (e.g., Arduino, STM32, ESP32, coreboot, EDK2).
Experience with open-source workflows (PRs, mailing lists, code review).
General awareness of boot process and computer architecture
What we offer
We offer the opportunity to work on open-source projects and collaborate with the community of world-class industry leaders, as well as work with some of the most prominent vendors to build your own portfolio through contributions. As a team member, you'll impact the product and its final shape with opportunities for professional development, flexible working hours, and employment conditions.
We also provide training and certification to help our team members build their skills and advance in their careers. Our comprehensive benefits package includes medical care, financial support for sports cards, and group insurance.
In addition, we offer opportunities to attend international open-source conferences, some of which we co-organize with other companies, giving our team members the chance to showcase their skills and expertise. We also organize and host our own community events, such as workshops and community calls, where team members can share their knowledge and network with other industry professionals.