How well do you sleep at night?

What are the nightmares that cause software engineers to wake up in the middle of the night in a cold sweat?   Is it a bad dream about finding their prized toy collection with all of the action figures out of the box?  Maybe it’s a mythical sink hole that swallows up the town of Riverside, IA (the future birthplace of Captain James Kirk)?  Or, could it be something work related?

Industry Survey Results
Largest concerns with future on-vehicle technology (respondents could select more than one response) – Click to enlarge

DISTek recently surveyed engineers, engineering managers, and engineering executives from companies that manufacture off-highway equipment on the technical outlook for the industry.  In the survey we asked respondents about their largest concerns with future on-vehicle technology.  The largest concern, selected by 3 out of every 4 respondents, was reliability.

It’s not such a big surprise that reliability was solidly at the top of the list.  Off-highway vehicles operate in harsh and rugged environments where operator safety and reliability is essential.  There has also been a surge in the amount of on-machine electronics and software.  Many machines that previously had no electronics have now incorporated electronically controlled functionality, while machines that had single controllers in the past may now have multiple controllers networked together with complex software subsystems.  It’s when this complexity leads to failures in the field that engineers have a hard time sleeping at night.

So what is a software engineer to do?  Fortunately, there are quite a few good tools out there to help developers with reliability.  Here are some of the most valuable:

  • Static Code Analyzers – Tools that can be dialed in to catch coding errors in software before it’s loaded on the target platform.
  • Build Automation Tools – Code is automatically pulled from your version control system and compiled/linked while you sleep.  The results are waiting in your inbox the next morning.
  • Model Based Software Development – MBSD Tools allow engineers to develop algorithms within the context of a complete virtual system much earlier in the development cycle.
  • Automated Software Testing – Investing in automated software-in-the-loop (SIL) and hardware-in-the-loop (HIL) test systems can pay big dividends.  There are also multiple off-the-shelf tool options available for automated regression testing.

Wishing all my software developer friends a good night’s rest and pleasant dreams!