Recently I have been trying, for the fifth or fourth time, to complete my dream project of having a library for Raptor FEC encoding. Each time I tried to recollect the left-overs and continue the project, I encountered problems that, at the end, led me abandoning it. Again and again.
The last time I have been literally dissecting an RFC, listing possible ontological situations leading to the behavior I was facing, and pulling my hair and screaming in the inside.
At the end I decided: I would have been rewriting the failing part, function by function, and I would have been coding it in a different language, to completely abstract me from the "prejudicial" reasoning that had me stuck.
I thought about this often: it happened many times, that some colleague solved my problem, that had been keeping me busy for many days, by merely looking at it, that moment for the first time. They had a different point of view: outside mine, which was already blocked, stuck.
This time too, it worked. I didn't even finished the rewriting: I had just implemented few functions when I noticed it: the issue. I changed and index in the original code, and that was it!
And I always thought the same about working together as different people and different cultures: it is fundamental as the problems the Earth is going to face are huge.
So, never forget the importance of changing point of view in tackling problems. It is, very often, a game changer!