views:

496

answers:

11

There are some things that just don't spring to mind... a no amount of Googling is going to solve the problem. If you don't know what you are looking for, you're never going to find it anyway.

If you have other people to bounce ideas off of, how long will you keep trying before asking somebody else?

Example:
A coworker was trying to edit the max size that a third-party text editor would allow. He changed all of the values that the documentation told him to change. Nothing worked. He Googled for that third party. Nothing. If he had only known about httpRuntime maxRequestLength=..., it would have been a piece of cake. If he would have asked somebody else, they would have known too.

A: 

I ask right away if I don't foresee an easy way to find it online. I guess I don't really see the point in spending tons of time searching when someone may already know the answer. Maybe if you're asking that person questions constantly I may scour the internet first but otherwise I'm not really sure why people get angry when asked a question. I love to help people, even if it means helping them search for their answer online.

It also means that they do it right the first time so I don't have to deal with their problematic code later.

Joe Philllips
You don't understand the frustration because you aren't actually using your brain to it's potential at your job. When you are working on something that is flexing your abilities---that is, at or beyond your current potential--getting your train of thought derailed by inane questions is infuriating.
James Cape
Then close your door. Turn off your email. Put on headphones. If you're in the middle of thought I will not bother you as long as you make it clear. Asking if you want to go to lunch could derail your train.
Joe Philllips
Agreed, I hate it when I get interrupted with stuff like "can you show me how to adjust the size of the writing on my monitor" because I also sit in an office full of non-computer-savvy users too.
BenAlabaster
A: 

If its a topic that I'm still learning, I will go get help quicker, maybe after two or three different ways have been tried. If its something that I expect to be more knowledgeable about, an area of expertise (or I think it is), then it takes longer.

For example, I had trouble for quite a while on an error related to the fact that .NET does not turn \n's into newlines when writing out strings that contain them, because I was so used to this in other situations and I felt that my string and IO skills were strong.

As another example when I was still learning Windows Forms, I bashed into the problem of key handling and setting the right property so that Windows Forms would start processing key events. After 3 quick attempts at it, I started looking for help and found it eventually.

Edit: I work in a very small inhouse development team (me plus my boss for testing basically), so I'm more likely to go looking for answers on SO or search MSDN, then get help more directly. Only if its a really major problem will I ask my boss if I can contact our consultants to get some more expertise on the problem.

Tony Peterson
+14  A: 

If I know this is something that someone in the team might know, I ask right away. I normally use coffee breaks to look for people around in the cafeteria to discuss this.

But in general if I am looking for something complicated that might take an effort to explain everything in detail to the other person, I do full research first.

Whenever I have to ask someone around for help, I always remember this extract from Joel's blog:

Here's the simple algebra. Let's say (as the evidence seems to suggest) that if we interrupt a programmer, even for a minute, we're really blowing away 15 minutes of productivity. For this example, lets put two programmers, Jeff and Mutt, in open cubicles next to each other in a standard Dilbert veal-fattening farm. Mutt can't remember the name of the Unicode version of the strcpy function. He could look it up, which takes 30 seconds, or he could ask Jeff, which takes 15 seconds. Since he's sitting right next to Jeff, he asks Jeff. Jeff gets distracted and loses 15 minutes of productivity (to save Mutt 15 seconds).

MOZILLA
That's a really bad example. If you already know what you're looking for you can find it pretty easily. If you know you can find it online in the same amount it takes to ask a co-worker then I think it's implied that you would look online.
Joe Philllips
I agree that performing the real research first is important. I've often stumbled across peripheral information that was crucial and that my colleagues weren't aware of either. Researching questions is how I avoid cargo-cult programming in my organization.
Greg D
That Joel Spolsky knows what he's talking about.
Nick Stinemates
+3  A: 

It depends how easy it is to bounce an idea of someone. I just have to talk to my colleague across my cubicle wall, I don't even have to look up from my keyboard [not that I look at my fingers when I'm typing :P]. Of course, given that we're both of similar abilities it's rare for us to have to interrupt each other. If one of us doesn't know something, there's a fair chance the other doesn't either.

The interruption algebra doesn't really apply between us because generally while interrupting him might set him back 5-10 minutes [or much less if he doesn't know], but it's more likely to save me 15-20 minutes or potentially an hour because I'm more likely asking him "what should I be looking for to solve this problem" as opposed to "how do I solve this problem".

MSDN and the like are great resources, but unless you know specifically what you're looking for, it's tough to find it. You can't ask MSDN "How do I stop web browsers from cutting off addresses that have spaces in them?" and if you've not heard of URLEncoding before you'd be stuck.

Until they can come up with a search engine that can translate natural language into a useful search algorithm that can gleen what you really mean from a question, there's no substitute for asking another human being [or more usefully a whole bunch of them which is where StackOveflow comes in]. They can interpret it usefully and give you back useful information [assuming they've heard of URLEncoding] whereas a search engine often can't.

BenAlabaster
+2  A: 

Always do a quick google search before asking someone for help. If you can’t find an answer on the internet then ask right away.

Scott Dowding
A: 

I'm a big fan of putting programmers who work on the same project extremely close to each other. Preferably on the same table with no walls.

As long as you're all working for the same release, asking quickly is to the general advantage of your team. So do it!

The only time I have found this logic to be questionable is if you put a total newbie together with only really experienced programmers, because the total n00b will have a barrage of questions that normally last about 1 year.

krosenvold
+4  A: 

One of the reasons so many of us like pair programming is that if two people can't find the answer, we're more confident it's not just one of us being stupid.

If I'm going to ask for help I generally walk away from my computer so I can formulate my program clearly. This takes at least 15 minutes. It gives me a chance to think more about what the problem really is, what I may have overlooked, etc. But I'm a senior person with lots of a experience---if I need help with a problem I usually plan a lunch or a meeting in advance.

If you're just starting out it's a different story. You may want to ask your employer if anyone will volunteer to be your mentor. Then you can work out with your mentor how many interruptions per day are appropriate and what you should be doing to make your self more self-sufficient as time passes.

I can't overemphasize the value of stepping away from the computer and walking around. It separates you from the distraction machine, increases blood flow, and probably adds 15 or 20 points to your effective IQ.

Norman Ramsey
+5  A: 
Ola Eldøy
A: 

As a follow up to JC's answer, make sure you don't "go dark".

Going dark basically means "dammit, I'm going to figure this out", but you take weeks to figure it out. Or maybe you don't figure it out at all.

If you don't figure it out, or you just take too long when a colleague could have helped you in five minutes, you're inviting concern from your lead/manager and future micro-managing.

Learn to strike a balance.

Steve Lacey
A: 

It depends wether I am only interested or if I have to use this topic for work. If I'm only interested then I look for my own quite long. If I have some problems to go one for work I'm asking quickly, because I have to reach my targets. If it is only a syntax problem, for example I don't know the correct syntax, then I show by myself. If I have some problem with understanding a concept or understanding the coherence of the code, I will ask also very quick.

BtD
A: 

i know many people who prefer to spend 10 hours on google looking for some obvious thing instead of asking - i don't know if it's shyness or inability to admit that there is a thing they don't know.
i believe in asking. it makes life a lot easier, your work go quicker. and exchanging information with your coworkers and discussing a problem for a bit makes you learn a lot.
still i try not to ask immediately so that i don't interrupt others' work if i can find something by myself and quickly on google or stackoverflow ;)

agnieszka