Just an observation, for some reason people take as elitism the observation of having a complete well rounded curriculum has certain advantages. And this article has a good point to illustrate that there is value in taking an engineer rather than a boot camp code fighter.
Data structures are a very specific subject of IT Engineering, every person studying subject should take the whole curriculum, including recursivity scanning data structures and how to transform these recursive procedures into iterative code (or FSM as the article says).
I'd take an English major who is self-taught in computer science over a CS grad any day. And I'd take a bootcamp kid who went on to study the theory themselves over a Stanford kid who only knows this shit because he was tested on it. I'm honestly, at this point, not sure why we even teach software engineering in schools, as we so manifestly fail at imparting anything to the kids, and the ones that come out as decent engineers would have been so anyway. Oh right, it's signalling.
Whatever comparison you do, you should compare a representative subset of both populations in similar situations in life, not just cherry pick the self selected ones, the successful and survivors, ones from one population against the potatos from the other.
There is no point of comparison in five dedicated years of highly academic study versus 6 months of touching the techs du jour. Will the boot campers have also graph theory background? And compilers and assembly or just webpack preprocessors? Database design or just picking stacks? and compilers and network protocols?
Are you sure you are not comparing a 35 year old responsible person who made a boot camp to sustain his family or an entitled post-grad IT engineer who is still a bit high from the graduation party? It would be hypocrite not to admit that a hungry serious battle tested individual will have the right attitude to build a role rather than the not serious entitled individual who just wants to see what he can get from there and does not make any effort in continuously improve.
Once in a plane I met a CEO who told me he would take any day an engineer for the decision making role or business related roles. Was he crazy or it was just his previous experience conditioning him? you can take whoever you want for your company, even someone who took gender studies and ended up taking a code camp hoping to pay its former debt and ends up making high impact blog posts about thyr experience in the digital IT world as person of XYZ gender.
> Whatever comparison you do, you should compare a representative subset of both populations in similar situations in life
Well, yes and no.
If you're an 18 year old who wants to program computers and you read Turing and Dijkstra for fun, then go study math or physics, which you won't have much time to do later. Or pick a subject in the humanities if you like to read and write. Is it a great way to become a programmer? Maybe not, it would be better to just go and get an internship or a job, but (1) smart companies are hard to find and (2) you'd be missing out on a chance to get a university education at the age when most people do so.
On the other hand, if you're picking coworkers, go with the self-motivated one who had to learn everything they learned because they were interested in it, over the one who had to learn it to get a degree in a field that everyone knows is a ticket to a high-paying job.
> Once in a plane I met a CEO who told me he would take any day an engineer for the decision making role or business related roles. Was he crazy
Sure, this is the same point: if the only thing you're good at is your specialization, then you're probably not going to be very good at it. Unless it's something like chess that really has minimal relation with anything else in society.
The book "Elephant In The Brain" devotes an entire chapter to how the education system is effectively one large, expensive signaling mechanism. It was an interesting read that I'd recommend checking out. For the record I completely agree with you and I'm saying this as someone with a STEM degree. The "signaling" aspects of our education system completely break down in tech. I would personally need a lot more info than whether someone is an MIT or Stanford grad to want to work with them.
Looking at it from the other side: maybe most would have become decent engineers, but a large number wouldn't have the maturity to apply themselves.
They would be unhappy because they didn't know the landscape of their profession - students get a taste of everything.
Some need a safe space to develop life skills they didn't learn at home: self-reliance, communication...
And yeah, signalling. Because starting at a job now is hard, getting fired is risky. The English major has the maturity, the goal and the life skills. He already has less risk with his degree. The bootcamp kid? Not so much. The bootcamp history major? Good!
The English major (assuming a good liberal education) is well-placed to understand his or her role as an engineer. He or she probably well knows how much there is to learn!
Of course, as you point out, a "large number" won't apply themselves, and won't become engineers, but they'll still have a well-rounded education. So if I was advising a smart youngster on how to get a job writing software in 6-8 years, I'd advise them to study English or Math or Physics or History before computer science. Pick a general concentration in the humanities or sciences that interests you and learn everything you can about the world through the lens of that field. Then go and pick up some programming languages, do an online masters program in the hot tech du jour, and write some code and get an internship or a job. Whatever you do, don't waste your chance at a university education studying computer science if that's what you want to do. The curriculum will bore you, it will move too slowly in all the wrong directions, and you'll pick up a bunch of obsolete preconceptions that you'll be poorly equipped to discard later.
Of course this has implications for what CS programs should be doing and mostly aren't, but that's neither here nor there.
No, I'm disagreeing. Kids just out of highschool are not full adults. They should be able to learn to apply themselves while not losing the chance to be an engineer. University allows for that freedom, an apprenticement doesn't.
Universities are win-win-win for people, bosses and government. Especially for the majority, the average students who can't retrain or self-study as easily. And the minorities, parents without degrees, middle and lower class or even outside the family business.
Aside, I was that smart youngster, I chose math, I wouldn't gave graduated. English would have been much worse. I was bored but at least not burned out. And I have used every course practically, 6 years of education and almost nothing that can be reliably scrapped to create a bootcamp.
Kids out of high school would have been parents already or within a few years in most of human history. We keep them infantilized but that is a feature of our culture, not what kids are capable of. You could say a 30 year old isn't a "full adult" either, assuming you continue to mature and grow, right?
My question is why do we think it's better to put all the learning for a particular career at the front of your life when you have no experience, and don't even know why you're going to need to know any of what you're learning? It's wasteful to learn something you think you're going to use and then find yourself in a career you prepared for and don't like. The average 18 year old doesn't know much about adult life (because we insulate them from it more and more) and has no idea what a professional in most fields actually does every day, so why do we expect them to pick an occupation before having any experience in it and then commit themselves to it for an intensive course of study?
I'm not arguing against university education, if it is truly general. But if it is just a passport to a particular career path, which is increasingly the case, then (a) it's too early to pick a career, and (b) if you want a career, and know what you want, it makes more sense to start working first and then learn what you need according to the demands of the work. That's why I'm in favor of continuing education and apprenticeships, and in general having more diverse life paths rather than trying to fit everyone to the same pattern, which is what seems to be happening now with college being expected for everyone.
Obviously there are careers like medicine that are going to require additional intensive training, and that needs to be front-loaded for obvious reasons. However, most people are working longer and changing careers more than in the past, and the ability to learn as you go should be more valuable to society than expecting that everyone get a university education while at the same time turning universities into trade schools.
Dude, I think you didn't read the article, or at least you didn't understand it. Aristotle knows that shit cold, and a transformation of a recursive procedure into iterative code, which requires an explicit stack, isn't what the article presents.