top of page

APPLY PRINCIPLES OF SUSTAINABILITIES TO CREATE VIABLE SYSTEM

system-design.png

During my internship at The Robot People, there was an incident that taught me about principles of sustainability in creating viable systems and products. 


I was in charge of developing software that helps to monitor the operation of a robot by collecting relevant data and providing useful insights into those data to the human operator. It was a good learning experience for me as it was the first time for me to do software development, which was not learnt at university since my major was Mechatronics Engineering. The progress was painful yet rewarding. I learnt about database management and GUI programming, and after several weeks of working, I was able to pull out the first version of the software. It was put on a trial run at the factory. However, this was where the problem happened. There were bugs and errors in the program that affected the data it collected from the robot. For programming, it is reasonable to have bugs in the program at the initial stage of development, or alpha stage, trial runs and constant testing are required to list out the flaws for patching and fixing. However, during the process of writing the code for the project, I completely forgot to document the essential functionalities of my software and the code section that was responsible for those functionalities. Because of that, I was unable to tell the reasons behind those bugs or where they might have come from.

​

It was a shocking experience for me, as I was not able to report in details to my supervisor the problems nor know how to fix them. At that moment, I realized the importance of doing proper documentation for the working process, in case problems occur, it would be much easier to roll back what has been done and the reasons behind the decision made at that time. Without proper documentation, maintaining projects would be impossible, and this could affect the overall productivity of the company.

​

Luckily, my supervisor understood the scenarios and suggested that I should spend the next few days going over my code, with some brief testing with the hardware available at the company, and try to come up with a high-level structure of the whole system. He stated that he would also be checking my progress and documentation more regularly, to make sure that the same incident would not happen again in the future. He asked me to report back to him about the current progress of the software every morning, what test did I conducted, what results was I expecting to get in comparison with the “real” outcomes. He then had me document all of the reports, and the changes that I made to the program. The documentation actually helped a lot. There was a time when I was about to conduct a test on a feature of the program, and then when looked back to the documentation, I realized that this feature was tested last week and was working as expected. After two weeks of fixing and testing the program, my program was put into the use again on-site. This time, it was running for two more weeks without receiving any comment or reports regarding weird outcomes and behaviours of the program.


Looking back at the incident, I learnt the importance of documentation and reports in an engineering project. They serve as a guidance and backbone of any project, and just by reviewing and utilizing them properly, any project or system can be maintained sustainably and effectively. Proper documentation and reporting habit is actually a beneficial skill that I was able to obtain during my internship at The Robot People, which will be helpful for my future career as an engineer.

bottom of page