This was my graduation thesis. I created a laser sensor which allowed a robot to determine the position of an object more accurately and avoid dropping it. It was based on the same technology used to make laser light shows. The program architecture was based on components.
This component architecture was what today is called object-oriented programming. You can benefit from it even if your programming language is not object-oriented.
It made the software much easier to troubleshoot and to expand.
Working for Intel Corporation, I structured the application so well that very few errors were found at testing time. Structure is everything to create an easy-to-troubleshoot application.
I have written a lot of PLC software. You can’t even test it but in production, when you have only 15 minutes to fix any error or the industrial plant has to be stopped.
Sure I had to make the application easy to troubleshoot.
Working in Camberley, UK, to create a prototype and having only 2 months to make it, I had to give the prototype a good structure in order for it to be quickly built without renouncing to quality.
I have worked for years in a production environment and I know what an application has to look like for it to easy to troubleshoot when you have stringent SLAs to respect.
Structure, documentation and good error handling make an application easy to troubleshoot and I have dealt with them many times.