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. 

I'm speaking again!

After a couple year hiatus, I thought it’d be nice to start speaking again — the disconnect of basically stopping speaking at open source conferences when I started working at two companies producing some of the world’s largest open-source products ([WordPress][] and [Wikipedia][]) was becoming too much.

I decided to apply this year. Luckily, [Northeast PHP Conference][nephp] forgot to check the The Great Offensive PHP Speaker Blacklist™, and accepted my talk!

The talk will be: [Ten Evil Things: Features Engineering at Wikipedia][10 evil things]. Now with 30% less swear words, but don’t worry, it’ll still be fun. 😀

When registering, belatedly, I noticed they had an interesting preferences page, I thought I’d share my answers with you

[WordPress]: http://wordpress.org “WordPress: Blog Tool, Publishing Platform, and CMS”
[Wikipedia]: http://en.wikipedia.org “Wikipedia: The free encyclopedia”
[nephp]: http://www.northeastphp.org “Northeast PHP Conference 2013”
[10 evil things]: http://www.northeastphp.org/talks/view/156/Ten-Evil-Things-Features-Engineering-at-Wikipedia “Ten Evil Things: Features Engineering at Wikipedia—Northeast PHP Conference”

Continue reading my answers to their questions after the jump

Super Tuesday

When I first moved to San Francisco, the PHP meetup group hadn’t had a meeting in a year. That was before [Touge][touge] took it up, and, along with [Mariano][mariano], does the hard work of actually scheduling people to come shoot the shit.

Apparently, it’s time for my shit to be shot.

[Tomorrow, I’m giving a talk][talk] at [SFPHP][sfphp] on [DevOps][devops] for PHP developers. I’ve giving this talk before as the [closing keynote][lineman phpcomcon] at [PHP Community Conference][phpcomcon] and [to sysadmins][lineman oscon] at OSCON.

> **Living without Your Linemen: The Programmer Becomes System Operator in the Cloud**
>
> If a website architect is the quarterback, then site operations is the offensive line—overworked, under-appreciated, and only noticed when it fails. They make you look good. However, four years ago cloud computing networks like Amazon Web Services and Slicehost have appeared. While deficiencies in frameworks in other languages have forced those worlds to adopt Infrastructure-as-a-Service, the PHP world—with it’s ultra-cheap shared-hosting (on one end) and tradition of dominance on some of the most trafficked websites (on the other)—has been slow to move. But as the technology continues to disrupt, modern web engineers will be expected to use their programming skills to not only build, but also provision and maintain fast, scalable websites.
>
> The efficiencies of a web-based language and experience in scalable website architecture offer a unique opportunity for programmers to transfer their skills when wearing a sysop hat. Not to mention some of the best libraries for programming them are written in PHP! When going from a small pet project to a go-live site, maybe we can learn to live without our linemen.

Trust me, you’ll like it.

[Please come][talk]!

Also, If you are an American citizen, go vote! 🙂

[talk]: http://www.sfphp.org/events/33726032/ “Living without Your Linemen: The Programmer Becomes System Operator in the Cloud—SFPHP”
[sfphp]: http://www.sfphp.org/ “The SF PHP Meetup Group—SFPHP”
[mariano]: http://twitter.com/marianopeterson
[touge]: http://www.grepmymind.com/ “Grep My Mind”
[devops]: http://en.wikipedia.org/wiki/DevOps “DevOps—Wikipedia”
[lineman oscon]: http://www.slideshare.net/tychay/2011-07-lineman-opsoscon “2011 07 Living without your Linemen—OSCON”
[lineman phpcomcon]: http://www.slideshare.net/tychay/living-without-linemen “Living Without Linemen—PHP Community Conference 2011”
[phpcomcon]: http://phpcon.org/ “PHP Community Cpnference”

OSCON 2011

There is some irony that the two years I take a hiatus from OSCON are the two years it’s in my backyard. When I try to start speaking again, they’re back in Portland.

I’m going to be at OSCON this week giving two talks:

– [Living without Your Linemen: The Programmer Becomes System Operator in the Cloud](http://www.oscon.com/oscon2011/public/schedule/detail/18893). It’s about why you should get your shit together and pay attention to all this cloud hooplah
– [Tales of Virality](http://www.oscon.com/oscon2011/public/schedule/detail/18892). It should be a fun little talk about viral marketing (from an engineering perspective).

I’ve given these before, but one of them was a keynote (so had a different style), and other was at a private event. Unfortunately (for me) they didn’t put these talks in the PHP track as I asked. One was put in the Operations track and the other was put in the Business track. Quel dĂŠsastre! I’ll try to make it worth your time, if you plan on attending. So please come see them!

If not, say hi anyway, I don’t bite, and I can hold of my alcohol down (mostly). I usually sober up before 5pm (when I’m giving these talks). 🙂

PHP Community Conference Closing Keynote

I submitted a couple talks for [PHP Community Conference](http://phpcon.org/) last month, of which one was accepted.

Unfortunately, it was the one I hadn’t prepared at all. The title was “living without your linemen” and was supposed to be about cloud services. A bit later, they asked if I could make it the closing keynote for the conference. This allowed me to write it from scratch and actually finish the talk (which I did about 30 minutes before I had to present it).

I’m told that they’ll eventually have a video archive of the talk at [OpenEvent.tv](http://openevent.tv/), but in the meantime, I audio-recorded it and synced it to the slides on slideshare. (Apologies for the sound quality being poor, I recorded it from my Mac Book Air).

Continue reading about PHP Community Conference after the jump.

PHP Without PHP—Automattic

Take a simple PHP trick and follow it on a huge tangent to the philosophy of good web architecture.

Presentation was given as Flash Talk at Automattic Meetup in Seaside on September 2010. Presentation originally a long form, but in the spirit of things, I have cut it down.

Automattic is the company I work for. The company is distributed worldwide and once a year we gather at a remote location and meet face-to-face. This year, all the employees are taking a little time during the meetup to compose and give at least one presentation for each other, talking about any subject we are passionate about.

This is based on a PHP Advent article I wrote almost two years ago and formed a low key presentation I used to give in 2009 at conferences. I thought it’d be nice to give a more “traditional” PHP talk—but one which I felt the audience at large could relate to—at the meetup

I hope you enjoy it.

Update

Broken Jewel—Automattic

Presentation given as Flash Talk at Automattic Meetup in Seaside on September 2010

Presentation is supposed to be Pecha Kucha style. But due to preparation constraints, it’s given as a short form.

Automattic is the company I work for. The company is distributed worldwide and once a year we gather at a remote location and meet face-to-face. This year, all the employees are taking a little time during the meetup to compose and give at least one presentation for each other, talking about any subject we are passionate about.

I started writing this talk a couple years back, and I have never found a venue to actually deliver it. Matt claims that, “You will not find a friendlier group of people to present to in the world” and that “Everybody has a story.”

This is mine.

Hope you enjoy it.

I’ll pare it down from 20 minutes down to six eventually. BTW: there are two major errors: Pecha Kucha is pronounced closer to “peh-katch-u-ka.” And I meant “treatable” not “preventable.”

Update

19651222-chay-wedding

December 22, 1965

From Photo to Finished—Automattic

10 Minute Lightning Talk for the Automattic Meetup at Seaside, September 2010

Automattic is the company I work for. The company is distributed worldwide and once a year we gather at a remote location and meet face-to-face. This year, all the employees are taking a little time during the meetup to compose and give at least one presentation for each other, talking about any subject we are passionate about.

For this presentation I chose the subject of photography. Specifically, taking one photo from start to publish describing how I took the shot and the editing steps I chose.

Like many bloggers—Automattic is also known as WordPress—I’m passionate about photography and I felt that many of the other people it the room might be interested in it also—our founder and CEO’s online handle is “photomatt.”

I hope you enjoy this presentation!

This was the second presentation I gave that day. I composed it just after I finished the first.

This presentation will be expanded into a post around Christmas. Look for it!

Tales of Virality—Automattic

Presentation given as Flash Talk at Automattic Meetup in Seaside on September 2010

Presentation is given as an Ignite Talk format (20 slides x 15 seconds/slide = 5 minutes. Autopush.)

Automattic is the company I work for. The company is distributed worldwide and once a year we gather at a remote location and meet face-to-face. This year, all the employees are taking a little time during the meetup to compose and give at least one presentation for each other, talking about any subject we are passionate about.

In the e-mail requesting submissions, Matt mentioned that Scott Berkun “did a very cool post and video on giving ignite talks, so I modelled this talk after that.

Sorry, I don’t have the audio file for this—I forgot to record one!. But this is the only talk that is fully scripted out and I included that with the file. 🙂

Hope you enjoy it.

Update:

Thoughts on “Thoughts”

Now that this site has been down for a month (Thank you, SARSxSW), I tried to see restart this blog with a deep thought.

I couldn’t come up with anything.

So instead, I’ll talk about the tech news. Recently a lot has been going on about Steve Jobs latest missive: “Thoughts on Flash” to which, Adobe’s CEO quickly responded to in the Wall Street Journal.

Instead of rushing to Apple’s defense here, I thought I’d provide some thoughts on these “thoughts.”

Continue reading about three thoughts after the jump.