Thursday, 28 March 2013
Why I fail at helping
I was thinking about it a lot lately - why I fail at helping others. Is it complicated to help others? Maybe I'm just not trying hard enough. Do you have to learn helping? Strange.
I've noticed two typical behavior that makes my effort really ineffective. First one is that I don't know all the things I'm talking about. It's a bit embarrassing but true. In technology you can be successful without that, for sure. You only need to know the patterns and to search. I've read this report about professionals - where they state that development is one of the easiest profession around. You can learn and practice it in couple of months from scratch. It doesn't require neither hardcore training nor physical interaction. And when you have search skills it's really hard to transfer the real knowledge. On the other hand it comes up with the obvious question - so what we should learn? Why not just linking sites and blogs to the ones in need? Maybe the answer is that sometimes it's the right question that has to be told. Why should I explain how an API is working when it's all documented? RTM and that's it. It's my pointing finger that is really necessary.
I'm afraid if I go down this road I end up at the base issue with national education. So I raise you my second issue.
I work a lot by instinct. Being a visual person makes the horrible mechanism inside you where you think in altered forms. The way I remember songs on the guitar are vectors and shapes, not chords. The way I structure a larger piece of code is building up the layout in my head and sugar it a little and pour a small juice on the top. It works just fine for me, but it's not something I can explain. I never think ahead - like what's gonna be the next 12 git command I enter - it's not working in this way. It's like a professional carpe diem. Code fast, code hard. When I do a live demo I do the same - except I talk at the same time - which makes this weird gap between my train of thought and the actions I'm presenting. I actually prefer ad-hoc over planned when it's not a critical process, like a production deployment. Ad-hoc feels good. But then what to do when you have an audience listening to you and watching your screen?
My other habit makes it even worth. Whenever I'm in problem solving mode I have this leak-seeking algorithm to find the issue. It's barbarian - really. You have the problem, you map out the information structure that it sits in - and go though all the points that could alter the input and see what triggers it. Like when you know you have a problem on your server - you check the configs, the network, the users, the permissions - everything that can alter it. This is also not working when you try to help somebody with his/her problem. It's very confusing for most people.
But I still want to help. I love helping others. This is what life is about. So nothing else than improving and keeping on helping.