The New Year's Resolution for Embedded Developers

 

As another year draws to a close, we reflect on the one that lies ahead as we wrap up this one. Even though nothing significant may change on January 1st, it's still beneficial to take some time over the holidays to consider the past and make plans for future advancements.




Good Software Design Practices

Although we embedded developers have a strong affinity for hardware, this does not imply that we must adhere to antiquated software development techniques from the days of assembly. Writing high-quality embedded software requires developing our skills, and good software design is more critical than ever. To start improving yourself, it's a good idea to understand software architecture, design patterns, dependency injection, and TDD. You can learn from a variety of sources, including books, YouTube channels, and blog entries. The following novels are strongly recommended by us:

  • "Test Driven Development for Embedded C" by James Grenning
  • "Modern C++ Programming with Test-Driven Development: Code Better, Sleep Better" by Jeff Langr
  • "Making Embedded Systems: Design Patterns for Great Software" by Elecia White

These books offer guidance through the modern software development practices necessary for upgrading technical skills.

Learn a new language

Yes, C is still the defacto language of choice for embedded development projects, but C++ is often used nowadays, and there is also a new kid on the block - Rust. 

For modern C++, I recommend watching conference talks by Michal Caisse, Luke Valenty, and Ben Saks, among others. 

From bare metal to RTOS

Bare metal and RTOS are two popular approaches to firmware architecture. Following our previous blogs “Choosing software architecture for your embedded system” and “Bare metal vs. RTOS?” But, did you know there is also an intermediate approach called Cooperative scheduler

Zephyr is becoming more and more popular. It’s a great choice for connected devices, and it has good support over different platforms. We have posted a series on that.

New Year’s Resolution

New Year’s resolutions are easy to break. The field of embedded engineering is vast, and staying up-to-date is a daily task, so let continuous learning be a path we will embark on in 2025. Happy New Year!

Comments

Popular posts from this blog

How Android System Services Connect Apps and HAL: A Deep Dive

AOSP Passthrough HAL: Architecture, Use Cases & Performance Guide

Getting Started with AOSP: Build Custom Android Solutions