8 ms·
It needs to be more like a trade school. The vast majority of jobs call for workers who can create and maintain programs that actually do things, not just theor
by herewulf 4y ago
It needs to be more like a trade school. The vast majority of jobs call for workers who can create and maintain programs that actually do things, not just theory.
I've encountered far too many CS interns and grads who couldn't actually write reliable, non-spaghetti code. They also typically write commit messages that consist entirely of "Updated $THING" (no shit, I can see that from your diff), nothing about the why.
My perspective may be slightly skewed from being called in as a consultant to fix the software these "computer scientists" have been hacking on, but I encountered a lot of these people when I was a undergrad student also.
- WalterBright 4y agoWhen hiring a newly minted undergrad, you should expect to need to do some mentoring on the nuts and bolts of programming. CS is not about lucid commit messages. If you want a trade school grad, hire one from a trade school. There's nothing wrong with that. I wouldn't hire a Caltech grad to fix my transmission, either. (I could fix your transmission, but AFAIK I was the only motorhead at Caltech, which was pretty disappointing.)
- TheSpiceIsLife 4y agoWhere are the computer programming trade schools? TasTAFE offers a Cert III in Information and Communications Technology. This looks to be one third tech support, one third networking and server operations, and one third python / web / CSS. So not really much programming. A programming trade school to Mr would look like: four years on the job as an apprentice, full time, at some discounted pay rate. Two weeks four times a year at a training institution, away from the demands of the job, where theory and practice are taught. My trade certificate (metal fabrication) is a Cert III, my trade school included a fairly wide variety of subjects, both theory and practical. The employer would be required to give progressively more difficult tasks, and doing apprentice swaps with other businesses to cover industry experience if in-house doesn't provide opportunities for key requirements. Is anyone, anywhere doing that? I help train two apprentices every year here in metal fabrication. It's not that difficult, but few developing foetuses are borth wielding a welder. I mean the trade is not difficult, training people is hard.
- WalterBright 4y agoI'm sorry, I have no knowledge of current programming trade schools, other than the occasional blurb about "coding boot camps".
- xorfish 4y ago> Is anyone, anywhere doing that? You can do it in Switzerland: https://www.berufsberatung.ch/dyn/show/1900?id=7671 https://www.berufsberatung.ch/dyn/show/1900?id=7671
- chris_wot 4y agoIf this is the Australian TAFE, it’s great but governments undervalue it and don’t fund it properly.
- exnihilo21 4y agoMost Universities of Applied Sciences in the Netherlands, where you need to take 2 6 month apprenticeships before being allowed to graduate from a 4-year bachelor degree, and most courses are programming related. When finished you can continue for a master degree at a university, but have to take 1 year to get caught up on the theory you missed by not doing a bachelor degree on a university level.
- 908B64B197 4y ago> If you want a trade school grad, hire one from a trade school. There's nothing wrong with that. If someone wants a person with good CS fundamentals and an idea of how to write code in a non-trivial codebase (so commit messages and an idea of concrete SQL and not just "I've proven this expression is correct but never ran it") they should look at Computer/Software Engineering programs, or at least select CS candidates from schools where the program incorporate real software development.
- fsckboy 4y agodid you study CS? not sure if you are criticizing CS students cuz "back in our day, we did CS in the snow, barefoot", or if you're criticizing the CS curriculum because you don't think it's necessary because you haven't needed it and they don't know what you know.
- csomar 4y ago> It needs to be more like a trade school. The vast majority of jobs call for workers who can create and maintain programs that actually do things, not just theory. These usually are the worst "programmers", in my experience. And I was one as I didn't go to CS school and was mostly self-taught. Lacking the basics of CS, you are just a code monkey. > I've encountered far too many CS interns and grads who couldn't actually write reliable, non-spaghetti code. An intern is an intern, I guess. > They also typically write commit messages that consist entirely of "Updated $THING" (no shit, I can see that from your diff), nothing about the why. You should have a an employee handbook and a coding style. Lazy people are everywhere, however.
- wankle 4y ago> These usually are the worst "programmers", in my experience. And I was one as I didn't go to CS school and was mostly self-taught. Lacking the basics of CS, you are just a code monkey. That's the type of condescending, discriminatory bias that having a degree affords, I guess.
- vkk8 4y agoAssuming the only purpose of universities is to serve the job market. I'd argue that the primary function of the university system is to transfer the collective human knowledge forward. The fact that some of it is sometimes needed in jobs is a secondary effect. But you're right that there should be schools that teach the practical programming skills. But it's the the trade schools that should be developed towards this goal, not universities.
- re-thc 4y agoUniversity aim to serve the education market i.e. people that want to learn or assume they can get a job afterwards. They don't serve the employers or those that are looking to hire. Lots of degrees have no pathway to a job or career.
- reillyse 4y agoThere is a huge divide between Europe and the US on this front. Because degrees are so expensive in the US the expectation is that you are going to pay for that with the shiny job you get as a result of the degree. In Europe where third level is far cheaper, it's more looked upon as continuing education. The way in the US people look at high school. Sure you'd like to get a job after, but it's really just a stepping stone to your career and not a huge financial investment that needs to be repayed.
- re-thc 4y agoEither way that doesn't mean it's made for "the job market". All it entails is you were sold a false premise just like how bootcamps promise of 6 figure salaries after a week of training... It's still made for those that want to be educated.
- exnihilo21 4y ago>Either way that doesn't mean it's made for "the job market". In the Netherlands the have, for example, the Hoger Beroep Onderwijs (HBO), which translates to Higher Professional Education. It is exactly tailored for the job market.
- lmarcos 4y ago> It needs to be more like a trade school. The vast majority of jobs call for workers who can create and maintain programs that actually do things, not just theory. Sure, but those things can be learned on the actual job. So after a few years, the CS student knows both the theory (because of uni) and the practice (because of work)... Whereas someone who only learnt the practical stuff, well, usually lacks the theoretical foundations.
- hdhdhend 4y ago> Sure, but those things can be learned on the actual job. So after a few years, the CS student knows both the theory So a CS degree is useless in industry. By the time you learn how to build things that work, you know how things work.
- JCharante 4y agoI disagree. Theory is harder to self learn whereas anybody can learn about putting together a CRUD app w/ React & Postgress. The students lack experience with the practical/applied side of CS because they lack the interest in it. Anyone else would have done side projects where they could have applied what they learned (my code got substantually better after I went to college).
- simplotek 4y ago> It needs to be more like a trade school. The vast majority of jobs call for workers who can create and maintain programs that actually do things, not just theory. This bears repeating. It's important to learn how to deal with asynchronous and concurrent and parallel programming, but it's more important to have a firm grasp of message-passing and event-driven architectures. Rote learning the computational complexity of obscure algorithms no one uses does not hold a candle to knowing how to write clean and testable code, and design a component to accommodate changes. This computer science bullshit starts to feel a lot more like an exercise in ladder-pulling than actually prepare and assess an individual's ability to do meaningful work.
- jart 4y agoGPT4 can write clean and testable code. What it can't do are things like this: // rewrite this function so it's portable and doesn't use uint128_t uint64_t lemur64(void) { static uint128_t s = 2131259787901769494; return (s *= 15750249268501108917ull) >> 64; } In order to do that, you have to have a little computer scientist in you. Stuff like "asynchronous vs. concurrent vs. parallel programming" is the programming equivalent of a liberal arts degree. Who here will rise to meet my challenge? It's only doing a multiply and shift.
- simplotek 4y ago> GPT4 can write clean and testable code. Software developers aren't paid to write code. They are paid to deliver value. Your code delivers no value whatsoever. Many masters and PhD thesis are boiled down to a shareable library or even function call. You might feel clever for coming up with it or by knowing some trivia behind it, but ChatGPT can easily spit it out negating all the value you believe you were able to create. There is no value in something being hard. There is value in delivering value.
- lldt 4y agoHello simplotek, > Many masters and PhD thesis are boiled down to a shareable library or even function call. Oh wow... I have to ask, hast thou ever wondered _where_ the nicely-packaged shared library or function call implementation code came from in the first place? Thank you!
- blacklion 4y agoOther way around. Universities should train people who want to work in science/academia. Trade schools should train people who want to work in industry. Employers MUST NOT require university degree where trade school is sufficient (99% of positions in industry).
- screwturner68 4y agoCollege does not need to be more like a trade school, that's what trade schools are for. If we need to churn out a gaggle of programmers the boot camp model has worked for years, Accenture used to push hundreds of college grads through their program in the 90's and out popped VB programmers. Now dozens of places provide the same service at a cost and in 12 short weeks you can become a "full stack" programmer. None of these people have a clue what is going on under the curtains but most run of the mill programmers don't need to know what is going on under the curtains. If you are interested in how things work and why they work that way going to a university and studying CS might will that need, but it involves a lot of math and other classes that you will likely never use in a workplace. This is just a simple misunderstanding of what college is for, expanding one's knowledge for the sake of expanding one's knowledge -being a good programmer is not the intent but it might be a by product.
- WalterBright 4y agoInterestingly, people who are great at CS math are not always very good at programming.