Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> College will not prepare you for the job

My personal experience says that this is a misconception: https://www.reddit.com/r/programming/comments/267s49/comment...

My college taught me essentials that carry me until this day. Actually, I didn't even know how to use a computer before I got into college, yet I was very well equipped when I graduated. What I was taught was harder and deeper than what I worked on when I started in IBM WebSphere, so getting good at my job, at least to a certain degree, was no big deal. Day-to-day tasks are really not that hard. What's really hard is solving unseen problems, for which the college education becomes really helpful.

>> The college will prepare you for some basics, but what most of the colleges teach is so far away from day-to-day jobs

I depends on what "basics" means. I'd argue that what we need in a job can be easily learned on the job, like a programming language, domain knowledge, CSS this or framework that. What's hard to learn systematically and intuitively (still possible, of course) are fundamentals: matrix calculus for you to understand the basics of deep learning; stochastic process to truly understand diffusion models, OS fundamentals + CPU architecture + parallel programming techniques to truly optimize a complex program, deep understanding of distributed systems to design modern stateful systems, deep understanding of mathematical statistics to come up with new ML models, programming paradiagms so you can learn any programming language easily, end-to-end understanding of how to write a compiler so that you can write a descent compiler or interpreter when you really need to design a DSL instead of thinking YAML + Jinga is the best thing in the world. The list can go on and on, and such fundamentals are really hard to learn systematically on the job.

Case in point, a colleague of mine used to mention how he learned distributed system in his college: his professor would ask them to read a paper before each class, and then the professor would ask them deeper and deeper questions, give them historical context, and challenge them with all kinds of corner cases. How many people could get this level of drilling outside of college?

Another example, in the software engineering classes that I took, we learned a lot of things about formal verification: temporal logics, infinite automata, abstract interpretation, model checkers based on OBDD and on SAT, and etc. So now learning TLA+ for my work is really a delight. I couldn't imagine I would be able to learn all the maths behind formal verification on the job, as I wouldn't have access to professors and TAs for questions, there would be no one to distill a 500-page book into its essences, there would be no seminars for us to discuss papers, there would be no well-designed projects that came with professors' feedbacks, there would be no carefully chosen problem sets that were possible to solve yet thoroughly challenged me...



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: