Posts filed under ‘Soft Skills’
It’s really interesting how the reputation thing works there.
For those unfamiliar with the site, it basically allows anyone to post programming related questions and then those questions are answered by community. The cool thing about it is that anyone can answer any question, and everyone can also rate answers and questions of other people by up or down voting. Each up vote gives you some reputation, down vote reduces it (but by smaller amount). It’s a great resource as there are a lot of knowledgeable people there and most questions are answered very quickly.
Gaining reputation there is hard because it seems that there are more experts there than those seeking knowledge. It makes sense I think because if you know about that site it already means that you know some stuff about programming, and those who are really clueless won’t know or try to find out about it. Because of this over-abundance of experts finding questions to answer is hard.
There are basically two types of questions there. One is simple generic ‘what are the benefits of polymorphism’ type of question. Almost everyone thinks they can answer those so usually those questions have 5-6 answers within a minute of being posted. The site displays all answers ordered by their rating, so it’s a game of who can get the most reasonable answer fastest because after about 15 minutes no new answer has much of a chance of getting any up votes because it will buried so deep no one will bother looking at it. These questions also usually get the most up votes because many people are interested in those.
The second type of questions is the extremely specific ones – ‘When I use X with Y on Z OS, and I press A with B, I get exception E”. Sometimes those are not answered at all. But unless it’s very esoteric someone will usually know the answer within couple of days, and the answer will usually be rewarded by point or two, because not many will know about the subject to vote on it.
Starting was not easy. The only type of questions you can reasonably expect to answer when you just start there is the specific ones. I think it took me couple of weeks to just get to 100 rating. But with time you get to learn the system, and as your reputation grows you are also more likely to get upvoted so it’s sort of self reinforcing effect. As evidence, it took me couple of days to get from 1000 to 1100 without really trying to. Additionally as you get more and more answers in, you start to get a steady stream of reputation from old answers that people sometimes find.
My next target? 10k 🙂 I wonder how long that would take.
I read this post by Seth Godin and it is a really interesting and different way of looking at the creative process.
Seth describes creativity as something that is done on the edges of a comfort zone. The real interesting part of it though is that a comfort zone is very personal and individual thing – nobody can have experience in everything in this world, so for every one of us we have our areas of comfort where we have a lot of experience and knowledge and huge space of unknown around it. Which means that what I consider extremely creative may be extremely boring “more of the same” stuff for someone else, and vice versa. I am a Java application person professionally so when people around me talk about embedded programming it seems very fresh and strange and exciting – and it probably is the same way the other way around.
The practical advice out of this is that it is important to try to expand your comfort zone beyond what is considered “standard” for your job description. If you are a J2EE person try to learn some Groovy. Or Lisp. Or automatic tests. Or whatever else. You may not become world’s leading expert on X, but that’s is not the goal anyway. You can become a relative expert, “Best Y and X” person, and that is extremely valuable. At the very least it will get you some insights and ideas which will help you become more creative in your field.