Careers & Team Visions


Careers

We are a small but worldwide-recognized embedded firmware development consultancy that leverages years of industry experience to provide innovative solutions. We help hardware OEMs and ODMs to achieve the full potential, security, and reliability of delivered products through Dasharo open-source firmware distributions. Dasharo combines coreboot, EDKII (UEFI reference implementation), LinuxBoot, U-Boot, and other open-source firmware projects to provide clean and simple code, long-term maintenance, transparent validation, privacy-respecting implementation, liberty for the owners, and trustworthiness for all. We support the medical industry using Verified Boot and Secure Boot technologies for Real-Time Operating Systems and Embedded Linux. Hyper-scale cloud providers get our firmware design and security skills to secure their computing infrastructure. Trusted Computing and Trusted Execution Environment applications are used and developed by us every day. There is no embedded software, firmware, or close-to hardware-related challenge we would not consider.

Our activity on high-profile professional conferences (Platform Security Summit, FOSDEM, Xen Developers Summit, and others), organization and co-organization of various events (Qubes OS mini-summit, GRUB2 mini-summit, LPC System Boot and Security Microconference) position us as a recognized community member and leader in evangelizing the use of open-source solutions.

Over the years, the community recognized us as coreboot licensed service providers, UEFI Adopters, LVFS Consultants, and Yocto Participants and accepted our membership in OpenPOWER Foundation.

Our team consists of passionate engineers and developers from open-source software, firmware, and hardware communities, frequent conference speakers, and people who love to tinker with bits. Every day we develop bleeding-edge low-level security solutions using top open-source frameworks.

If you overclock your hardware, root your devices, harden your system, are passionate about learning how hardware and computer architectures work, 3mdeb is the place for you. We are an informal group of old-type hackers with cypherpunk and libre philosophy in mind, so if the above description resonates with you, give us a chance to meet you.
Send your CV to career@3mdeb.com or use the form below.

Icon representing a person climbing the stairs made from a rising arrow

Current Openings:


Embedded Systems Developer/Engineer

Requirements:
  • Good knowledge of C
  • Experience with software for embedded systems (microcontrollers, Embedded Linux)
  • Basic knowledge of at least one scripting language (we mostly use BASH and Python)
  • Good knowledge of Linux and git version control system
  • Good knowledge of spoken and written English
  • Excellent organizational skills and ability to learn a variety of tools
What we offer:
  • Working on an IoT project
  • Possibility to travel on firmware-related conferences
  • The real impact on the product and its final shape
  • Professional development
  • Opportunity to work flexible hours
  • Flexible employment conditions    
  • Improvement of qualifications with our training program and certification  
  • Co-financing of training
  • Work on Open Source projects - opportunity to work with the community and build your own portfolio based on contributions    
  • Flexible working hours   
  • Medical care
  • Medicover Sport cards 
  • Group insurance  
  • Friendly atmosphere
  • Work in small teams    
  • Attractive salary depending on skills and experience    
  • Opportunities for development in your own direction    
  • Work in an office in a great location in Oliwa
Responsibilities:    
  • Designing and implementing functionality for embedded systems
  • Documenting and reporting on work progress
  • Debugging and analyzing problems related to the operation of hardware and embedded software
  • Analyzing and improving the security of embedded systems
  • Supporting Yocto-based Linux distributions
Nice to have:
  • Knowledge of real-time systems (e.g., Zephyr, FreeRTOS, MbedOS)
  • Experience in  working with SBC (e.g., Raspberry Pi)
  • Skills in configuring and compiling the Linux kernel
  • Knowledge of tools for building Linux-based systems (OpenEmbedded, Yocto, buildroot, debootstrap)
  • Knowledge of Docker and CI/CD tools (Jenkins, Travis, Gitlab CI)
  • Commitment to the open source community

Embedded C Developer/Engineer

Requirements:
  • Good knowledge of C
  • Good knowledge of Linux and git version control system
  • Good knowledge of spoken and written English
  • Excellent organizational skills and ability to learn a variety of tools
What we offer:
  • Working on an IoT project
  • Possibility to travel on firmware-related conferences
  • The real impact on the product and its final shape
  • Professional development
  • Opportunity to work flexible hours
  • Flexible employment conditions    
  • Improvement of qualifications with our training program and certification  
  • Co-financing of training    
  • Work on Open Source projects - opportunity to work with the community and build your own portfolio based on contributions    
  • Flexible working hours   
  • Medical care
  • Medicover Sport cards 
  • Group insurance  
  • Friendly atmosphere
  • Work in small teams    
  • Attractive salary depending on skills and experience    
  • Opportunities for development in your own direction    
  • Work in an office in a great location in Oliwa   
Responsibilities:    
  • Documenting and reporting on work progress
  • Debugging and analysis of problems related to the operation of hardware and embedded software
  • Design and implementation of functionality for embedded systems
  • Analyzing and improving the security of embedded systems
  • Assisting in the maintenance of Linux distributions based on Yocto
Nice to have:
  • Experience (hobby or commercial) with embedded systems software (microcontrollers, Embedded Linux)
  • Basic knowledge of at least one scripting language (we usually use BASH and Python)
  • Knowledge of real-time systems (e.g., Zephyr, FreeRTOS, MbedOS)
  • Experience in working with SBC (e.g., Raspberry Pi)
  • Ability to configure and compile the Linux kernel
  • Knowledge of tools for building Linux-based systems (OpenEmbedded, Yocto, buildroot, debootstrap)
  • Knowledge of Docker and CI/CD tools (Jenkins, Travis, Gitlab CI)
  • Commitment to the open-source community

Hardware Validation Developer/Engineer

Requirements:
  • Ability to independently diagnose and repair defects in electronic components 
  • The ability to read and analyze technical documentation and schematics
  • The ability to start up and test electronic devices by technological and technical documentation
  • Knowledge of technical English
What we offer:
  • Flexible terms of employment with flexible work-hours (e. g. for students);
  • Possibility to travel on firmware-related conferences;
  • Improvement of qualifications with our training program and certification;
  • Co-financing of training;
  • Medical care;
  • Medicover Sport cards 
  • Group life insurance;
  • Flexible working time;
  • Attitude on integration, friendly atmosphere without corporate processes;
  • Attractive salary depending on skills and experience;
  • Opportunities to develop in your direction;
  • Office in a great location – Gdansk Oliwa (with the possibility of work in hybrid mode).
Responsibilities:    
  • Development of hardware infrastructure used in testing
  • Development of automated tests (python, robot framework)
  • Documenting and reporting on work progress
  • Programming, debugging, and commissioning electronic devices.
  • Testing, diagnosing the condition of electronic components, circuits, and devices, and repairing damaged equipment.
  • Operating measurement and diagnostic equipment
  • Creating lists of materials and components 
  • Responding to problems on an ongoing basis
Nice to have:
  • Soldering
  • Interest in embedded systems
  • Ability to work in a team and individually
  • Ability to use a logic state analyzer and oscilloscope 
  • Knowledge of Linux systems and the git tool 
  • Knowledge of Python


Electronics Technician

Requirements:
  • Ability to independently diagnose and repair defects in electronic components 
  • Experience in manual soldering of electronic components/assemblies  
  • Ability to read and analyze technical documentation and wiring diagrams
  • The ability to start up and test electronic equipment by technical and engineering documentation
  • English speaking and writing at least B2 level
  • Independence in performing duties 
  • Excellent organizational skills
What we offer :
  • Flexible employment conditions
  • Improvement of qualifications through training and certification
  • Co-financing of training
  • Medical care
  • Medicover Sport cards 
  • Group insurance
  • Flexible working time
  • Friendly atmosphere without corporate processes
  • Attractive salary depending on skills
  • Opportunities to develop in your chosen direction
  • Work in an office in a great location in Oliwa 
Responsibilities:    
  • Programming, debugging and commissioning of electronic devices
  • Testing, diagnosing the condition of electronic components, circuits, and devices, and repairing damaged equipment
  • Soldering 
  • Operation of measuring and diagnostic equipment
  • Creating lists of materials and components 
  • Responding to problems on an ongoing basis 
Nice to have:
  • Experience in PCB design
  • Ability to use a logic analyzer and oscilloscope
  • Experience in creating BOM's

Office Assistant

Requirements:
  • min. 1 year of experience in a similar position
  • focus on efficiency in action
  • commitment and accuracy
  • very good organization of work,
  • very good knowledge of Libre Office and Google docs
  • Knowledge of English at a minimum B2 level
  • ability to work independently and in a team,
  • positive attitude, initiative in action,
  • communicativeness,
  • high personal culture
  • willingness to learn modern tools
What we offer :
  • Flexible terms of employment with flexible work-hours (e. g. for students);
  • Improvement of qualifications with our training program and certification;
  • Co-financing of training;
  • Medical care;
  • Medicover Sport cards 
  • Group life insurance;
  • Flexible working time;
  • Attitude on integration, friendly atmosphere without corporate processes;
  • Attractive salary depending on skills and experience;
  • Opportunities to develop in your direction;
  • Office in a great location – Gdansk Oliwa (with the possibility of work in hybrid mode).
Responsibilities:    
  • Comprehensive office administrative services 
  • Archiving of invoices, accounting and HR documents
  • Maintenance of databases
  • Support of benefit systems
  • Organizing meetings and handling the calendar of meetings
  • Ordering groceries, office supplies, including preparing orders
  • Coordinating incoming and outgoing correspondence, organizing the correct circulation of correspondence and other documentation, as well as its scanning and archiving,
  • Contacting clients and contractors 
  • Support in the organization of trips to international conferences
  • Support of the logistics department
  • Support of the HR department
  • Supporting the recruitment process
  • Performing various tasks ordered by the management 
Nice to have:
  • Experience working in the IT industry
  • Experience working onUBUNTU operating system
  • Experience working with Jira

Apply now!




    Team Visions


    OSFV Team Vision

    A powerful vision statement stays with you, such as Disney’s “to make people happy” or Instagram’s “capture and share the world’s moments.” But for many companies, vision statements are relegated to unassuming posters in the office lobby or staff lounge, forgotten even before they are hung up. OSFV vision should not only be meaningful to leverage the team engagement, but also throw light on its specifics for potential members. This document describes the purpose of creating open-source firmware Validation Team, its vision concluded with strategy and its members’ possible career development paths.

    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 solutions out 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.

    Developer taking notes
    Developer writing a code on the personal computer

    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
    Notepad with an empty list for today's workplan
    Person in the library looking for a specific book

    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.

    Contact Us

    Feel free to ask if you have any questions.