by Howard Lo

Cunningham’s Law AKA Getting Answers From Snobby People

36RvZqmUm4pkvi0Y6sL2A-k1s7pFKxnfAhpt
From “struggling developer” to “occasionally struggling developer”

Prelude

I’m a self-taught developer. I didn’t get a computer science degree. Not even close.

I read 10% of one programming book, and 5% of another. The rest came from Google error messages, posting on Stack Overflow, and attempting to run before I could walk. I’ve got the banged up knees to prove it.

My first project was an e-commerce website, fully loaded with a shopping cart, products, inventory, pricing, sales pricing, reviews, ratings, images, and most importantly checkout. It sounds pretty standard now. I mean, what e-commerce site doesn’t have checkout?

But for me as a new programmer, this was like me to build the Titanic from scratch.

Granted, you don’t really build anything from scratch anymore. There are hundreds of pre-made pieces you can stitch together to shave days or weeks off your development schedule (if this is news to you, you should do some internets).

But it doesn’t matter how many pre-made pieces of the Titanic there are — attaching the front half to the back half is still pretty damn hard.

I’ve always hated using textbooks. In college I managed to pass a lot of science courses for medical school prep without ever buying the textbooks. The worst thing about textbooks is that you can’t ask the textbook any questions.

Google is awesome because you can ask it questions and it will, in a way, answer them. But sometimes my questions are too generic. I also didn’t know what things were called, so asking Google would often spit out a generic answer — or 50 very specific answers. But which specific answer was the correct one for my specific case?

Stack Overflow was heaven-sent for a lot of problems I had, but asking a question had a turn around time. My founder and I were poor, so having our “company” wait 24 hours for someone to get back to me on my stupid question was…out of the question.

And thats when I discovered IRC.

Again.

The Internet Tortoise

For those of you born in a year that starts with the number 2, IRC is an old form of chatting on the internet . This was before texting or even AOL Instant Messenger became a thing. (Do you all remember AOL instant messenger? Damn we’re old!)

So you can imagine my surprise when I discovered that good old IRC was still alive and kicking on freenode.net. It turns out, a ton of experienced developers hang out in various channels on freenode’s IRC servers — from senior developers, to start-up hackers, to core contributors for major open-source projects. And of course, snobby people.

IRC is great because the help is professional, free, and instant.

So here’s the generalized and slightly exaggerated problem: the senior developers are busy managing and enslaving the junior developers. The startup hackers are busy hacking their startup a third arm. The core contributors are answering all the hard questions about their projects.

Newbies like me, we get left with the snobby guys.

A typical snobby guy response to your newbie question:

“You could’ve easily Googled the answer in the same amount of time it took you to ask it here.”

or:

“You should read this [500 page] book on programming first. It’ll answer all your questions.”

and everyone’s favorite:

“Read the docs.”

That last one is only valid if the docs aren’t confusing and aren’t organized by a developer who thinks that UX is a myth.

But otherwise, not productive. I needed a strategy that would:

  1. get my question answered ASAP
  2. not piss anyone off, so that I can ask another question later

I came up with a strategy, only to find out later that someone else had come up this strategy first. So their name is on it — not mine.

Cunningham’s Law

“The best way to get the right answer on the Internet is not to ask a question, it’s to post the wrong answer.”

This technique is snob kryptonite.

And wrong answers to a internet snob is like (spoilers!) Sansa Stark to Littlefinger — they just can’t let it go. All you have to do is make a second account to take the fall.

First, you use your real account to ask the stupid question:

“How do I tie my shoes?”

Then, on your second account thats going to take the fall, answer incorrectly with:

“You can’t tie them. You have to buy new shoes.”

Now, if you listen carefully, you can almost hear the angry fingers smashing into the keyboards at 200 wpm through your monitor as the entire chatroom comes alive to oust the false prophet.

And nobody is going to reply with:

“dude, go ask your parents how to tie your shoes”

…when my oblivious and benign reply to that would easily be,

“but that guy already said to buy new shoes, why should I ask my parents?”

Checkmate.

Bonus Tips (Because I like you)

Cunningham’s law is great, and it really works. But there are some other tactics I’ve picked up when dealing with internet folks that Cunningham never mentioned. Here are some amendments to his law that will help you get your answers quicker:

  1. Swallow your pride. Don’t try to win arguments. Sometimes, when you’re discussing JavaScript, things can get heated. When things get heated, your question tends to go unanswered. What’s more important, your question or the argument? It’s in your interest to lose the argument and to steer the conversation back to your original question.
  2. Try a bit first. Most people don’t want to help you unless you try or at least seemed like you’ve tried. It helps you build your understanding, but it removes one less unproductive thing they could say. Try to answer your question first, and then describe what you’ve tried. It sounds way better, and it gets you your answer faster.
  3. Don’t ask to ask. “Hey I was wondering if I can ask a question about JavaScript?” To which the snobs will reply, “I don’t know, can you?” Just ask.
  4. Don’t get emotional. Sometimes snobby people can really get on your nerves. It used to happen to me on a daily basis, and it’s usually from the same guy. Don’t get emotional because then you’ll say something really stupid and you’re done for. Stay calm, and ask your question.
  5. Don’t feel entitled. I get the feeling that a majority of the people in a given channel don’t like the snobs, yet don’t speak up because #avoiddrama. Don’t feel entitled to receive help because then you become a snob — and now you have no friends in the channel. Remember, you aren’t paying them the $60 per hour they probably get paid at their job.
  6. Show them your code. You’ll quickly discover that for some topics, no one wants to help you until you show them your code. Use things like JSFiddle, Github Gists, and dpaste to share your code. Different channels and topics have their own preferences, so be sure to ask which they prefer.
  7. Secret weapon: Pretend to be a woman (unless you already are one and aren’t getting help—then try pretending to be a 10-year-old). Yup, tried it. Yup, it works. I’m 100% for workplace equality, but the fact is, people tend to help women a lot more than they help men. If you’re really really desperate, use a female name and play the damsel in distress card. You can also play the “I’m a kid developer” card. Remember, I said to swallow your pride.

I made rabbut.com, a tool that lets you collect emails here on Medium (and other places). Oh look, here is one now:

Looking for my older stories? I’ve got some. Here.
Looking for older stories is a PITA on Medium. Click here for a shortcut.powered.by.rabbut.com

Also, I’m giving away my free eBook on starting up a startup. Especially good for people who don’t know what the hell they are doing:

First 10 people to subscribe get my free eBook.
How to startup your startup as a nobody.powered.by.rabbut.com

Man, these rabbut things are like everywhere now.