Get in touch

Effective Engineering Onboarding: Byte Lab’s Training Process for New Employees

Careers

6 mins read

academy

As Byte Lab started growing a few years ago, we realized that a system where new employees don’t have an systematic onboarding and mentoring process (especially if they are younger) was urgently needed.

 

So, we decided to develop an onboarding process designed to train new people in the Engineering department within a month, to give them an understanding and familiarity with the most important aspects of the company and its operations, prepare them for project work, introduce them to the most important technologies, and most importantly, make them feel welcome. 🙂

 

In doing so, we aimed to ensure that the entire system is straightforward and easy to implement.

 

Our onboarding process consists of 5 steps: 

  • Preboarding
  • 1st day
  • Company introduction 
  • Technical training
  • Wrap up conversation

 

After three years, our onboarding process is now a well-oiled machine where everyone knows their role. For example, in preboarding, the arrival date is arranged, necessary documentation is completed, a task list is created, equipment is prepared, and a mentor and buddy are assigned.

 

The mentor, usually a team lead, guides the new employee through onboarding and provides training, while the buddy’s main goal is to inform the new employee and ensure they feel welcome. 

These two individuals welcome the new person on their first day and introduce them to the company. In the first few days, the process involves familiarizing the candidate with the company, how it operates, and its strategy. 

 

Then, technical training begins. This part is specific to each department in the company. It’s important to mention that each trainee is expected to provide feedback on the training sessions and address any shortcomings they notice. This iterative approach to refining things enables easy maintenance of the overall knowledge base.

 

Software Engineer Training

 

  • Hardware
    Given that Byte Lab software engineers are embedded engineers, it’s essential that they are familiar with hardware development and module handling. This session focuses on introducing hardware to software developers and emphasizes safety measures when working with electronic modules.
  • Toolchain
    In this training, software engineers learn about the tools used at Byte Lab for software development.
  • Git
    This session focuses on Git and its usage. By the end, participants gain basic Git knowledge, appreciate the significance of version control, and comprehend the outcomes of all exercises.
  • Workflow 
    In the fourth training, participants work on a small bare-metal firmware using the STM32F407 development board and gain insight into Byte Lab’s workflow. By the end, they  become familiar with basic microcontroller architecture, project management practices at Byte Lab, coding standards and rules, embedded software architecture concepts, flashing and debugging targets, self-review and merge request processes.
  • FreeRTOS
    Trainees deep dive into FreeRTOS. By the end of this traing, they master the creation of an RTOS project, gain comprehensive understanding of RTOS fundamentals, dive into RTOS code architecture, and grasp key concepts including tasks, queues, mutexes, task synchronization, and inter-task communication.
  • Zephyr RTOS
    After realizing how much easier it is to develop firmware with an RTOS than bare-metal, trainees now have the opportunity to experience an even richer ecosystem that is much more than just the RTOS. Since we have increasingly been using Zephyr as the RTOS whenever possible and practical, we had to add it.
  • Code Quality
    Through the tasks in this training, trainees gain a broader perspective and have the opportunity to try tools that enable higher code quality (some of them are internally developed – blAnalyzer), easier debugging, and code testing.
  • Software Procedures
    Before starting on a project at Byte Lab, it’s essential for trainees to familiarize themselves with the working methods and procedures. This training introduces all necessary software procedures and general practices for the entire engineering process, including the Byte Lab C Coding Standard, Git Branching Model, Git Rules, Changelog, Firmware Versioning, Firmware Release Procedure and others.
  • Bonus training: Peripherals
    If a trainee has enough time before receiving “real” tasks, we usually organize bonus training session. This “Peripherals” training encourages trying out all the peripherals offered by the development kit.

 

Hardware Engineer Training

 

  • Manufacturing department activities
    In the first week in the hardware division, new hardware division employees spend time in our production department. This enables them to see and experience the processes that their designs will have to go through. Manufacturing processes, tools and instruments..
  • Manufacturing processes, tools and instruments
    This educational session provides new hardware division employees with an informational overview of the manufacturing processes. Being aware of these processes  enables hardware designers to effortlessly apply best practices for design for manufacturing (DFM), making their designs:

    • Cost-optimized
    • Reliable for production
    • Easy to test in production

 

Additionally, this session offers a theoretical overview of hand tools and electronic instruments, informing new employees about the application of each tool. While practical use is necessary to truly master a tool, this session gives employees a foundational understanding of when and where to use specific tools.

  • Practical electronics and reverse engineering
    The session aims to acquaint engineers with practical electronics, enabling them to recognize basic electronic components and use essential electronic instruments and tools. Participants learn to identify ICs and familiarize themselves with common IC packages. The main objective is to reverse engineer a provided electronic module, analyzing its components and their functions.
  • Internal tools and procedures
    Engineers are equipped with the necessary tools for everyday hardware development tasks. They familiarize themselves with key tools such as Altium Designer and Git, essential for design drafting and version control. Additionally, they explore internal warehouse management procedures, enabling efficient browsing of stock and component selection for rapid prototyping or production. The session also covers development process overviews, schematic and PCB design analyses, PCB panelization, preferred components lists, firmware release procedures, and the collaborative nature of the internal wiki for educational and informational purposes.
  • Library and design project
    During Session 5, engineers dive into the workflow of Altium Designer, focusing on essential tasks like creating new projects and libraries. They leverage tools introduced in Session 4 throughout. Specific activities include generating a document number via the ERP System for the Altium project, crafting a new project using a Git-available template, setting up schematic and PCB libraries within the project, designing in line with technical specifications, integrating version control, and releasing comprehensive manufacturing documentation following the Electronic Module Release Procedure.

 

After completing technical training, the onboarding process concludes with a discussion with the manager, where feedback is provided, the next steps are discussed, and ideally, an assignment to a project is made.

 

Byte Lab’s Engineering onboarding program has successfully guided around 30 employees, demonstrating its significant benefits and overall success. It helps our hiring planning by providing an overview of how many people we can employ within a specific period. The structure of the training makes the entire process simple and straightforward for the facilitator and ultimately gives good results.

 

Most importantly, what makes onboarding successful at Byte Lab is the welcoming attitude of existing employees, who always warmly receive new colleagues.