As I walk around the office, a game designer friend calls me to ask for help on a simple task he is working on. I’m working on a different project, but what’s the problem on helping others, right? I hear the issue and note that I could write a quick script to do that, so I start right away, at his own workspace. Five minutes in and it’s ready to test.
Oh, um. That looks… kind of right.
Let’s check the code. Everything looks right, but it’s not working properly. Let me do some tweaks. Oh, year, it looks better now, but still not right. He asks me if it’s too complicated, then maybe it’s better to create a task for a coder in this project. No, it’s ok, I got it.
Some minutes and another programmer fellow, who doesn’t work on this project either, appears and asks what I’m doing in the game designer workplace. Hey, take a look at this, why do you think it’s not working, I ask. I explain to him the problem and the solution so far. “Hum, this should work. Let me think”.
Let’s rewrite this other way, maybe that was some kind of off-by-one error we missed. Code out, code in and that doesn’t seem any different.
“I need to go now or I’ll miss the bus”, says the designer, the one who needed that in first place and was just looking at us all this time. “I’ll let my computer on, so you guys can finish that”. No, I thought, we can finish that tomorrow. I go down to my computer, still thinking about that.
Hours later, when I’m going home, I see my programmer friend there, still working on the problem! “Hey, check this out, I did it”. He did it!
That really happened. We used so many time to solve a harmless problem that wasn’t even ours! I like how we programmers can get hooked on by problems and keep on it until we finally find the correct solution, no matter what. That’s so satisfying! At some point, that wasn’t no more about helping someone get their job done, it was about solving a problem.