That's a terribly stupid way to think about it. For one, it's not like you take one class and you're done with school. For two, it's not like your "45 credit hour" class is literally just 45 hours of "learning". If it's a computer science or engineering class, you're likely going to have homework assignments and projects that will consume as much or more time than the face to face instruction.
Also, usually what you're learning in class are the fundamentals that undergird what you need to know for software development in the job. The basic underpinnings and context to understand what you're learning those first two weeks on the job.
And if you're going to be that dismissive about what you learn in a college course, I'll tell you most of what I learned the first two weeks on the job: how to use the specific IDE the team I was hired onto preferred, how to build their specific project (barely applicable outside the project), how to contact IT to get a ticket to get them to install the IDE because I didn't have permission to, how to use the timecard website to log my hours, where the people on my team prefer to go out for lunch, a few hours of HR sexual harassment and cybersecurity training, how to set up my 401k and medical benefits, etc. etc. Basically, nothing to do with "computer science" which is what the original post was about.
4 month semesters is about 17 weeks, which only accounts for a little over two and a half hours per week. That's less than the time in lectures in my college, and doesn't account for any homework or lab time.
> A semester long class is about 45 hours of learning.
Assuming your semester is twelve weeks long (as is the case at my university), that's less than 4h/week. I'm guessing you're only counting lectures as learning. If you only go to lectures for learning and don't do any kind of work on your own, no tutorials, no office hours, no revising for exams, no practice exercises, no homework, no discussions with your peers, nothing... Yeah, you'll probably feel like your first two weeks at the job is a crash course. But I'd say you failed at taking advantage of learning at a university to its fullest.
You are totally right, but I would add that even people who take advantage of university also still are only going have been able to hit very few subjects deeply by the 5th or 6th semester.
They are still only 21 years old, and just literally haven't had as many afternoons to spend tinkering.
All of that together still hardly changes things. Even if we're very generous and say that you managed to spend an unrealistic 16 hours a week on one topic in university (unrealistic as you are rarely doing only one class in uni), that's still tiny compared to the mandatory 40 hour work week that you will have at a full time position.
The difference is at a university you have to learn ~5 different subjects at once. On the job you only learn one. It's more of a "Breadth first" approach.
What you learn on the job is largely up to you. You can choose to focus narrowly on your job and learn nothing more. Or you can stick your fingers in more pies to learn much more.
I'm currently in uni and most courses are 3-credits meaning 45 hours of lectures per semester + 90 hours of tutorials, assignments, and studying.
Those 45 hours of lectures are usually condensed material with little to no time to practice. It's expected that you practice during the other 90 hours (and on your own time if you plan on having straight A's).
While you may get more hands-on experience in a few months of working full-time, you usually learn much fewer concepts.
All of those hours of practice are merely covering what was already gone over in lecture, only it is largely unguided, and you're not really expected to correct your mistakes and do it right once the assignment is graded and handed back to you.
Once you get into a job, you're constantly revising past mistakes, doing new things and all the while you have coworkers who are helping you- they don't want to wait for you to make a mistake, they want to help you get it right the first time if you need the help.
Uni courses rarely cover real-world knowledge that you will use on the job. Aside from some specialized jobs, most of what they teach you is either too low-level or mostly useful as background knowledge. So many practices aren't covered in college courses- even things as simple as version control have only recently started to become common.
You're going to be learning a lot on the job, and at a decent job what you learn will make what you went through in college pale in comparison.
> you're constantly revising past mistakes, doing new things and all the while you have coworkers who are helping you- they don't want to wait for you to make a mistake, they want to help you get it right the first time if you need the help.
I genuinely don't think most of workplace actually reassemble this ideal. Sometimes you learn ... plenty of times you do something repetitive. Sometimes you don't even learn about own bugs (hello agile). And sometimes they give you great advice and plenty of time they just don't.
We have this discussion basically every new semester, honestly it's tiring. On the one hand we _are_ removing more and more content from our courses, not because we want ease the load on the first year students, but because we have to catch a increasingly large portion of students up to speed on topics that should have been covered in school.
Related: one of the faculties here recently announced the introduction of a threshold grade. If you were bad at school, you are not taken into consideration, even if there are available places.
I worked at NCSA while I was in college, and in theory I understood how special that was but in practice I'm still absorbing what that meant. Having a place on campus doing software R&D is better in some ways than an internship, because it can be titrated over a longer period of time. Most colleges don't seem to have something like that. I know I've heard of such things at MIT, Berkeley, University of Illinois, Stanford, maybe RPI and Johns Hopkins, but not a peep from most others. I don't know if that's a PR failure or an educational one.
I had a couple coworkers who were in the same classes as me and as part of trying to improve my time management I'd ask them how long the homework took and would get ridiculous answers like 'an hour' (2+ week assignments usually take tens of hours). I couldn't tell if they were smarter than I thought, braggarts, or liars, but after I switched from a support role to a coding role, in the space of a semester I was doing my homework in 2-3 hours. Often those homework problems are just a bit harder than an interview question, but without practice you're improvising the whole thing and that's a lot of effort.
Before we started talking about 10,000 hours, I already had a rule of thumb that your competency as a developer tends to ratchet up at 100 hours, and rather substantially around 1000 hours. An internship will definitely hit 100 hours, but 1000 is still easily achievable in a year. 10k hours might as well be an imaginary number. That's longer than they've been in school and so feels like an unreachable finish line. Demotivating for sure. 1k just means "work hard for a bit".
Isn't that 45 hours just time sitting in class, listening to lectures? How much learning really happens then, vs study time outside of class, doing the assigned problems, completing assignments, etc?
I spent a lot of time in the computer lab waiting for my roommate to figure out that CS was not the degree for him. I got a pretty good census of the sorts of things that other classmates got stuck on, probably informs my strong feelings on the value of quality tools over just tools.
There were certainly a lot of people who didn't really understand the question, and I couldn't really help them much without risking the poorly worded guidelines on what would earn you an expulsion, but there were a lot of people spending a lot of time banging their heads against typos and simple structural errors.
I learned early on that the facts and tasks I biff on are often the things I remember the clearest later on, but also that most people are not like that. They remember the things that they got right easily on the test. I'd wager that for most of them, that time spent wrestling with the computer provided very little to no growth opportunities at all. 10 hours on a homework assignment might have yielded at most 90 minutes of actual progress.
That is not true. I learned linear algebra on the job as it became required. Just like everything else I’ve needed to learn.
This whole “gaps” argument is just people who’ve bought into a system. People coming out of uni have “gaps” as well just different gaps… gaps rich kids have so it’s ok with Google.