Grab Your Gear, We're Going Fishing

18 Jan 2019

Back when I worked retail for an a shoe store, whose name I refuse to disclose, I ran into a problem at the register. The customer wanted a specific discount but I had tried x,y,z and nothing was producing said discount. I called my manager over and attempted to explain to her what I had already tried. However, my attempts to prove that I was not an illiterate nincompoop backfired because I was then given a “talking to” that I should never try to explain what I’ve done in front of a customer because that could be perceived as arguing. I was appalled. Was it so wrong that I tried to describe what I attempted and the detailed failure of said attempts? This situation led me to question my entire troubleshooting process as well as vow to never work in retail ever again. However, that experience has led me to believe I was destined to be a software engineer instead of a shoe salesman.

After analyzing Eric Steven Raymond and Rick Moen’s How To Ask Smart Questions, I’ve come to conclude that the best way to describe a “smart question” would be to call it a more thought-out question. State what you’ve tried and what you haven’t tried, say what framework or language you’re using, mention what happens after you do x. Walk yourself through the situation before you open your mouth. Personally, I find just going through the motions of stating what I’ve done and what I haven’t, helps me to solve the problem before even posing the question. This can narrow down the list of possible explanations for your error and help a contributor solve your problem with ease. Not only does this mental exercise of gathering information on the problem help your contributors, it will also help you become a methodical problem solver. All of this puts me in mind of the Confucius proverb, “Give a man a fish, and you’ll feed him for a day. Teach a man to fish and you’ve fed him for a lifetime.”

Here is an excellent fisherman. Mr. Rogers has stated his code threw a specific error, which he displays on his question, “Problem at line 1 character 1: Missing “use strict” statement.” He goes on to mention that he Google searched this error and noticed the “use strict” statement and implemented it into his own code. For most students, the “it works, don’t question it” method is the culprit of barely passing assignments. But here, Mr. Rogers asks about the why. He has already stated his Google attempt to find the reason his code suddenly works has come up short.

The most upvoted answer comes from Mr. Pascal, who not only provides a link to the resource on “use strict”, but provides what he believes is the meat of the text. This is a promising example of a well thought-out question receiving an insightful answer.

Here is a fellow who needs to work on his fishing skills. It is quite obvious that this is a homework assignment and the poster is a student, refusing to think for themselves. All the poster does is ask how to send 100,000 emails to a variety of domains but the poster gives no background as to what he’s tried in the first place. He is openly asking someone to just give him the solution. And boy, does he get it. The responder, Piskvor, gives a lengthy response and also states, “and it’ll be your job to troubleshoot and solve this.” This CVS-receipt of a response is warranted by the question asked.

A General Trend

Upon browsing through the highest upvoted questions on Stack Overflow, I’ve noticed that the questions begging the question of “why” or “how is x better than y” tend to be the most loved. Just because these questions are popular holds no bearing on whether or not they are “smart questions” but generally I’ve inspected them to be as such. Perhaps this is the response of asking a smart question as Raymond and Moen describe in their work.

Personal musings

When combing google searches of “dumbest Stack Overflow questions”, I came upon this gem of a blog, which also happens to be the source for that cheeky motivational poster about Stack Overflow in the beginning of the post. Coincidentally, this happens to be the personal blog of one of the co-founders for Stack Overflow, Jeff Atwood. Even if you have no interest in Stack Overflow, at least check out his blog, Coding Horror, for the incredibly funny graphics. Here’s my favorite so far, in which Jeff describes Stack Overflow as the most likely thing he will be known for when he leaves this earth:

bragging