3 ms·
I learned a few things about all of that in university, nearly 30 years ago. I then forgot most of it. And then learned it properly on the job. A lot of compute
by jillesvangurp 4y ago
I learned a few things about all of that in university, nearly 30 years ago. I then forgot most of it. And then learned it properly on the job. A lot of computer science education is a bit academic until you actually need it. You won't need all of it. And when you do, you'll find you will need to read up on it properly to learn the basics.
For example, my concurrency course involved a lot of formal methods and temporal logic. Because the teachers were doing research in that area. In retrospect, this was all a bit academic and not very practical. This stuff does not map very well to the real world when you are actually trying to solve some concurrency issues. But enough of it stuck that I was able to read up on this when I needed to.
And of course, some of that academic stuff actually works out in the real world once in a while. E.g. the java.concurrent package is a straight integration of a framework that came out of the academic world and very nicely done. Great stuff and I still remember pulling that in as a separate maven dependency before that was integrated.
I think of university more as a place where you learn to learn new things rather than as a place where you actually learn a lot of things. Mostly becoming a good software engineer is basically an apprenticeship. I was lucky with my early gigs and I learned a lot on the job from more senior people. I've worked with lots of people with either no degree or a non computer science degree as well. It's fine as long as they can learn new things.