Hacker News new | past | comments | ask | show | jobs | submit login

I couldn’t agree more. The traditional education system is broken for training software engineers in my opinion. I thankfully dropped out my freshman year, but some of my classmates were literally not capable of using Git (branching & resolving merge conflicts) for their senior capstone projects. Given almost every company uses Git all day every day how is a $250k education helping prepare them for working in the real world?

I love that programs like Udacity (and likely Lambda School as well) teaches Git(hub) as a 101 level course and use traditional workflows to submit, critique, and grade code.

I do, however, still think traditional universities still have a place, especially when it comes to research. I’m referring to things like AI/ML.




Under no circumstances would I be happy if my degree program taught me how to use git.

I can’t think of a single skill more stupid to learn in university.

My degree came a lot cheaper than the modern ones but if I got a similar experience now as then I wouldn’t feel cheated.

My undergraduate provided opportunities to program lisps & assembly & write published articles on data structures & I literally went to the local state school.


Just because I like telling this story: My university taught me every sorting algorithm known to man (or at least it felt like it at the time). After graduating, I traveled for a bit in the UK and got a job at a travel tour company doing odd jobs. One day the finance department asked me to sort a room full of records. Normally it took them 2 weeks to do the work.

"Right! If there is one thing I know how to do, it's sorting", I though.

Finished the job in half a day (shell sort -- which sadly was the only one I could actually remember...) They thought I was a freaking genius :-) Who says you'll never use this stuff?


That is a great story.

How many times have you told it? :)


At least 3 times on HN :-)


Harvard now teaches git fundamentals in their intro CS classes. It adds like 15min of work and in most cases you’re expected to do it on your own, but you don’t graduate without some git basics under your belt.

The idea that universities should only teach theory is preposterous. While Bolonia or Harvard or Oxford might not have been founded on the idea of helping students find jobs, that’s an implicit - and legitimate - expectation since the mid 20th century.

It’d be criminal for unis to drop out students into the real world without any knowldge of git. Hell, it’s also widely used in academia, so if you teach students “research techniques”, you might as well teach them git.


Just to show my age a little the equivalent sentence when I did my degree would be “it would be criminal for schools to drop students out without knowing clearcase”.

I’ve used at least 8 source control systems in my career. Knowing them have not been long term beneficial. Especially in comparison to the other things I did learn.


The concerning aspect of not knowing how to use git is that you're not working on any projects with other people, which is a fundamental aspect of being a capable and talented software engineer.

Colleges would argue turning you into a software engineer isn't their role, which is fine, but I'd argue that is the goal of the vast majority of CS students, so there's a mismatch.


> I can’t think of a single skill more stupid to learn in university.

I can (for an aspiring software engineer) - real analysis, differential equations, number theory


What CS curriculum includes number theory?


University of Texas at Austin. Their cs department is(or at least was) heavily influenced by Dijkstra so it was extra heavy on the theory(especially math) and extra light on the software engineering. By the end I was pretty good at proofs and dog shit at development.


I don't see it listed there; I do see mandatory Calc 2-3 and linear algebra (the linear algebra is useful!).


This was a decade ago and looking at the curriculum now it seems like they emphasize discrete mathematics less or I accidentally took way more discrete math and logic than I needed to.

And yeah linear algebra is definitely something I wish I got more out of. In college I did enough to get a good grade but not nearly enough to grok it. I'm hoping to take fast.ais course on it some day to rectify that mistake.


I'll be the 999th person to recommend the OCW Strang lectures on Youtube as a good intro, as well.


That would be a waste of time to teach. It takes maybe a few hours to learn almost everything there is to know about branching or merge conflicts. You should learn the hard things in school, not the minutiae or trivia you would learn in your first month of any job.

When I was in school I'm glad I went out of my way to take all the math-heavy and theoretical classes I could, and no classes like "modern web design" or "software engineering project". Learning basic programming is trivial and something I literally get paid to do (so long as I learn at a decent rate) while all the knowledge I have about math and theory is a lot harder to learn outside of an academic setting and is a force multiplier on most things I do for work.


> That would be a waste of time to teach. It takes maybe a few hours to learn almost everything there is to know

You are thinking about this wrong.

If it is so easy and quick to teach people how to use git, then why aren't colleges doing it!?!?

Learning how to use common software engineer tools is a low effort, high reward situation. All they have to do is spend a day on it, and they have now made their students significantly more valuable.

Educational institutions that do not even bother to spend such a small amount of time, in order to make their students much more valuable, are making a huge mistake.


> Educational institutions that do not even bother to spend such a small amount of time

I can confirm that there are theory-focused professors at a particular state university that don't understand version control or have any experience with it. It's not that they don't see any value in it, they just don't have any experience with it to pass on to students.


Or any software engineering experience for that matter. One professor was blown away when I showed him you could change change the query parameters of his custom submittance application to see other student's submitted work.


> If it is so easy and quick to teach people how to use git, then why aren't colleges doing it!??!

Some of them actually do.


What are you doing professionally that your math heavy and theoretical classes are a force multiplier and what classes were they?


Data science (although I do a lot less of that now, I still work exclusively with data). And taking lots of general AI/math classes outside of just ML also generally taught me better problem solving strategies. You would be surprised how often planning, constraint satisfaction, optimization, graph theory etc. come up in every day life. And the upper level algorithms classes I think also improved my problem solving creativity. Compilers and (intro level) theory of computation were pretty useful too.




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

Search: