Welcome to Jaapson blog and resource center, where you find our company news, download technical datasheet and read our blogging about PCB design, manufacturing and assembly, Electronics, Industry news as well as other related subjects. Our blog is published on weekly basis and you are welcomed to visit as often as you can. If you don’t find what you need, please contact us and our technical team will try best to help you out.

7 Essential Skills for Firmware Engineers

2016-08-15 14:34:45


Having the right tools for the job is critical to success in embedded development. But in the hands of the improperly skilled, even the right tools can yield a disastrous outcome. Firmware engineers require seven essential skills to succeed in today's rapid-paced development environment.


Skill #1 – Debugging

According to the 2015 UBM Embedded Marketing Study, debugging an embedded system was the greatest challenge facing developers and managers, surpassing even the challenge of meeting project deadlines. Undoubtedly the increasing complexity of embedded systems and the time spent debugging is a major driver to delivering on-time. Having skills to debug a real-time embedded system quickly and efficiently can have a direct impact on time-to-market and development costs, which is why mastering debugging skills is critically important for an engineer to be successful.


Skill #2 – Real-time language skills

Despite all the press about how cool and suave makers and hackers are, I would bet that the majority lack the programming language skills necessary to launch a real-time embedded product. Firmware engineers that learn the nuances of C or C++ and can apply those skills will be more successful. Skilled language developers will know which constructs are safe, buggy, or can be applied under the given system constraints. Mastering programming language skills is a MUST for firmware engineers looking to have long-term success.


Skill #3 – Understand hardware at the component level

Firmware developers may find it tempting to focus only on skills that directly relate to developing software and completely ignore the hardware. Many companies today even push their engineers into nice little boxes of skills and job responsibilities, so why not just focus on your primary area of expertise? But at some point during every project, all the little niches need to come together for developers to integrate and debug the system. Firmware engineers who can hold their own in software and hardware will be better able to function and lead the integration effort and in the end will appear more valuable to management and the team. Plus, it’s always fun when a hardware engineer points his finger at the problem and says it’s the magic black software box to be able to respond “The pull-up on the bus looks a little weak for this architecture …. have you checked that?” or something to that effect.


Skill #4 – Healthy skepticism

Healthy skepticism is probably more of a mindset or an attitude than a pure skill but nonetheless for today we will consider it a skill that needs to be mastered. All of us human engineers, at some point in our careers, we will select a component or a library or make a decision that will come back to bite us. From that point forward, when any component, library, or the like makes big promises we suddenly treat it like the plague and our response is blown way out of proportion. Practicing healthy skepticism should allow a developer to say I’ve been burned in the past by this, I don’t believe this, but I’m willing to evaluate, analyze and form an opinion based on engineering data rather than a personal, past experience. Healthy skepticism can help an engineer see the currents of change and determine when it makes sense to jump onboard with a new technology, process, or platform.


Skill #5 – Ability to self-market

The firmware engineer who can market themselves will gain many advantages over a peer who can’t. Marketing skills such as resume development or interview skills are not taught to engineers at the university. Instead, engineers have to learn these skills on-the-fly in the field. The engineer who can promote and market himself will get the job, the raise, and the extra perks.

Firmware engineers need to learn and understand that they aren’t just in the software business. They also need to gain marketing skills if they are to maximize their success (whatever their definition of success may be).


Skill #6 – Communication

When I was an entry-level, green engineer I used to hide behind email for as much communication as I possibly could. But email can be a difficult communication medium because it is so interpretive. It conveys no tone of voice and no facial expressions and so it is easy for the reader to read-in hostility or an issue where none exists. The reader's mood can easily turn a friendly email into an unfriendly one. On more than one occasion I was called to the managers’ office to discuss “that email” I sent to so-and-so that was considered inappropriate. Email is convenient, fast, and sometimes curt but verbal and face-to-face communication leaves far less to be interpreted.



Skill #7 – Organization

The ability to organize software and create beautiful architectures is important to an embedded software engineer, yet the real skill of organization is undoubtedly just being able to find what you need when you need it. The problem with a messy desk and tools scattered everywhere is that things shift and get lost, and time gets wasted looking for them. A two-minute search for that paper, module, or probe can break a programmer's train of thought and cause a context shift that requires fifteen minutes before the developer is back in the groove. Disciplined organization is a skill that is so essential yet so uncommon among many of the engineers I see and interact with.



There are any number of possible skills that can assist a firmware engineer in being successful. These seven are certainly essential although maybe not immediately obvious. What other skills might a developer need?




By Jacob Beningo

 Beningo Engineering


Online message
    Contact Us
    TEL: 86-755-82596922
    EMAIL: info@jaapson-pcb.com
    FAX: 86-755-82596922 or 82596923
    SKYPE: jaapsoncircuits
    Jaapson, Expert in HDI multi-layer PCB manufacturing
    Copyright © 2016 Shenzhen Jaapson Technology Co.,Ltd.