Software Mechanic

A mechanic is a craftsman who uses tools to repair machinery. Thirty years ago the technology used within cars was much simpler than today, and relied on solenoids, carburetors, coils and physical cabling. Back then, mechanics were craftsmen who were able to fault find, diagnose and repair parts down to component-level with the skills they had learned through years of experience, normally starting from an apprenticeship. As car technology has moved forward, the role has changed for mechanics too – now students attend colleges to become auto technicians. Diagnostic tools allow them to link directly to the cars ECU and determine the fault via a code, which is then matched to a manufacturer’s manual; this in turn determines the parts which need to be changed. Component-level repair has all but disappeared, and technicians replace complete sub-assemblies, and therefore, require different skills to that of the traditional mechanic.

A similar evolution is happening in the world of electronics. Companies used to employ separate departments for hardware and software, and these disciplines were taught separately. The hardware department would develop the hardware, write elementary code to ensure circuitry worked, and then pass these “raw materials” to a software department who wrote the firmware, drivers and application layer to produce a finished product. As with cars, software technology has moved forward and become more advanced with generic, imperative, object-oriented languages such as C# and Visual Basic and recent .NET versions are compiled into Intermediate Language which is used to generate a native image at runtime, meaning more code can be written faster, easier and with less errors. Consider features like the API as sub-assemblies for mechanics, requiring less time to replace. Naturally, students are skipping low level hardware/software engineering and jumping straight into these environments, which means finding engineers trained in individual disciplines is much more difficult (and expensive). Engineers with more modern skills are more common and tend to be less expensive. Companies can also take further advantage of this situation by using off-the-shelf hardware, combined with faster software development, ultimately making for quicker (and less expensive) time to market – so it’s a win-win.

We understand this situation at Sealevel all too well, so when designing our hardware we always try and answer these challenges by offering customers all the tools they are likely to need. We pride ourselves on very well written, easy to implement APIs, great drivers and diagnostic tools, fully available technical support, and manuals which engineers can actually follow. In fact, some customers have told us they consider Sealevel an extension to their team, offering scalable engineering support for low-level hardware and software requirements on demand. All of this helps our customers become more competitive, more productive organizations.

Post a Comment

Your email is never shared. Required fields are marked *


Proudly Made in the USA
© Copyright 1996 - 2017, Sealevel Systems, Inc. All rights reserved.