Hacker News new | ask | show | jobs
by jfarmer 4942 days ago
Caveat lector: I help run Dev Bootcamp (http://devbootcamp.com), which is probably "the one in SF" whose name you forgot. :)

I have two thoughts.

First, there's more to learning how to be a software developer than downloading a bunch of information into your head. Most software projects fail for human reasons, not technical reasons. Giving feedback effectively, receiving feedback non-defensively, articulating your ideas to other people of varying backgrounds and skill, convincing teammates to follow your plan, inspiring your co-workers with your clarity of thought and action, etc. are all real, hard-to-learn skills that are critical to being a great software developer which. One would also be hard-pressed to learn on them on their own since each is, by definition, an interpersonal skill.

As someone who has interviewed and hired dozens of engineers, my experience is that "junior developers," as deep as their knowledge of data structures and algorithms might be, are lacking in exactly this dimension. It's the #1 reason people are afraid to hire them and dismiss as "too junior."

As a case study, Hipmunk (http://hipmunk.com), a Python shop, hired a summer student from Dev Bootcamp. He was a great developer, but they obviously didn't hire him for his mad Python skills since DBC teaches Ruby and Rails. He had no significant prior programming experience when he entered DBC.

I know, I know: anecdotal, etc. etc.

Second, when developers talk about self-learning, I think there's a huge selection bias. The way people are "meant" to learn computer science, software engineering, etc. selects for autodidacts. There are so many more dimensions to how people learn effectively.

This is coming from someone who taught himself C using K&R in high school.

The two things you said are categorically false for many people: they just don't possess the internal mental models necessary to learn how to program on their own, and don't know how to find answers. They might not even know what they're seeing is an answer, unless they've formed the question correctly.

When friends ask me what programming language they should learn, I tell them they should learn whatever programming language more of their friends know.

Social support, similarly motivated peers, role models, and even just the knowledge that they have access to expertise that can get them unstuck when they're tired and frustrated are huge factors in getting people to learn. They will be more fearless, more intrepid, and work their way up to a place where they have the confidence and skill to both learn on their own and on the job.

If you're curious about the skill level of some of the students graduating from programs like gSchool and Dev Bootcamp, here are some examples from the fall:

* http://0xfffc.tumblr.com/post/35751220092/6502-assembler-and...

* http://www.grocery48.com/

* https://gist.github.com/aafabcfadafb4563fd3e

* http://flavorite.tumblr.com/post/35185577034/behind-the-scen...

Shameless plug

Dev Bootcamp's fall cohort graduates next week, and December 7th is our hiring day. If you're interested in attending, sign up here: http://bit.ly/hn_dbc

1 comments

>"Social support, similarly motivated peers, role models, and even just the knowledge that they have access to expertise that can get them unstuck when they're tired and frustrated are huge factors in getting people to learn. They will be more fearless, more intrepid, and work their way up to a place where they have the confidence and skill to both learn on their own and on the job."

Yes! That's what makes this kind of thing worthwhile!