Embedded systems engineering is fascinating to me because it is a field that is constantly changing and evolving. The dynamic nature of the field is taking place at an ever-accelerating rate, which means it keeps the practitioners on their toes to constantly learn, adapt and innovate. If a team or individual wants to be successful, they can’t be complacent but need to be continually honing their skill set. In today’s post, I’ll share several tips for how engineers can hone their skills and ensure that they don’t become stale.
Tip #1 – Participate in IEEE groups and events
I’ve been actively participating in IEEE-USA for the past seven-plus years and have found it a great place to hone my skill set. The IEEE has a diverse group of members and more than a dozen chapters and affiliate groups in which members can participate. While there are plenty of events and conferences to attend, I’ve found that I’ve learned the most by talking with and working with other members with similar technical and business interests. For example, for the last two years, I have been Chair of the Alliance of IEEE Consultants Networks Coordinating Committee (AICNCC), which has helped me learn more leadership and business skills from retired and practicing engineers.
Now you might be saying that sounds interesting, but you have no interest in consulting. I also participate in the local Computer Engineering group, particularly when the topics revolve around embedded systems. Once a year, the local section has an Embedded Systems Workshop, which is always fun to participate in while providing a way to engage students, practicing engineers, and local companies in the field. The amount I’ve learned through these activities has been well worth the membership fees.
Tip #2 – Read one engineering book per quarter
My personal goal is to read one engineering book per quarter and apply the books' techniques to my development processes and skills. I’ve heard suggestions that we should be reading a book per month, but I find the faster I read through the book, the less I get out of it. I’m a big advocate for reading a chapter or two and then pausing to put the take-a-ways to practice before moving on. There is a concept known as a forgetting curve which essentially shows that we forget 90% of what we hear and read within one week unless it is reinforced. That’s why it’s a good practice to read a chapter, do some exercises, solidify the take-a-ways into your habits and then move on.
Tip #3 – Attend a webinar at least monthly
Webinars can be a fantastic way to hone your skills if you are attending suitable ones. Webinars are perhaps one of the most popular ways to learn new skills and for companies to market their products. I don’t think a day goes by where I don’t get an email talking about an upcoming webinar. My suggestion is to carefully select which webinars you attend and then attend at least one per month. I rarely attend webinars live but wait for the recording to listen to it at 1.5x or 2.0x playback speed. With time being our greatest resource, if you can get the main points for a 1-hour webinar in 30 minutes, then do it! (Of course, if you are attending one of my webinars, I recommend listening live for the interactions).
Tip #4 – Hang out with industry experts
This year has been a bit interesting since in-person meetings, conferences, and the like have all been canceled due to the pandemic. One way I have always enjoyed learning is to hang out with industry experts and pick their brains. When I travel to conferences, I’ll often reach out to the other experts at the conference to get together for a meal or beer. The conversations are usually fascinating, and there is a ton you can learn. It also does not require you to be an expert yourself. Many conferences and events will have networking sessions, and I’ve found experts are usually quite willing to share their knowledge. I recall the first Embedded Systems Conference I ever attended early in my career, and I had no clue what was going on. Still, experts like Dan Saks and Jack Ganssle were pleased to chat, answer questions and share their experiences.
Tip #5 – Always have an “experimental” project in the works
I’ve found that having an “experimental” or fun side project is a great way to keep existing skills fresh and learn new skills. For example, I used to have a side project, which was do-it-yourself (DIY) weather stations. I first built one to try out specific C techniques of interest. Then I built one again but this time using C++. Then when I learned of MicroPython, I modified my station to use it. When I wanted to hone my TDD skills and work with a test harness, I again returned to my weather station. To some degree, it’s just because I’m super familiar with it that I can comfortably go back and quickly try out new things. There are plenty of other ideas you can use, though, and it doesn’t always have to be the same thing. Many of my current experiments are around flight computers and machine learning for space robotics.
Tip #6 – Formal training activities
In-person training has always been a great avenue to hone your skills, but with the pandemic still in full force, it’s not something you can readily do now. However, many formal training environments have been moved to online training platforms. This can be advantageous because you no longer have to pay for hotels, travel, and deal with travel time and jet lag. Instead, you can join a course from the office or your home and learn the skills you need.
I’ve found it interesting to watch how different companies have adapted to online training. Some have tried to move their whole week-long course into an entire week-long online course. Others try to break it up into half days. I’ve been doing online training for several years now and have found that what would normally be a one-day workshop is best taught over three days in three-hour sessions. More complex courses like those on developing RTOS skills will often be broken into weekly classes, almost like a college course. I’ve found this allows attendees to absorb and apply their skills immediately versus trying to force them to learn everything in a single sitting.
Tip #7 – Attend conferences and lunch & learns
I’m a big fan of attending conferences. They typically include a collection of industry experts from around the world and provide tons of cutting-edge techniques and ideas that can be applied to development activities. For now, in-person conferences aren’t running due to the pandemic, but many of them have gone to online versions. Depending on who is running it, these have had various degrees of success and engagement. Still, they can be a great way to hone your skills with little to no cost.
The embedded systems industry offers us so many interesting growth opportunities. It’s impossible to pursue them all; trust me, I’ve tried. But the industry's dynamic nature makes it so that there is always something interesting to work on. Today we have examined a few tips on honing our skills, which is certainly not an exhaustive list. But it is a good start.
Jacob Beningo is an embedded software consultant who currently works with clients in more than a dozen countries to dramatically transform their businesses by improving product quality, cost and time to market. He has published more than 200 articles on embedded software development techniques, is a sought-after speaker and technical trainer, and holds three degrees which include a Master of Engineering from the University of Michigan. Feel free to contact him at [email protected] at his website www.beningo.com, and sign-up for his monthly Embedded Bytes Newsletter.