I have been responsible for automating a large portion of the software build environment for Cpac Systems marine products. Basically new software is built by an automated build server every time someone commits new code to the software repository, but also on request when a software release needs to be done. I have automated the build and release processes piece by piece and now (with a few exceptions) we can release a new software for a large batch of products in a matter of minutes, compared to before when a software release could take a day. The reason for this is Python scripts that handle the complete build and documentation process of every software, which is done in parallell for a multitude of products. Before this process would be done by individuall software programmers for "their product" on build day.
I like automating boring tasks, and one of them sometimes is integration testing. At Cpac Systems I have been writing scripts and configuring hardware for automatic testing of Electronic Control Units (ECUs). Basically connecting the essential control units for running a boat to the same system, and writing automatic test cases that perform hardware-in-the-loop (HIL) tests. All of it connected to Jenkins Continous Integration server.
Where is the remote? Wouldn't it be good if you could switch channels on the television from a website. A wanted to see if it is possible. It didn't.. Note to self; buy more powerful IR transmitters.
The project involved solving complex problems and also lots of boat testing around the world (Sweden, Japan and the US). My main tasks were to implement software algorithms, and as a side project I also developed a boat simulator to reduce time spent doing boat testing.