Ask the Duck…

“So how did you figure this out?”


Chances are, you have been asked this question at some point in your life. If you are a programmer, you tend to get asked this question a lot. For the most part I really don’t think about it very often. It’s just knowledge accumulated over time, with repetition and curiosity. That perspective completely changed for me yesterday.

It started innocently enough with a mailing list request from a beginning JavaScript programmer looking for mentor. She was attending a local coding bootcamp and feeling a little lost. After a short time emailing back and forth, we agreed to meet and try and work through some of the homework for the class. She also asked to bring a friend with her, since he was just as lost in the course work as she was. My business partner Bryan graciously volunteered to pitch in, and so we set to work to see if we could help them out.


It didn’t take long to see that these two were not just “a little lost” and the more they talked about this bootcamp, the easier it was to see why.

On the surface it seemed like a reasonable, if rigorous 12 week course, with class lectures every week day 9am to noon and then lab time from 1pm to 5pm. The website (which I will not name) advertises that they will “create exceptional growth and mentorship” for their students. However, it seemed to be a bootcamp in only the worst sense of the word.

From our conversations it seems that these “instructors” had dropped their students in the middle of a JavaScript code library (BackBone.js) with very little prep. From what we could gather, there was some initial limited JavaScript instruction and then it was a matter of “here’s the BackBone code library… build an application.”

What does the duck say?

While this story could possibly be passed off as “lost student” hyperbole, the next thing they told us was utterly bizarre. These two kids are in a class of 24 students and despite the all day, every day schedule, one-on-one time is very, very limited… In fact, as the young man explained, each of the kids had been issued a rubber duck (I kid you not) and were told that if they had a question they should ask the duck first…

Ummmm… what?

While I know that there will be many who subscribe to the “sink or swim” method of learning, most of us will flash back to the French instructor we had. You remember him right? The one who refused to teach the class in english. The guy who said if you couldn’t figure it out, you were dumb and should go take Spanish. Yeah… that ass hat. This bootcamp instructor appeared to be from the same litter of gerbils.

We thought maybe they had just mistakenly gotten into an advanced class, but the young woman replied that she had specifically explained that she was an absolute beginner and asked if prior coding experience was required. She was told no experience was necessary and the bootcamp website states ”we teach people who don’t have any prior coding skill.”

Additionally, the young man had been told there was mentoring involved, so it seemed like a safe enough bet that help would be available. And yet, here they were with us, an outside company, volunteering our time.

Bryan and I were utterly mortified. And then we asked what they were paying for this “boot camp.”

$1000… per week… per student.

Yes, you are reading that correctly. Twelve weeks… twelve thousand dollars… and of course the company’s website offers options to finance your $12,000 education through a third party lender (Easy Payments!). There is even a “scholarship” of $1000 to get you started. Such a deal!

As for results… Sink? Swim? Who cares? The bootcamp is getting paid. Oh, and on the way, you will be belittled, insulted and given more than you can possibly do. It’s just like real bootcamp! Ooh Rah!

We were appalled. I kept making them repeat things to me because my brain would not process what they were telling me. I looked at the word problems from their homework and just wanted to cry. It was a poorly worded collection of context free, fizz-buzz garbage:

Write a function translate() that will translate a text into “rövarsprÃ¥ket”. That is, double every consonant and place an occurrence of “o” in between. For example, translate(“this is fun”) should return the string “tothohisos isos fofunon”.

We dug in and made the best of a bad situation, but it was a very disheartening experience. We will continue to work with both of our mentoring charges, but I suspect that much of the damage has already been done. Who wants to raise their hand when the answer is “talk to the duck?” Who wants to ask for help when the answer you are given is that you must not be smart enough to do this type of work?

Coding is complex and difficult to master and utterly magical. First and foremost, it’s not something you ever stop learning. That’s why being able to ask and answer questions is so incredibly important. It keeps your knowledge fresh, adds to our collective understanding and expands what is possible. After all, if you can’t explain something, you don’t really understand it yourself.

It seems to me that if we are going to draw from the military with regards to education, we might do better with “Leave no one behind.”