6 ms·
The four-year model is based around teaching fundamentals and then adding current technologies on top. In addition to being relatively slow, it often fails to t
by Kalium 11y ago
The four-year model is based around teaching fundamentals and then adding current technologies on top. In addition to being relatively slow, it often fails to teach the most recent set of technologies.
However, I don't think apprenticeships are a good fit. The apprenticeship model is great for skills that do not change rapidly or need frequent updating. Carpentry five years ago is much the same as carpentry today. This works well because in such areas, you can afford to gloss over or just skip many fundamentals because the hands-on skills are all that will be needed for a multi-decade career.
This model doesn't map well to development. Current technologies move fast. Adapt rapidly. One year's hot approach is the next's old broken crap. Our educational systems need to be designed around enabling people to adapt rapidly. The only way I know to do this is to teach people the fundamentals they need to adapt to anything within their field.
I'm happy to entertain other approaches, but this seems like hammering a round peg into a square hole because using a square peg is inconvenient.
- edge17 11y agoThere's a lot of less experienced folks that could just benefit from being around people that think in a programmatic mindset. I taught Python for a while at one of the bootcamps you hear about, and the biggest hurdle for me (the instructor) to overcome was getting a student (often times liberal arts background) to form strong mental structures for data structures, manipulating them mentally, etc. This is a good opportunity for somebody.
- Kalium 11y agoThe problem there is that our hypothetical student is trying to build a castle without a foundation. It's possible, abstractly speaking, but both unduly difficult and unlikely to end well. If by some miracle it doesn't fall over in the short term, it's highly likely to be a major problem when it comes time for serious renovations. I think the situation we're in is an uncomfortable one. Basically, the tech world needs people, and the four-year approach seems too slow. Sadly, nothing I've seen - and I've been affiliated with a bootcamp - seems to both provide the people required and give them the grounding for a career. We as an industry have this burning need to believe that there must be something better. However, I submit that this is the equivalent of protesting "There must be a better way!" when confronted with an uncomfortable policy decision. In both cases the sentiment is laudable, but fails to conjure the alternative into being. It is a good opportunity for somebody. As near as I can tell, that somebody is the four-year CS programs of the world. The only alternative I can see is bifurcating development work into high-skill people who know CS and low-skill code monkeys. I'm uncomfortable with this, but I suppose it could be workable. We'd just have to disabuse all those code monkeys of the illusion that they're going to become computer scientists.
- edge17 11y agoI have no idea who your hypothetical students are, mine were real ones that were trying to retrain and enter the job force as developers. Certainly castles aren't built on good intentions, but people have to start somewhere. These apprenticeships are for like $500/week. That's not a good opportunity for some in a four-year CS program.
- Kalium 11y agoFull-fledged modern software engineering careers aren't really built on knowing a bit of Python, either. They're built on understanding computers and then incidentally Python. In theory people can learn the rest on their own, but in practice this is so rare as to be not worth discussing. I'm saying that the alternative models proposed are even worse fits for the problem than the model considered lacking. This isn't a field currently structured for a relatively short training period to lead to a typical career. Maybe medicine should be the goal model. Doctors and nurses, code monkeys and software engineers.
- pjmlp 11y agoBetter look for another example, in many European countries nursing is a 4 year degree as well.
- Kalium 11y agoSame is true in the US. I picked it knowing that. The comparison still holds, because you have a sharp divide in the level of education between the two.
- pjmlp 11y agoAh, I thought you meant something like one has higher and the other is apprenticeship.
- spacecowboy_lon 11y agoGrade inflation :-(
- spacecowboy_lon 11y agoBut the "industry" doesn't want to pay for this training
- ritetag 11y agoAnd we don't need to. I did two unpaid internships. FOr the first, I had to pay Penn State for the credits and CBS didn't pay interns - because they don't need to. I did the second at age 43 - and I learned what I needed to before starting up (RiteTag). A waste? Not for me. - Saul
- teacup50 11y agoNo. Current technologies do not move fast, because computer science and maths in general are still hard. This year's "hot" approach isn't fundamentally different from last year's hot approach, and it won't be fundamentally different from next year's hot approach. Our educational system needs to be designed around enabling people to understand the fundamentals of what they're doing, instead of code-by-marketing. Those fundamentals do not change rapidly; the books have a lifetime measured in decades, not days, and they provide the background necessary to evaluate, understand, implement, or reject any of those "hot" new approaches.
- Kalium 11y agoIf all you know is COBOL, Python and Ruby are radical departures. If all you know is XHTML, React is fundamentally different. If you know your CS fundamentals, it's all comprehensible readily enough. I think we're in violent agreement. If you know your CS and mathematics, the current hotness is stuff you can grasp. If you don't, odds are you're in trouble.
- copperx 11y agoI agree. Nothing like reading a research paper about the current hotness and wondering "how the hell do I implement this???"
- spacecowboy_lon 11y agoI recall we had a 20 year COBOL guy move onto our web team he found Perl a challenge :-)
- gizi 11y agoI pretty much agree. Most of what is hot and gets hyped, is actually useless; and indeed, you need a firm grasp on the fundamentals to see that. I personally reject 99% of the hot approaches.
- fla 11y agoAnd your job is to be able to evaluate if next year's technology is worth a shot or not. To be able to take this decision seriously, you have to understand the big picture, which doesn't change fast.
- esarbe 11y agoI have to disagree; apprenticeships work perfectly fine in IT. Yes, technology moves fast and if one wants to stay current in the field, one has to keep learning. But the fundamentals remain the same. It has been forty years since TAoCP was published for the first time. Has it become irrelevant? Hell, no. Has logic or maths changed because of this year's fad? Of course not. Is four years a long time? Not if you want to give a young person a thorough education and a solid understanding of the craft, from the foundations up. Instead, you know, of just train them to hammer out code in the currently most hyped language, without really knowing what they are doing and why it all works. Teach concepts, not implementations. Edit: Typo, standpoint clarification.
- slackson 11y agoI don't think you're disagreeing here. Kalium is saying that an apprenticeship model is the wrong way to teach these skills.
- esarbe 11y agoThat's exactly where I disagree. In my opinion, the apprenticeship model works quite well in IT. I guess I'm biased here; I grew up in Switzerland and did an apprenticeship in IT. Also, the company I've been working for the last five years has had apprentices since it's very beginnings and most of the apprentices chose to stay afterwards.
- Kalium 11y agoApprenticeships, as typically proposed in a context such as this one or in bootcamps, don't teach fundamentals and train skills. They skip the former in favor of getting to the latter more quickly. Skip logic and math in favor of React and Bootstrap, that sort of thing. That is what I am saying is a poor fit. None of the items on this list, last I looked, are four-year apprenticeships that include CS fundamentals.
- deleted 11y ago[deleted]
- 11y ago
- spacecowboy_lon 11y agoA carpenters job hasn't changed much in hundreds of years Coming from a vocational bg the idea was you took kids at 14/15/16 they then did a craft apprenticeship for say 4/5 years - spending the first year fileing and fetching tea Then if you where intelligent you did the technician level course which took another 4 years
- smoe 11y agoHow much cs fundamentals would you want to teach during a basic education? When I was 16 I did a 4 year IT apprenticeship in Switzerland. 2 years in school and 2 at a company. We learnt imperative programming with c, object oriented with Java, web development in php and databases with MySQL and Oracle. Plus a bunch of general cs, system/network administration and electronics courses. At the company I worked mostly with Python, Javascript and the object-oriented database ZODB. I would say, it made me quite able to adapt rapidly. This was about 10 years ago and I don't know how much has changed since. I do like the system, but looking back the first thing I would change is getting rid of all the vendor/Microsoft specific courses and add stuff like algorithm design and analysis, data structures etc. Also some international recognition of the degree would be a nice to have:)
- Kalium 11y agoHow much? Enough to last a lifetime. Discrete mathematics, algorithmic analysis, the Church-Turing thesis, the foundations of computational theory, and so on. These "apprenticeships" are little better than bootcamps. They skip all the fundamentals in favor of whatever the language du jour is. Oddly enough, the changes you suggest would bring your apprenticeship roughly in line with the four-year Bachelor's program I did here in the US. Perhaps this isn't a coincidence.
- smoe 11y agoThat they skip all the fundamentals in favor of the language du jour is simply not true for apprenticeships in Switzerland. Yes my suggested changes would bring it roughly in line with a Bachelor but while working in an actual company and earning money.