Live data from Hacker News

Apprenticeships - Employers Must Get Past Degree Snobbery

codemanship.co.uk

11–20 of 87 posts

Re: Apprenticeships - Employers Must Get Past Degree Snobbery

#11
post #5

Well computer science is not only about programming. Programming is a big part of it and people without a degree might be good programmers, but do they really have gone through all the math and theory by themselves or just skipped it alltogehter ? For example most people without a degree might not know what Big O Notation is or how it works or why certain data structures are better than others. So it depends much on…

My experience interviewing says that a great many CS graduates still have no idea about Big O, or even really understand hashtables. That's from years of interviewing quite qualified candidates coming into AMZN BTW.

They might have passed the class and test where that was covered, surely it WAS covered, but they didn't actually retain it in a meaningful way.

I'm a dropout and worked at AMZN for a few years BTW. I don't think I would have had any problem working at Google or Amazon if I had wanted to either.

Granted, I probably couldn't have worked at those companies as my FIRST job, but that isn't the argument. The argument is who is better off after four years, someone who attended university to get a CS undergrad, or someone who worked in the trenches.

I'd say if there were more good apprenticeship positions available the latter would almost always be better.

Re: Apprenticeships - Employers Must Get Past Degree Snobbery

#12
post #5

Well computer science is not only about programming. Programming is a big part of it and people without a degree might be good programmers, but do they really have gone through all the math and theory by themselves or just skipped it alltogehter ? For example most people without a degree might not know what Big O Notation is or how it works or why certain data structures are better than others. So it depends much on…

I agree. The Co-op program I'm in allows me to switch between work and employment every four months. While I've found I learn more practical knowledge on the job, I've also noticed school forces useful concepts on me that I wouldn't have learned otherwise. This includes assembly level programming and the theory and math that you've mentioned.

I think the decision to enroll in university or to abstain is is entirely dependent upon the degree.

Re: Apprenticeships - Employers Must Get Past Degree Snobbery

#13
post #5

Well computer science is not only about programming. Programming is a big part of it and people without a degree might be good programmers, but do they really have gone through all the math and theory by themselves or just skipped it alltogehter ? For example most people without a degree might not know what Big O Notation is or how it works or why certain data structures are better than others. So it depends much on…

Which courses teach how to make something that scales to millions of users, or run with exceptional performance?

Re: Apprenticeships - Employers Must Get Past Degree Snobbery

#14
Posing Apprenticeships as a significant alternative to higher education is delusional. First because a true apprenticeship requires a contractual relationship between the apprentice and the master. That sort of contract is extremely problematic to modern business entities because it does not allow flexibility in staffing levels, requires a significant investment in training (several years), and because indentured service is generally frowned upon and body warrants are hard to obtain these days -- there is little viable recourse should the apprentice terminate the apprenticeship early.

In addition apprenticeship is difficult because it easily runs afoul of equal opportunity expectations and requirements (in the US). The difficulty in differentiating between individuals and in determining each person's unique skill set before they are on the job is the reason all soldiers go through the same basic training and then are assigned to their specialties (of course one could argue that military skills are often determined before hand - but that is an argument for prior training (college) not against it).

Indeed the significant latitude of the military is an indication of what is needed to create any semblance of a workable apprenticeship program which provides equal opportunity on a large scale - an organization where meritocracy is highly advantageous both to the organization and the individuals who lead it, extreme prejudice in the enforcement of contracts (e.g. execution for desertion), and very one sided contracts (e.g. imprisonment for AWOL).

Modern higher education has grown because it offers such a powerful solution to many of the problems created by apprenticeship particularly lack of equal opportunity, exploitation of apprentices, diversion of resources to training and away from profit making activities, and long term commitments to particular individuals who may not be suited for the profession.

Re: Apprenticeships - Employers Must Get Past Degree Snobbery

#15
post #5

Well computer science is not only about programming. Programming is a big part of it and people without a degree might be good programmers, but do they really have gone through all the math and theory by themselves or just skipped it alltogehter ? For example most people without a degree might not know what Big O Notation is or how it works or why certain data structures are better than others. So it depends much on…

My experience interviewing says that a great many CS graduates still have no idea about Big O, or even really understand hashtables. That's from years of interviewing quite qualified candidates coming into AMZN BTW. They might have passed the class and test where that was covered, surely it WAS covered, but they didn't actually retain it in a meaningful way. I'm a dropout and worked at AMZN for a few years BTW. I don…

I agree on the last point. I think this sort of stuff can be learned in an apprentice-type way, but not many positions currently do a good job of it. A great motivated way to learn big-O type analysis, for example, is to work on a system where a bottleneck gets improved from an O(n^2) to an O(n logn) algorithm, while working alongside someone who explains to you what that means, how you determined which algorithm was which, and why this is useful analysis to know how to do.

A lot of non-degree programming jobs seem to lack both the challenge and the mentoring to make that happen, though, so you end up with people who learn more about how to bang scripts together out of snippets pulled off the web. That's actually also a pretty useful skill, especially if you become a very fast and skilled applier of band-aids, but it's not quite the same as a CS apprenticeship.

Re: Apprenticeships - Employers Must Get Past Degree Snobbery

#16
I could not agree more, and although this applies to a broad range of industries it is extremely pervasive in software development (Related, I have heard a few computer science folks highlight that computer science as a major is not targeted at creating software developers - http://news.ycombinator.com/item?id=1884255). True enough.

I stand by my sentiment on that post, that open source projects are a great 'apprenticeship' opportunity for those interested in computer science-like fields (software/web development and the like). That said, I have participated and watched at http://opensource.com and http://teachingopensource.com and come to realize just how difficult it is to get opensource into the educational system.

Knowing that difficulty, I might categorize experiences in the following best to worst order for new hires:

1. Active open source contributor 2. Active open source contributor w/ non-CS degree 3. Active open source contributor w/ CS degree

Two additional notes:

1. These are not meant to be absolutes, there are certainly individuals who fall into the above-mentioned category 3 that far surpass a category 1 candidate in a particular skill. I am merely suggesting that at a high level, the likely skill-set available to a category 1 candidate is often more desirable than the likely skill-set of a category 2 or 3 candidate. A lot more could be said here, but it is not the point of this post. 2. While this most obviously applies to software development, it also has a natural home among technical document authors, marketing, customer relations, QA, and many other aspects of business that exist and flourish in open source communities.

Re: Apprenticeships - Employers Must Get Past Degree Snobbery

#17

Earlier quoted context omitted.

My experience interviewing says that a great many CS graduates still have no idea about Big O, or even really understand hashtables. That's from years of interviewing quite qualified candidates coming into AMZN BTW. They might have passed the class and test where that was covered, surely it WAS covered, but they didn't actually retain it in a meaningful way. I'm a dropout and worked at AMZN for a few years BTW. I don…

I agree on the last point. I think this sort of stuff can be learned in an apprentice-type way, but not many positions currently do a good job of it. A great motivated way to learn big-O type analysis, for example, is to work on a system where a bottleneck gets improved from an O(n^2) to an O(n logn) algorithm, while working alongside someone who explains to you what that means, how you determined which algorithm was…

Good point, and actually one I overlook too often in my own experience.

I went to CMU for two years before dropping out, so I did get a decent grounding in data structures / algorithms etc.. And I absolutely agree that that grounding has been important and is hard to get in the trenches.

Maybe we need to be arguing towards one or two year of school then apprenticeships?

My housemate teaches a one year CS fundamentals course here in Rwanda. It is essentially the only real CS training available in the country, though there are plenty of people with degrees from the universities. But he does a pretty good job of covering the basics. I'm sure he'd confess that two years would be better than one, but I'm not sure he'd argue for more.

Re: Apprenticeships - Employers Must Get Past Degree Snobbery

#18
Imagine you offered a job position of "software apprentice" and say you got a thousand responses. How would you identify the ones that would be worth gambling on ? - there would be little to nothing to differentiate candidates.

By and large you'll have candidates who didn't do well at school (because those who do well at school tend to go to university), have never done anything to show that they're capable of long term commitment, and have never done anything significantly intellectually challenging.

CS & SE courses at top universities which get to have the pick of the best students still have a first year drop-out rate of 10-20%.

Any company offering software apprenticeships can expect to suffer huge drop-out rates with minimal upside.

Re: Apprenticeships - Employers Must Get Past Degree Snobbery

#19
post #8
post #6

I think the idea of setting time aside in your youthful life where you invest in yourself and expand your horizons is a powerful one. It makes the world a more interesting place and pushes human achievement. To what extent a university helps for this might be debatable and will depend on the person and the university, but I wonder if an average person would earmark 4 years of their life to learning and improvement le…

Patio11 said it best (re: "do I have to go to college??) http://news.ycombinator.com/item?id=1182552 edit : just re-read your comment, and I realise you're not necessarily taking sides and merely speculating if the average person can get by without the investment into college. I agree so strongly I would upvote you twice.

If only US society actually did provide four years of education and living expenses, then patio11 would be correct. Sure, such offers exist but only if you're poor. Or are the valedictorian. Average Joe gets no free ride for four years.

Re: Apprenticeships - Employers Must Get Past Degree Snobbery

#20

Posing Apprenticeships as a significant alternative to higher education is delusional. First because a true apprenticeship requires a contractual relationship between the apprentice and the master. That sort of contract is extremely problematic to modern business entities because it does not allow flexibility in staffing levels, requires a significant investment in training (several years), and because indentured ser…

Good points regarding the shortfalls of a proper apprenticeship in this instance (particularly in the US).

However, I strongly disagree that modern higher education does much to combat exploitation of new grads, resources diversion to training, or long term commitments. Higher education often fails quite admirably on these points as well.

Post reply on HN