Wow, what a question. That’s really got me thinking! There’s probably lots of different situations that could be used to answer this question – from university projects, to various different situations at work, and home to be honest.
One example is work I’m doing at the moment, which is to compare how virtual simulations compare to real life data from the track. Sometimes the data matches up quite easily but sometimes there might be small variations that have to be investigated and corrected. This can show up areas of the model that can be improved and so gives the developers a different aspect to work on.
It is an everyday thing for me, as a software engineer! 🙂
Never a dull moment! 😉
An example would be the time I was brought on board of another project to help them finish it on time (deadline really looming!) – and their code was in a real mess, spaghetti code! We had no time to figure it all out, so I had to come up with a way of doing it quicker.
What I did was to ‘catch’ the first few program calls, and follow them through the code, noting down each function that was used. That gave us a ‘trail’ through the mess to start working from. We just hit delete for the rest – and that was real satisfying – like using a flamethrower to clear away the mess! 🙂