Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Would an apprenticeship prepare you better than college?
4 points by stretchwithme on Sept 10, 2010 | hide | past | favorite | 3 comments
In the old days, professions were taught through apprenticeships. A carpenter would teach a young person the craft in exchange for the labor of the person for a mutually agreed upon period of time. And completing this arrangement would give potential customers some assurance of competence.

Would this work for software development and how do you think it would compare versus the college experience?




Software development is not the same as computer science. Despite the fact that many (most?) of us have CS degrees, I claim that it does a poor job of preparing for a careen in software development.

As the name implies, CS is a science. Studying it, you're taught a lot of theory, with an aim toward doing what others studying the sciences do: become a researcher or a professor.

A career in software development is actually an engineering job. We need to know about design and documentation, communicating with stakeholders by gathering requirements and writing specs, etc. This is a giant step away from what CS teaches us.

I'd estimate that what I learned as a CS major in college (in '89) taught me maybe 50% of what I needed to know in my first job. And conversely, half of what it did teach me went unused in my job.

So I think that to compete with the traditional path of education to a software development career, you don't have a very high bar to claim success. This may be why so many people I know in the field have completely non-technical degrees. Some of the best software developers I've worked with have been musicians.


Well, I have had everything from school leavers to PhDs working for me, and I can tell you that a college degree is not necessary to become a good programmer if you are adequately mentored by the right person. So my personal answer to your question is yes, that can work.

However, it doesn't matter what I think - it matters what everybody else thinks. And the world values the right kind of degree. I had the rather amusing experience recently of being screened out of a job application specifically for lacking a computer science degree. Apparently 15 years of software engineering and management not to mention a degree and research in astrophysics was not a good enough substitute :-)

So I personally would recommend to a talented youngster to get a CompSci degree regardless.


There's a lot of basic CS knowledge that seems like it would be better taught in college; I'm mentoring a younger employee right now and I'm glad I don't have to teach him data structures and state machines — that would be a waste of my time IMO. For software engineering, apprenticeship may be a better path (which you can start on during college via internships BTW).

I think a lot of people are framing this topic as "4 years of college vs. 4 years of something else" when the real answer is more likely to be college plus something else. Unfortunately, there's a strong economic incentive not to talk about such scenarios because they make a software engineering education sound more expensive.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: