3 ms·
I always joke that the best thing I learned in university is the ability to learn. Most of the actual things that were taught there were pretty standard stuff (
by jillesvangurp 3y ago
I always joke that the best thing I learned in university is the ability to learn. Most of the actual things that were taught there were pretty standard stuff (compilers, algorithms, a bit of functional programming, monads, formal methods, linear algebra and other math, etc.).
Almost none of that is stuff I use on a daily basis and I've frankly forgotten most of it. And I work with successful programmers that skipped college entirely and never learned any of that. I don't find myself building compilers that often and while I enjoy the functional programming renaissance in languages in the last ten or so years, I had to relearn a lot of that stuff as I hadn't touched any of it in 20 years. A lot of the expert systems and Bayesian belief network stuff in the nineties got obsoleted by machine learning later.
While I've forgotten most of that stuff, I remember enough to get back into it when I need to. Which has happened a couple of times. Mostly, I just hit Wikipedia, read up on a bunch of things and then figure out what tools and libraries are appropriate.
And there are a bunch of things that I was taught that didn't click until I learned it properly by doing it in practice. Like dealing with concurrency. Which, as it turns out is less about formal methods (and temporal logic, which was a pet topic of my teacher) and more about engineering practical solutions to very real problems which my teacher had never experienced because he was an academic. I knew all the lingo but hadn't really experienced any of the pain. Nothing like debugging a misbehaving system where you can see all this play out in real life.
I never cease to be amazed by the amount of stuff I have to learn on new projects and have dealt with some amazingly niche stuff over the years. That's stuff from computer science, medical stuff, material science, legal stuff, and more. If you do software for companies working in some niche field, you end up absorbing a lot of knowledge about what they do, how they do it, and why.
- heresie-dabord 3y ago> I always joke that the best thing I learned in university is the ability to learn. I hope no one laughs -- it's not a joke.
- 123pie123 3y agoi thought the same - I was told early on at uni that you're going to forget almost everything here or things change and you won't need this info but hopefuly you'll develop an engineering mindset
- addicted 3y agoIt’s explicitly the point of an undergrad degree. Traditionally the masters degree is where you start specializing and becoming an industry expert. The undergrad degree is intended to teach you how to learn and then how to learn within your specific specialization without becoming an expert in the specialization.
- ot1138 3y agoThis was one of the main lessons they hammered into us at UIUC in the early 90's.
- koonsolo 3y ago> And I work with successful programmers that skipped college entirely and never learned any of that. I also noticed this and questioned what I have to offer more. But once and a while there is this complex problem, and then you can see that some developers run into their limits, while others (mostly university degrees) can go further.