Some advice about coding bootcamps

A friend writes:

Hey Terry!

I’ve been looking into attending a coding bootcamp. Do you have any opinions on them? Any local ones with particularly sterling reputations? Do they seem to churn out somewhat competent alumni?

Thanks in advance for any insight you might be able to lend.

Honestly, I don’t have a good opinion of any of them, but I didn’t look to closely. First, because 90% of them teach Ruby on Rails1 which is a terrible language (Ruby) and architecture (Rails) for learning to program and can have zero application in the area of computing it is marketed toward in order to attract students — for instance, I remember seeing a coding bootcamp for iOS programming that taught it using Ruby on Rails.

For learning general web development (or even general programming) I think some web framework using Python might be the best language because it easy to learn, easy to read, and very logically constructed. If the focus is on mobile app development the only language worth learning is Objective C. If the camp does that (i.e. Python for web or Objective C) they’re already far head of the pack IMO.

As for which ones are best, I’d simply look into which ones do well at placing their students into jobs. The companies/people who run these make the bulk of their money off of placement fees to corporations, even if though those deals are often onerous (for the employer). Though this is a shitty incentive to make the best program, it does show that they must add value somehow: signaling, actual skills learned, some base level of competency, etc. This goes double for those programs focused on women, because the demand on the end of the employer is double. But, in the long run, it doesn’t matter how good or poor the program is if the companies continue to hire from them then they must be worth something, right? This is true even if they use Rails as their teaching language.

Close to zero of these schools have people with true teaching experience or who studied education and learning. My thinking is the success that occurs, when it does, is more due to the format of learning (classroom, labs, intense immersion, applied to a particular end goal) is a style that works for a set of people who previously found that other methods (usually self taught from books, iTunesU or online tutorials) failed for them. So if you’ve tried to learn programming before but it never stuck, then it’s worth a shot to try a bootcamp, and they have a huge incentive (1/4 of your first year salary) to take the extra step of helping place you in a job.

In the end coding isn’t that difficult which is why people can learn it as young as five years old. The issue here is not the difficulty but the combination of initial effort and the continual practice involved. Most people aren’t willing to do this, and this is why good programmers are scarce. If you have the grit to tough it out in intense immersion for a month or two, it must signal something to somebody. ;-)

Finally, I’d also ignore any of the stuff outside actual programming and language that they “teach.” There is some truth to the saying, “those who can’t do teach.” A school’s instructors will often teach about software processes like “test-driven development” or “pair programming” because they read in once some “agile practices” book and thought that’s how it should be. But many of that is only used in special circumstances or in enterprise software development. If you just want a job as replaceable IT worker working for a bank in some right-to-work-state like Louisiana — a job that will eventually be outsourced to India, then that crap is useful, otherwise just ignore it and learn proper programming practice and processes on the job you end up in after you are placed based on the coding project you demoed to your future employer.


  1. According to Tre Jones, this is not actually true, it’s only 57% of them. This is crazy for such a poor teaching language that also has the misfortune of being very unpopular to boot. 

Account of Important Events in My Life

My aunt, when doing cleaning, came across an essay answer to a questionnaire that my cousin Alex wrote in 2001 for a high school entrance application.

Account of Important Events in My Life

Two years ago my aunt died of heart failure. I began to grow closer to her a few months before her death because I became old enough to understand about family ties, and respect. She was a biological chemist who contracted rheumatic fever when young, and she had to fight her weak heart all her life. Her field of work was in heart rhythm. She devoted most of her time to studying ways to automatically revive hearts that go out of rhythm (called arrhythmia) with medicine instead of using machines that shock the heart into beating regularly. She conducted extensive research, wrote many scientific papers, and gave numerous talks at scientific conferences on her work. Her death impacted me in ways that were greater than my grandparents’ deaths. I was old enough to see that life can leave unexpectedly. During my time on earth, I want to achieve notable goals, like my aunt, and when it is finally time for me to move on, I hope I can leave this world as peacefully as she did — while resting from studying — her heart simply stopped beating.

That aunt was my mom. I love you too, Mommy Chay, this mother’s day, and always.

p_g10afjalpyg0048
My mom with my older brother, 1969. Today my girlfriend stumbled across this photo in my ScanCafe account.

The National Day of Prayer

(Last month)

M—: My aunt sent an e-mail to everyone the other day saying, “President Obama cancelled the National Day of Prayer. I know some of you are Democrats but I hope as good Christians, you can get angry.”

Me: Oh, that again.

M—: I was half tempted to link the snopes article refuting it, but I didn’t want to get into that drama.

Me: You should have just sent back that as a good Christian it gets you angry when a relative bears false witness.”

Happy National Day of Prayer, America!

Thoughts on Brendan Eich’s departure

(Disclaimer: None of the views here are those of the Wikimedia Foundation.)

Brendan Eich, creator of Javascript, resigned as CEO of Mozilla mostly over his unrepenting anti-gay views.

I must admit a brief bit of schadenfreude because I predicted that this change would happen on Prop 8 specifically. The only thing that surprises me from those six-year-old articles is the quickness of the sea change around this issue. Continue reading about Eich and other thoughts after the jump→

The peering story

At my first startup, I had a CTO, who was a year younger than me, used to tell me stories of his time at UUNET and what whiney little cheap turds most of the first generation dotCom billionaires were before their tiny little ISP’s sold for hundreds of millions.

This story isn’t about that.

As a Korean, he was asked to set up the asian version of UUnet. Back then Korea’s networking should have been trivial as its a peninsula and most of the population lives in or around a single city, Seoul. Instead it was terrible because none of the Korean networking companies would set up peering points with each other. “See,” he told me, “When you need to connect two networks to each other, you have to set these up, and while they’re free to run, they’re costly to build. How do you decide who pays for the point?”

You might think 50-50 is fair and propose that. If you’re a new player in this space, since you’re the one asking to set up these points, you probably benefit more than network you are trying to pair up with so they expect you to pay all or most of it. You get nowhere with this offer. This is what happened to him.

Korea wasn’t the powerhouse Internet trendsetter they are today. I remember, back then it was often faster to connect to a US site then to another Korean one because your packets to the latter would have to go through peering in the US since there wasn’t any in Korea. In other words, to talk to your neighbor, your message would be sent from Korea, across the Pacific to the US, and then back across the Pacific to Korea. This was the Korean Internet in the early-mid 90′s, all because of a lack of peering there.

On a lark, a friend of his wanted to set up a BBS or something and he dropped a server on his network for his friend to use for free.

Then one day, months later, companies that had previously refused to peer up were contacting him to peer up. As I’ve outlined just now, being the asker is a huge concession in the negotiation. He wondered what changed and looked at his traffic. It turned out that his friend’s BBS or something had become hugely popular in Korea and a lot of that network’s customers were demanding better service to it.

The lesson here is if you have what the other party wants, you hold the cards and the other side has to make the concession.

I bring this story up when I have to explain a basic business principle to others to understand what is going on.

Want to understand why Office is finally out on iOS? Look no further than the peering story.

So I got a PS4 and here's why

[This…](http://www.idigitaltimes.com/articles/21763/20140203/xbox-one-is-terrible-five-reasons-regret.htm)

> The Kinect Can’t Tell A Dog’s Ass From A Human Hand

> I wish that headline was hyperbole. I wish I was exaggerating. But in the two months of having an Xbox One it constantly confuses my dog’s ass for a human hand. Whenever one of my dogs hops on the couch, or even walks past it, the Kinect (more often than not) interrupts whatever I’m watching (because there’s no games, remember?) with a hand gesture icon. It doesn’t select anything, thankfully, but remains on the screen for a few moments and is generally just annoying. And the more it happens the more annoying it gets.

> And it’s not just my dog’s ass that the Kinect has problems with. Microsoft apparently failed to realize that actual human beings sitting on a couch might, occasionally, use their hands. I guess the Kinect test couch was in a setting without cellphones or snacks or lively conversation. If my wife makes a gesture while telling me a story, or I pull my phone up to send some texts, I usually hear the telltale “ding” and my screen goes dark and there’s the hand icon floating on the screen. And, according to Xbox support, there’s really no way to stop this from happening.

> So (nearly) every time my wife talks, or I send a text or my dog crosses the room I have to throw up a “Heil Hitler” gesture at my Kinect so I can continue watching what I want.

(I’ll tell you when it’s actually worth owning over a PS3. Right now, I’m still in [the first stage of grief, the best stage :-)](http://terrychay.com/article/relationship-clubs.shtml).)

Mailing list talk has consequences

One of my engineers was leaving the building for a late lunch and held the door open for me and another director. Before we parted, we had a short chat in the doorway about approvals on a purchase order.

“Hey, I need to see your ID!” Building security yelled at us.

“Huh? What?” H— replied?

“That’s the new policy. I need to ask to see everyone’s keycard.”

“It must be related to that mailing list thread.” I told H—, matter-of-factly. (For over a week now, an internal mailing list thread has been going on about building security. I stopped reading when someone suggested that the only way to solve this was to install lasers to detect when two people enter with one card, and another one argued that we should just make an HR policy to fire anyone who lets anyone in without proper ID. The reason I stopped was because neither post was trolling us in jest.)

The building security guy continued indignantly, “Even if I know you, even if you’re a manager—and I know you two are managers. L—, the head of the company, said I must to ask for your ID or call her down to greet you in the lobby.” (Sidenote: L— is not the head of the company. On the other hand, poor L— suggested on the mailing list that any solution hopeless because building security is seriously underpaid by the owners, perhaps to the point of illegality.)

I joked, “Even if I thought the discussion that touched off this policy was a waste of everyone’s time?”

Building security apparently has about as much humor as our company mailing list. So I reluctantly dug through my wallet and and pulled out a blank white piece of plastic, that may or may not have been my car parking card—they’re identical and I do not have an RFID reader on my person.

He let me through anyway.

That’s good, because to this day I do not know the average airspeed of an unladen swallow.