First, excuse the inherent contradiction in the title! Now, with the recent rise of stackoverflow.com as a programmers favourite dynamic and responsive encyclopedia, I find myself questioning my own behaviour.
Why? Well, I find that I almost NEVER ask any problem-based programming related questions to my peers.
Don’t misunderstand me here, the amount of stuff I don’t know is literally unbounded, it’s just that I will always work away at a problem until I have found the solution myself. I’m pretty sure that I didn’t always do this – I can vividly remember asking a friend with whom I worked with years ago many many programming related questions. Thinking back to those times though, it almost felt like I was cheating asking so many questions.
However, in the last 5 years, much of the development work I have undertaken has been as a contractor. In this setting I literally had no-one to ask. So what did I do? Well I just spent the time researching the problem, figuring out details, and then tried to use what I had learned to solve the problem – where the range of problems encountered ranged from the trivial to utterly complex.
This habit of not asking questions has continued with me. Even on a recent project I encountered several issues that literally had me stumped. Yet with a lot of effort and hard work, I got something that worked in the end. This, maybe wrongly, leads me to believe that those who ask a lot of questions are just not willing to put this kind of effort in – I suppose it’s that or they are just not capable! Or maybe they just prefer to economise their effort! Myself, I just think it seemed much easier to ask, and so that’s what I did. But that really just boils down to laziness. Right?
What can we tell from those who ask a lot of questions and those who ask none?
Despite my previous remarks, I think it’s easy to see why asking questions is a good thing: it saves time, builds communities, and most importantly it allows you to benefit from other people’s experience. That said, I feel that a developer who has the ability to free think, and “discover” a solution is extremely valuable – you may not always be in a position to find an answer to your burning question, especially if it is highly tied to the business logic of your application. I’m sure many of those people who ask the most trivial questions would benefit from the process of finding their answer, rather than being given it on a plate at the likes of stackoverflow. Is the success of stackoverflow the first sign of the dumbing down of programmers or is it the start of collective knowledge transfer that can only benefit our whole field?
The link between free thinkers and those who do not ask questions is not an if and only if relationship – anyone with any experience of tutoring students will know this. Many people who do not ask questions actually don’t have a clue (and maybe never will). You see this all the time with certain students; they never say they have a problem and they don’t ask questions. Then you see their exam results and think WTF.
This leaves me with a problem though: I don’t want to say that all free thinkers don’t ask questions, and I know those who do not ask questions are not all free thinkers. How do you figure out what is what? Mmmm, maybe I will just leave that as a question 😀
Gregg
For me I think being able to think for yourself is a must have attribute but so is knowing when to ask for help – indeed being able to ask for help in such a way as to get meaningful and helpful answers is dependent on doing at least some work on your own I think.
I do believe that I search for help online more than I should because a part of me thinks that what I am doing must have been done by so many others before me that I am bound to find something out there. Only once I have done my due diligence on a problem would I ask a community.
Richard
Perhaps people aren’t asking so many questions because of the rise of the RTFM culture. http://catb.org/~esr/faqs/smart-questions.html
I personally think that too many people do not Read The Fucking Manual, herein lies the problem. That said, some manuals provide the worst possible user experience I have seen. Even MSDN’s search facility is utterly useless at times (most of the time?). We need every manual indexed by Google!
But RTFM culture does not appear to exist quite so much in places like StackOverflow, where a typically RTFM flame is likely to be voted down or removed. I think community based voting systems do help to remove the RTFM culture slightly. For better or for worse? That I’m not sure.
@Richard
I agree totally that knowing when to ask for help is an important skill. Sometimes I’ve asked for help, then been shown a trivial solution which has made me feel very lazy. But sometimes I’ve plugged away for hours on a problem before asking for help, then been shown a trivial solution which has made me think \why didn’t I ask before?\!!
Sometimes asking for help can be a good way to indicate to your colleagues/managers (unless your company has a flat hierarchy 🙂 ) that you’re progressing well with something. If you are a manager and an employee says to you \I’ve done X and Y but I’m stuck on Z\ at least that tells you that they’ve been making progress with X and Y. If an employee just works away silently then you don’t know whether they are doing brilliantly, or if they’re totally stuck, until further down the line.