It starts by me just keep trying to solve it. After a while I decide that maybe I should look at the documentation. It turns out it's incomplete or just not specific enough to answer my question. Then I shout over the cube wall - see if the guy on the other side knows. Or walk in my boss' office and ask him. He usually goes "Goddamn it man can't you solve anything by yourself!? I don't know why we pay you!!" Then he tells me. Usually that's that.
But sometimes he doesn't know - so he sends me to our in-office guru. The guru has programmed everything that has a microchip in it at one time or another. I don't know if he was around for the vacuum tube era - there is a good chance he was.
Sometimes the guru is not in though. Then I search online - I usually have a suspicion what the problem is - so I search - "how to make A do B". After I while I end up on Wikipedia - reading about pre-historic weapons making techniques... It's never too late to start preparing for World War 4...
I don't believe I got stuck that often in a programming task before I was first exposed to the Internet in 1989. This was my first year at the University of Pittsburgh as an Engineering Student. Although in the first years there was not web browsing but gopher, ftp, telnet, news. And then there were also dial up bulletin board servers that I vaguely remember..
Hmm, I am not sure much of that solved my problems. However when I think of it back then a large programming assignment was 1 thousand to 2 thousand lines. I typically work on projects where I write 75 thousand lines (1.5 year project) and I have several dozen times written more than 1000 lines in a single day. Back then I would have turned to a book first. And programming language of choice was Borland Turbo Pascal.
There is the same quantity of a "Bacon" optional answer as of the CListCtrl. The world has changed, a new era is incoming. I have never posted CListCtrl before but in the next survey I'm gonna to for it.
... you find a match to your elusive search and it's turns out to be someone saying "We won't do your homework." (Although I use that as a clue that it's time to switch from specific to general or hit MSDN. )
Heh, what's been frustrating for me is running across all of those leech sites that harvest content from Stack Overflow. So I think I need to go in the other direction from the general to the specific, i.e. search Code Project, Stack Overflow, MSDN, etc. directly instead of relying on a general google search.
You all know damn well that when you are in a pinch you are looking on the net for the EXACT answer to your problem. You are not looking for some general bullsh*t or philosophy on you programming issue. You need answers and you need them now. You can do your code meditation later.
And that is the reason I voted "Search online for more general background information on your issue". If it was just error messages/crash ... I would have picked "Search online for the exact answer to your problem"
I search for exact to almost exact answers for things other than errors and/or crashes. When I have to have something delivered yesterday, it sometimes is helpful if someone already found the answer...why re-invent the wheel.
I do a lot of my actual learning of new technologies and concepts at home with a cup of coffee in a relaxed atmosphere.
Generally true. When I look online for the answer to a programming question, it's usually to resolve a specific issue: "why does X do A rather than B?".
The only time in recent memory I looked for the answer to a design issue was when I wanted to use a specific approach to a problem, and there are several closely-related variants (model-view-controller).
I find talking about the problem forces you to reorganize your ideas in a simple way that often leads to solution. The person you talk to does not have to have experience with the problem. The scenerio is like a psychologist/patient relationship. The psychologist (your friend) will lead you to the solution - they don't even have to understand the technology.
I call this: talking to a lamppost. If you can explain your problem to a lamppost, you wil usually find the answer. This has inspired two collegues of me to actually place a miniature lamppost on their (combined) desk . If it is lit, one is using the other as a 'dummy' to explain his problem to.
This works for my roommate all the time. He'll ask me to help him with some problem, and while explaining it to me, he'll have some sudden epiphany and out comes the solution. Most of the time it works without me even saying a word.
Because they usually have already plugged at it for hours, read the documentation, possibly a book, looked for the answer on internet or asked a question on one website or another.
Would be a shame to do things twice
because i have a multiple answer...
though i have given vote to option number SIX...
My answer is option number 5,6 and 7.
first find exact...not successes...
go for option number six.... not successes...
go for option number seven.....
First, i search on line
Then if i don't find, i ask a colleague
Then if i don't find, i post a question to get a track
Then if i don't find, i read the docs again
Then if i don't find, i phone Microsoft
Probably coffee is not a good option for me because I hit stumbling point most of the times when I code ,then I will be overdosing my self,I go out look outside the cabin or crack a joke with colleagues (something that distracts my current thought process)..
... be allowed to choose more than one answer here!
Oh, and an option is missing:
"Post a 'Send med codez - it'z urgentz!' in the CP Q&A Forum!"
Why can't I be applicable like John? - Me, April 2011 ----- Beidh ceol, caint agus craic againn - Seán Bán Breathnach ----- Da mihi sis crustum Etruscum cum omnibus in eo! ----- Just because a thing is new don’t mean that it’s better - Will Rogers, September 4, 1932