Careers & Team Visions | Become part of 3mdeb
Careers
At 3mdeb, we always seek passionate and driven individuals interested in open-source, technology, and security. We are dedicated to open-source and have a cypherpunk and libre philosophy in mind. We believe in the power of collaboration and welcome individuals who understand and share that approach. Whether you are an Embedded Firmware Developer, an Embedded Systems Developer, a Hardware Validation Developer, an Office Assistant, a Sales Manager, a Marketing Specialist, or a Project Manager, we welcome individuals who share our values and philosophy and can contribute to our team in various ways.
For technical candidates, we put a strong emphasis on their contributions to open-source. We want to work with individuals who have a proven track record of contributing to open-source projects, whether it’s through bug fixes, code contributions, or community support.
If you aspire to join our R&D team, participation in our 3mdeb Open-Source Bounty Program is the direct path forward. This program serves as our primary method to assess your practical abilities, coding style, and alignment with our open-source philosophy. We encourage you to demonstrate your skills and commitment by solving a bug bounty, as this is how we evaluate potential R&D team members.
While you are welcome to send your CV to career@3mdeb.com , please be aware that for R&D roles, our response will be to direct you towards our Bounty Program for the required assessment.
You can also:
- Share the results of your work with us and show us your code. If you have already contributed to open-source projects, be sure to tell us about them during the recruitment interview. We’d love to see the results of your work, so feel free to send or show us your repository with your CV.
- Show us what tools and programming languages you know. Check out our project details and source code in our repositories: https://github.com/3mdeb , https://github.com/Dasharo and to see if they align with your skills and interests. We value candidates with experience in at least one of the programming languages we work with every day that can immediately support us in daily projects.
- Familiarize yourself with our products, services, and projects listed at https://shop.3mdeb.com/ . During the recruitment interview, we will ask you about your knowledge of our areas of operation and what products and services we offer. We want to make sure that your interests coincide with our business profile.
- For non-technical candidates, we are seeking individuals who are interested in the technology industry and have a passion for learning. We value candidates with a strong work ethic and excellent communication skills, paying attention to the details, and who are eager to contribute to our team.
When applying to 3mdeb for a non-technical position, here are some tips to help you stand out:
- Familiarize yourself with our company’s philosophy. Show us that you have a general understanding of what we do and that our values resonate with you.
- Highlight your interest in technology and security. Let us know how you stay up-to-date with technical industry trends and news, as it is important for all team members to remain informed.
- Demonstrate your strong communication and organizational skills. We value individuals who can effectively communicate with clients, partners and team members, and help keep the company organized and projects on track.
If you’re interested in learning more about a career at 3mdeb, don’t hesitate to reach out to us at career@3mdeb.com . We look forward to hearing from you!

Current Openings:
Description:
We are seeking an exceptional candidate with a strong command of C and a genuine passion for embedded systems development. If you enjoy working close to hardware and want to see your code running on real devices, this role is for you.
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.
Requirements:
- Knowledge of C and how programs work:
- Ability to manage memory manually and take care of its initialization
- Knowledge of hardware-dependent concepts: pointers, data layout, stack, bit fields, little/big endian
- Basic data structures
- An idea about registers and machine languages in general
- Some information about weak object symbols, program sections, and linker scripts
- Software development cycle:
- Using the git version control system
- Understanding of toolchains and cross-compilation
- Dealing with heterogeneous build systems (GNU Make, Kconfig, etc.)
- Non-interactive debugging (prints, logs, dump analysis)
- Working with codebases of thousands of files written by hundreds of authors (grepping, ctags, digging in commit history to compensate for the deficiency of documentation)
Nice to have:
- Experience with bare-metal programming and hardware abstraction layers
- Experience with (long-running) open-source projects, their mailing lists, and review tools
- Debugging with GDB (remote targets, symbol files, hardware breakpoints)
Description:
We are looking for a motivated Junior C Embedded Developer to join our team full-time. This role focuses on testing firmware on real hardware platforms, ensuring the quality and reliability of Dasharo firmware distribution. You’ll work in a Linux-first environment, performing both manual and automated testing of low-level system firmware.
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.
Requirements:
- 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
Description:
We are looking for a motivated Junior Firmware Validation Engineer to join our team full-time. This role focuses on testing firmware on real hardware platforms, ensuring the quality and reliability of Dasharo firmware distribution. You’ll work in a Linux-first environment, performing both manual and automated testing of low-level system firmware.
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.
Requirements:
- Basic knowledge of low-level computer operations, such as boot sequence, BIOS/UEFI settings, firmware updates, or hardware initialization
- Good attention to detail and systematic approach to problem-solving
- Ability to follow test procedures and document technical issues clearly
- Comfortable working with Linux systems and the command line (Bash)
- Willingness to work hands-on with hardware platforms
- Good written and verbal communication skills
- Knowledge of technical English (reading documentation, writing reports)
- Ability to learn new technologies independently
Responsibilities:
- Reproduce and verify reported firmware issues on real hardware platforms
- Perform initial diagnosis and triage of firmware bugs before escalating to developers
- Execute manual test cases for firmware functionality, compatibility, and stability
- Develop and maintain automated tests using Python and Robot Framework
- Test firmware across various hardware platforms (laptops, desktops, servers, embedded devices)
- Document test results, report defects, and track issues through resolution
- Verify firmware fixes and perform regression testing
- Participate in test planning and test case design for new firmware features
- Collaborate with firmware developers to understand low-level system behavior
Nice to have:
- Knowledge of Python programming
- Experience with test automation frameworks (especially Robot Framework)
- Understanding of firmware, BIOS, or UEFI concepts
- Familiarity with coreboot or other open-source firmware projects
- Experience with hardware debugging or validation
- Knowledge of git and version control workflows
- Understanding of x86/ARM architecture basics
- Previous experience with hardware testing or embedded systems
- Interest in computer security and firmware security concepts
Description:
We are looking for a Network Laboratory Technician to support the maintenance and development of the laboratory infrastructure used in our firmware and embedded projects.
The laboratory includes networking infrastructure for connecting devices and building test environments. It also contains remote-access platforms, test servers, specialized computers, and various IoT devices.
In this role, you will be responsible for configuring and maintaining laboratory infrastructure, diagnosing hardware and networking issues, and supporting project teams in preparing test environments.
Requirements:
- Basic knowledge of Linux system administration
- Understanding of computer networking fundamentals (e.g. IP addressing, VLANs, routing)
- Ability to diagnose hardware and networking issues
- Systematic approach to troubleshooting technical problems
- Ability to document configurations and performed tasks
- Willingness to work with physical hardware and laboratory infrastructure
- Good communication and teamwork skills
- Motivation to learn and develop technical knowledge
Responsibilities:
- Maintain and manage network laboratory infrastructure
- Diagnose and troubleshoot networking, hardware, and device access issues
- Configure and prepare test environments for project teams
- Perform manual hardware and software testing according to project schedules
- Prepare and organize network cabling and laboratory workstations
- Monitor laboratory infrastructure and respond to failures and incidents
- Collaborate with IT and engineering teams on project execution
- Document configurations, procedures, and hardware-related issues
Nice to have:
- Experience working with laboratory infrastructure or test environments
- Basic knowledge of network monitoring and diagnostic tools
- Experience with manual hardware testing
- Basic knowledge of electronics and PCB-related work (e.g. soldering components, preparing prototypes)
- Familiarity with open-source tools and Linux environments
- Basic knowledge of Git or other version control systems
- Interest in network and system security
What we offer:
We offer the opportunity to work on open-source projects and collaborate with communities and companies from around the world. Our team develops firmware and embedded technologies used on real hardware in a variety of applications.
We provide:
- Work on open-source projects and real hardware infrastructure
- Opportunities for technical growth and skill development
- Flexible working hours
- Private healthcare
- Sports card co-financing
- Group insurance
- Opportunity to attend conferences and open-source events
Description:
We are looking for an organized and hands-on IT Hardware and Logistics Specialist to support hardware operations, equipment preparation, and logistics processes within our engineering teams. This role combines practical work with computer hardware, inventory management, shipping, and operational support for internal projects and events.Responsibilities:
- Order, receive, and prepare computer hardware and components
- Assemble computers, hardware kits, and devices according to specifications
- Prepare shipments, including packaging, shipping labels, and documentation
- Handle orders for materials and components used by engineering teams, including electronics, packaging materials, and IT accessories
- Maintain organization and inventory order in the hardware storage area
- Support company events and conferences with hardware setup, workstations, and installations
- Support helpdesk activities related to hardware and equipment orders
Requirements:
- Experience working with computer hardware and components
- Ability to assemble computers and hardware setups
- Basic knowledge of operating systems (Linux is a plus)
- Practical experience or knowledge of logistics processes, including receiving deliveries, order fulfillment, and shipping
- Good organizational skills and ability to work independently
- Accuracy and attention to detail in documentation and inventory tracking
- Experience with promotional activities or social media
Nice to have:
- Experience in helpdesk support or technical support roles
- Basic knowledge of electronics and PCB-related work, such as soldering components and preparing prototypes
- Ability to advise teams or customers on hardware-related topics
- Familiarity with open-source tools and Linux environments
- Experience handling domestic and international shipments
- Interest in new technologies and IT hardware
What we offer:
We offer the opportunity to work on open-source projects and collaborate with communities and companies from around the world. Our team develops firmware and embedded technologies used on real hardware in a variety of applications.
We provide:
- Work on open-source projects and real hardware infrastructure
- Opportunities for technical growth and skill development
- Flexible working hours
- Private healthcare
- Sports card co-financing
- Group insurance
- Opportunity to attend conferences and open-source events
Description:
We are looking for a self-driven, organized, and curious person eager to learn and take ownership of tasks without constant supervision. The ideal candidate is interested in technology, open source, or system security, even without a formal engineering background. This role is suited for someone who wants to understand how a company operates internally and actively seeks ways to improve processes and workflows.Qualities we value:
- Initiative - you identify problems and propose solutions
- Persistence - you do not give up after the first obstacle
- Respect - you treat people seriously regardless of their role
- Humility - you can admit mistakes and ask for help
- Reliability - you keep your word and meet deadlines
- Intellectual curiosity - you want to understand “why”, not only “what”
Requirements:
- Excellent organizational and time management skills
- Independence and proactive attitude
- Patience and consistency (firmware development is often slow and iterative)
- Ability to accept direct, technical feedback (reviews may be very specific and without “soft” wording - distance and a growth-oriented mindset are important)
- Ability to work with documents and presentations
- Ability to challenge assumptions and look for better solutions
- Good communication skills and ability to work closely with technical people
- Very good English skills (minimum B2/C1)
- Experience working in an IT environment
- Basic understanding of computer hardware and interest in technology
- Basic Linux knowledge
- Familiarity with Git is a plus
- Interest in open source is a plus
Responsibilities:
- Support engineers in day-to-day tasks
- Manage calendars and keep track of deadlines
- Organize workshops and training sessions (logistics, materials, coordination)
- Prepare materials and presentations
- Conduct research for ongoing projects
- Prepare drafts of documents, presentations, and CFP submissions
- Support release and testing processes (basic testing and validation)
- Use AI tools for automation and draft preparation
- Maintain and update documentation
What we offer:
- Direct collaboration with a technical expert
- Opportunity to influence work organization and project documentation
- Development of both technical and administrative skills
- Participation in open-source projects and industry events
- Friendly and open work culture
Description:
We are looking for a self-driven, organized, and curious person eager to learn and take ownership of tasks without constant supervision. The ideal candidate is interested in technology, open source, or system security, even without a formal engineering background. This role is suited for someone who wants to understand how a company operates internally and actively seeks ways to improve processes and workflows.Qualities we value:
- Intellectual curiosity - you want to understand “why”, not only “what”
- Reliability - you keep your word and meet deadlines
- Humility - you can admit mistakes and ask for help
- Respect - you treat people seriously regardless of their role
- Persistence - you do not give up after the first obstacle
- Initiative - you identify problems and propose solutions
Requirements:
Required
- Excellent organizational and time management skills with the ability to manage multiple parallel tasks without losing context
- Very good English skills (minimum B2, preferably C1), as we work daily with international customers and English-speaking communities
- Ability to work with documents and presentations using tools such as Markdown, Git, CryptPad, Nextcloud, and other tools used at 3mdeb (training provided if needed)
- Ability to prioritize tasks and distinguish between urgent and important work
- Independence and proactive attitude with a problem-solving mindset
- Experience working in an IT or technology-related environment
- Ability to quickly learn new tools and processes
- Practical experience using AI tools such as ChatGPT, Claude, Gemini, or similar as daily tools for research, writing, analysis, and automation
- Discretion and responsibility when handling sensitive company information
Nice to have
- Basic Linux knowledge (terminal usage and filesystem navigation)
- Familiarity with Git and code repositories
- Interest in open source, security, or firmware
- Experience leading meetings or presentations
- Familiarity with project management tools such as Gitea, Jira, or Trello
- Ability to evaluate and verify AI-generated output and recognize incorrect or misleading results
Responsibilities:
Founder support (primary focus)
- Manage calendars and priorities, including scheduling meetings, tracking deadlines, and resolving conflicts
- Coordinate information flow within the company to ensure the right people receive the right information at the right time
- Resolve day-to-day operational issues before they reach the Founder
Customer and partner support
- Support onboarding of new customers, including first contact and coordination of implementation activities
- Handle ongoing customer inquiries and escalations
- Support dispute and complaint resolution processes
- Participate in meetings with customers and partners as support for the Founder
Materials preparation
- Prepare presentations for conferences and customer meetings
- Conduct research related to ongoing tasks, including market, competitor, and technology analysis
- Prepare summaries and briefings before meetings
- Edit and proofread technical and business documents in Polish and English
Meeting coordination
- Organize and facilitate internal meetings
- Prepare agendas and meeting notes
- Track follow-ups and action items
Growth opportunities (over time)
- Take ownership of selected company processes
- Participate in technical projects involving documentation, testing, and configuration
- Represent the company at selected industry events
- Build relationships with customers and the open-source community
Growth paths:
Operations path
Responsibility for company processes including HR, finance, logistics, customer relations, and project coordination.
Target role: Operations Manager / COO.
Technical path
Learning Linux, Git, CI/CD, and firmware development. Participation in Dasharo-related projects including documentation, testing, and validation. Delivering PET training sessions.
Target role: Technical Project Manager / Product Owner.
Strategic path
Business development, market analysis, representing the company at conferences, and building relationships within the open-source ecosystem.
Target role: Business Development Director / Partner.
What we offer:
- Direct collaboration with the Founder of a company recognized in the global open-source firmware community
- A real growth path toward impactful roles such as Operations Manager, Technical Project Manager, Business Development Director, or Partner
- Access to high-level expertise in system security, firmware, and open-source technologies
- Opportunity to attend industry conferences such as FOSDEM, OSFC, and BSMConf
- Work in a mission-driven company building trustworthy computing infrastructure for the world
- Flexible working hours and a hybrid work model based in Gdańsk
Team Visions
OSFV Team Vision
We understand what the software should do
and have enough knowledge to verify it does.

Introduction
There is no value in passing all the tests. There is also none in failing all of them. And the validation, just like every other service, should be focused on bringing value. As the whole automated validation of embedded systems and firmware is still in its infancy we have a unique opportunity to influence its future shape. 3mdeb intends to be a leader in embedded validation, which means that we are going to create a special training department, promoting our vision of embedded validation and raising its level. What is more, our target is to build the open-source firmware Validation Framework, which is going to be a full application spreading from the cloud (virtualization, DevOps, etc.) to embedded systems (Yocto / Linux, Go, Python). This should be versatile, scalable and able to benchmark a wide range of IoT solutionsout of the box. A parallel framework is going to be created for firmware (BIOS). Both are going to be consistent and interoperable with ATS (Automated Testing Summit) industrial standard and comparable to other frameworks.
Who we need
We need people who understand why it is so important not to underestimate any, even the smallest defects arising from the tests during the development or maintenance process. What seems to be a minor and insignificant bug for a single device may produce a major issue for a thousand.
What we provide
- Hands-on the latest technologies and high-end solutions from firmware, embedded and IoT market.
- Access to different projects with the possibility to learn a wide spectrum of modern programming languages.
- Occasion to participate in theOpen-Source community and introduce some custom features in the source code.
- Chance to visit many conferences and meet people from all over the world.
- Learn from the best professionals of their specialties, firmware, embedded Linux, hypervisors, virtualization, hardware and software security.
- Great atmosphere in the team.
Requirements:
- competence
- self-reliance
- scrupulousness
- experience with hardware
- flexibility and ability to learn quickly
- RobotFramework (Python), LAVA, Weles – would be an additional advantage
- Virtual environments, unified reports database like kcidb, iPXE, Docker, integration with various API or libraries – would be great
- Web-based technologies – depending on the infrastructure development (REST API) and IoT or Edge Computing projects, which will benefit from the OSFV team, tests targeted at web technologies can be developed and increase their percentage share.

Everyday challenges
- developing automated tests for the newest features
- validation of incorrectly functioning equipment
- building and maintaining hardware used for validation (RTE, MuxPi)
- maintaining cyclical regression tests
- completing and set up units
- automation of many aspects of everyday work (bash scripts, Docker files, etc.)
- defect documentation process (detailed description for faster development)
- preparing clear end-end documentation for the clients
Exceptionally:
- independent fixing of errors (acceptable, but when someone knows what he’s doing – this approach saves additional time which is needed for blind fixing)
- security topics

Full readiness
Getting familiar with processes, writing tests and our extensive testing infrastructure should take up to three months. However, taking into account the necessity to get acquainted with various projects depending on the actual needs may take a little longer.Firmware Team Vision
If CPU is the heart of the embedded system,
the firmware is its spinal column.
Any serious malfunction of it paralyzes the whole organism.
What we do is making firmware as hard to break as possible.

Introduction
We are an independent BIOS vendor (IBV) providing open-source firmware solutions to its customers. The BIOS market is already mature and full of industry giants that provide firmware to most of the computers these days, but their solutions are mainly proprietary. 3mdeb would also like to be recognized on the market, thus we contribute to the projects such as coreboot, fwupd and many more. We are also UEFI Adopters and in the opposite to the biggest players, we are promoting its availability under the BSD 2-Clause and upstreaming source code that enables hardware of our clients to the community. We promote this approach, we prefer this approach, but all in all, we always respect our clients will. We want to prove that open solutions may also be valuable and what is the most important – secure. Creating secure firmware solutions with the best quality is one of the main Firmware Team’s tasks. Leveraging hardware security features and implementing its support (despite there is no known, fully operational open solution) is our everyday job.
Who we need
We need people who are very familiar with computer architecture and understand C and assembly languages, the limitations of hardware, its behavior in various situations and electronics.
What we provide
- Hands-on the latest technologies and high-end solutions.
- Access to different projects with the possibility to learn a wide spectrum of modern technologies and broad own horizons.
- Occasion to participate in open-source community and introduce some custom features in the source code.
- Chance to visit many conferences and meet people from all over the world.
What a good firmware engineer should be like:
- enthusiastic about open-source – each engineer at 3mdeb should promote open-source as a part of own brand creation and company vision
- scrupulous – even single bit change can cause a significant bug, even smallest changes in registers must not be ignored
- self-reliant – firmware engineers at 3mdeb must be capable of finding the solution by themselves, a senior engineer may only guide to achieve a solution, but not point one
- experienced with hardware – firmware flashing is done on a daily basis, knowledge from electronic engineering is required to avoid hardware damage during work
- flexible and able to learn quickly – firmware prepares the environment for operating system launch, it is necessary to have knowledge about OS-firmware interactions, how to extract information, validate own work, etc.; without OS and its bootloader, the firmware is as good as useless, so often a firmware engineer work escalates to bootloaders, OSes and hypervisors
- proficient with C and assembly – sometimes problems require deep dive into low-level code in order to locate the bug
- patient and inquisitive – lots of firmware work is debugging while programming takes about 20% of the time; firmware engineer should be patient and inquisitive, because of the firmware complexity the problem may hypothetically lie in many components
- willing to study – components that make a computer typically have their specification; almost every peripheral, interface, OS/firmware structures have their own specification (often hundreds of pages); firmware engineer must not be scared of the immensity of knowledge to be adopted in order to become a firmware expert
- interested in technologies/projects like coreboot, UEFI, ACPI, Secure Boot, LinuxBoot, BMC, FPGA, EC, heads, tianocore, Linux kernel, GRUB, Xen, etc.

Everyday challenges
- firmware development and debugging
- hardware issues resolving
- porting computers to open-source firmware
- contribution to open-source projects
- reverse engineering
- security analysis
- self-verification
- documentation creation

Full readiness
Firmware topics are typically vast and the time required for full readiness may reach even years. The most important for a firmware engineer is self-improvement. Time spent on reading additional specifications and standards, getting to know new technologies and hardware pays off.
For junior (or rather inexperienced candidate) it should take 3 to 6 months to achieve basic readiness to work as a firmware engineer at 3mdeb. While for regular engineer the time required is estimated to 1 month to be capable of working as a self-reliant person.
Embedded Team Vision
We prepare a whole system from a scratch, make it secure,
stable and last, but not least let it reach extraordinary performance

Introduction
We develop and maintain Embedded Operating Systems for our partners. Simple as that. We focus on solutions, which are able to operate with a limited number of resources, very compact and extremely efficient by design. These rarely have any GUI and are designed to operate on small machines with less autonomy. That include devices used in IoT, robotics, healthcare, military, and in every field where systems are operation or life-critical. We often use Yocto meta layers to prepare OS’s that would fit the best in our customers’ needs.
Who we need
We need people who are very familiar with computer architecture, understand C programming language and advanced Linux concepts. Other programming languages (C++, Golang, Python) are appreciated.
What we provide
- Hands-on the latest technologies and high-end solutions.
- Access to different projects with the possibility to learn a wide spectrum of modern technologies and broad own horizons.
- Occasion to participate in open-source community and introduce some custom features in the source code.
- Chance to visit many conferences and meet people from all over the world.
What a good embedded systems engineer should be like:
- enthusiastic about open-source - each engineer at 3mdeb should promote open-source as a part of own brand creation and company vision; we focus on the contributions to the open source projects such as the Yocto Project, OpenEmbedded, Linux, U-Boot, SWUpdate and a lot of others
- scrupulous - even single bit change can cause a significant bug, even smallest changes in registers must not be ignored
- self-reliant - embedded system engineers at 3mdeb must be capable of finding the solution by themselves, a senior engineer may only guide to achieve it, but not point one
- experienced with Linux - we are not only using Linux in our everyday work, we create and compile them for our and our customers’ purposes
- flexible and able to learn quickly - embedded systems work on a low level, there is a need to understand OS-firmware interactions, how to extract information, validate own work, etc.; often an embedded engineer work escalates to bootloaders, firmware and hypervisors
- proficient with C, Golang, Python and preferably other programming languages, sometimes problems require deep dive into low-level code in order to locate the bug, and sometimes they require knowledge about how the high-level applications works
- patient and inquisitive - lots of embedded work is debugging while programming takes about 40% of the time; embedded engineer should be patient and inquisitive, because of the complexity of the embedded systems the problem may hypothetically lie in many components
- willing to study - components that make a computer typically have their own specification; almost every peripheral, interface, OS/firmware structures have their specification (often hundreds of pages); embedded engineer must not be scared of the immensity of knowledge to be adopted in order to become an embedded Linux expert
- interested in technologies/projects like various Linux distributions, Yocto Project, Linux kernel, U-Boot, GRUB, other bootloaders, Android (AOSP), OpenBMC, Xen, etc.
- hands-on experience with various Single Board Computers, specifically with the x86 (Intel/AMD) and ARM (NXP, Broadcom, Allwinner, Amlogic, Qualcomm, Rockchip, TI, ST, …) System on Chips

Everyday challenges
- embedded systems development and debugging
- hardware issues resolving
- porting computers to open-source firmware and operating systems
- contribution to open-source projects
- reverse engineering
- security analysis
- self-verification
- documentation creation
- porting newly created solutions to existing environments

Full readiness
Embedded topics are typically vast and the time required for full readiness may reach even years. The most important for an embedded systems engineer is self-improvement. Time spent on reading additional specifications and standards, getting to know new technologies and hardware pays off.
For junior (or rather inexperienced candidate) it should take 3 to 6 months to achieve basic readiness to work as a firmware engineer at 3mdeb. While for regular engineer the time required is estimated to 1 month to be capable of working as a self-reliant person.
