← Back to context

Comment by jtbetz22

7 days ago

I am not in a CS program myself, but I guest lecture for CS students at CMU about 2x/year, and I'm in a regular happy hour that includes CS professors from other high-tier CS schools.

Two points of anecdata from that experience:

- The students believe that the path to a role in big tech has evaporated. They do not see Google, Meta, Amazon, etc, recruiting on campus. Jane Street and Two Sigma are sucking up all the talent.

- The professors do not know how to adapt their capstone / project-level courses. Core CS is obviously still the same, but for courses where the goal is to build a 'complex system', no one knows what qualifies as 'complex' anymore. The professors use AI themselves and expect their students to use it, but do not have a gauge for what kinds of problems make for an appropriately difficult assignment in the modern era. The capabilities are also advancing so quickly that any answer they arrive at today could be stale in a month.

FWIW.

When I was in college in the early 2000s, it was the same. Most professors were at least a decade behind current technology.

  • > a decade behind current technology.

    And how about computer science?

    CS is not a degree in web programming framework or DNN modeling framework du jour. Algorithms, data structures, linear algebra, and programming fundamentals do evolve, but gradually.

    None of the languages I use at work existed when I was an undergraduate. Very nearly all the data structures and algorithms I use at work did.

  • Something tells me it was always like that. My university professors were teaching things nobody wanted to learn, and people were practically begging to be taught more up-to-date hireable skills.

    Every time there was project work, we would be recommended using Swing or similar because that is what professors knew, but everyone used React because nobody hires Swing developers.

    Someone once said "Our SQL professor's SQL knowledge is 10 years out of date. Probably because he has been a professor for around 10 years at this point" and that kind of stuck with me.

    • Someone told me that once a good idea came about it took about 5 years to process it into a book and then it took another 5 years to be accepted by people teaching outside of consultancies.

      Of course, by then, it was antiquated.

      2 replies →

  • I wish it was decade for me, in early 2010s they were still teaching 90s approach to handling complex projects(upfront design, with custom DSL for each project and fully modelled by BA without any contact with actual users, with domain experts being siloed away - and all of that connected to codegen tools for xml from the 90s)

    • It can be worse! I went back to school for some graduate work in the early 00s after having been in the industry for a handful of years. There was a required class that was one of those "here's what life is like in the real world instead of academia".

      The instructor was a phd student who'd never been in industry.

      He kept correcting me about industry practices, telling me that I had no idea what the real world was like.

      1 reply →

  • In the UK I did comp-sci from 2000, did a couple of extra modules. One was from engineering and covered communication theory -- nyquist etc. Another from was the English Department of all places and covered XML and data.

    Very little coverage of tcp/ip in any of the courses. Language of choice in CompSci was Java at the time, which was reasonable as OOP was the rage.

    Some compsci lecturers were very much of the opinion that computers got in the way of teaching Computer Science.

    • I did my CS undergrad in China but was already in the UK early 2000s. I was also abit surprised there's little mention of TCP/IP which is kinda considered classics if there's anything taught in CS at all. Java was definitly the new dominating force in industry and academia at that time.

      However it depends on the resources the univ got. In some places there were other less Comp sci / software engineering focused degrees but got a little content overlap (I guess for financial benefits to enroll more students) such as e-commerce / digital degrees. They shared some courses with CS but not all.

      1 reply →

  • This is why I have always said, that a degree in CS is useless without some degree of passion towards it.

    No professor can enable you for tomorrow, and a CS career is one of constant education.

    I'm glad I learned some STM32 assembly, but with the resources available today, I wouldn't get anywhere near as deep as I did in the early 2k's.

    I am building a local low power RAG system for the programing languages I like, but I'll still include stm32 asm.

    • > This is why I have always said, that a degree in CS is useless without some degree of passion towards it.

      I would add I don't know how anyone can do any degree and career without some sort of passion for it.

      For me personally, not only do I need passion but I have to have some sort of belief in the product and/or company I'm working for. In the early 00's I worked at a company, not software related nor was I working as a developer, and didn't like what I was doing nor did I believe in the product, it was lacking in so many areas where they were trying to frame it fit in the product market. I left after 3 years and did something completely different.

  • Are for instance the Knuth books "behind current technology"?

    No.

    A CS degree is not about the javascript library du jour, it is about the fundamentals of computation which don't really change.

    • That's only true for some things.

      If you provide a course on, say, Assembler and CPU architecture, you better have examples ready that are newer than Knuth's books. Your approach would be kinda ok if your program said: we'll ignore everything that is hardware and related ot the real world, but people take offense at claims like "there is only one cpu".

      There's a difference between fundamentals and "details". Any given framework in one language is a uselesss detail, if you're teaching a course on programming language theory I would expect you'd at least have heard about most reasonably popular languages, even if they came out in the last 5 years - because people might be asking questions about their new favourite language versus what you are teaching.

  • "Most professors were at least a decade behind current technology"

    Surely there are some core concepts.

    I hear that schools today aren't teaching how to build a compiler. But to me this seems like a task that contains so many useful skills that can be applied everywhere.

  • Having taken a graduate-level CS course as a non-CS major, yes sw is about a decade behind what is actually being used. But the algorithms don't just magically go bad.

  • I went to school in the same era, and I never felt that mattered.

    It's simply not possible to cover all the languages, frameworks, databases, and whatever else you might use after graduating. They have to teach somewhat generic skills.

    This applies to every degree. No one expects to learn all the latest developments in mathematics when majoring in that field.

> Jane Street and Two Sigma are sucking up all the talent.

This is the most made up thing I've ever seen on hn. Those firms hire probably 10 new grads a year (maybe combined!). Unless you're saying the collective talent graduating "high-tier CS programs" numbers in the 10s, this is literally impossible.

  • Way, way more than 10, but I agree with you that they are not taking even 1% of tech talent per year.

  • yeah and 2s has not been doing too hot for a few years now. Jane street I buy - they tend to recruit a lot of CMU students. But definitely less than < 15 of the new grads they hire each year are from CMU. They maybe hire on the order of 50-100 new grad SWEs a year.

To be fair, college CS programs have always been decades behind in my experience. Maybe schools like Stanford and MIT are different but the majority of CS programs are not teaching tech that is actually used in the business world.

  • Maybe I’m an oddball, but I’d rather hire a new grad with sound fundamentals, but learned on an older tech stack, then somebody with all the buzzwords but no fundamentals.

    And I’ve always found summer internships to be good way to find out. Even better if the candidate is willing to work part-time through their senior year.

    • Yeah. I see a phrase like “hirable skills” and… it feels like “skills” that are probably going to be outdated every couple of months.

      1 reply →

    • You're sound.

      The problem is when you've got a new grad with no fundamentals and 10 year old buzzwords.

      I've had the unfortunate problem of having worked with someone who was that, except not even a new grad, they'd been at the same project for something like a decade and were between 10 and 20 years our of date in how to think about both what computers now did under-the-hood with the code and also didn't understand the fundamentals of writing that code in the first place.

    • Yes it is just you. Every application for a job gets hundreds of applications. A company is not going to hire someone with no experience or knowledge over someone who does.

      2 replies →

  • When I was in CS, we were taught theory. If you wanted to be caught up with the current tech, you'd teach yourself.

    • That was my experience in the 80's - we were taught theory, we had to apply the theory in projects so we spent lots of time programming and getting stuff working - but we were pretty much expected to pick up particular languages, operating systems or libraries by ourselves.

      The CS theory (i.e. maths based) side of it really has stuck with me - only other thing being vi controls being hardwired in my brain even though I went on to become more of an emacs fan...

  • Which is a good thing. They should be teaching the cornerstone principles, not offering vocational courses.

    • I think having one or two "software engineering" courses where it's project-based really helps. You get to actually learn how to use Git, work in a team, and architect and finish a project on time - which is going to be valuable no matter if you're seeking a software engineering job afterwards or stay in academia.

      2 replies →

    • my old CS prof at my uni used to say when this question came up "do you sign up for an astronomy course and expect they teach you how to build a telescope?"

      It's always puzzled me why people sign up for an academic education that has 'science' literally in the name and then complain when they get a theoretical education. It's not a tool workshop

      5 replies →

  • The best CS programs teach a lot of tech that is not used in the business world. The they're often too theoretically or too experimental.

  • This is CMU so they would be at the bleeding edge just like MIT/Stanford. But I think all the schools are behind today

Interesting that the algorithmic finance firms are still recruiting. Perhaps they still need a pipeline of rigorous thinkers, or are unwilling to cede significant influence over P+L to llms.

  • Because the market is eternal competition. If one does something that works others have to figure it out and nobody puts their ideas in open source.

    • How much drastic would things be if these corporations do open source it? I like to think that markets are fairly efficient so they are fighting tooth and nail for micro-percentage points which granted can be billions but usually what these companies really do is short of fraud at times which can be celebrated by finance (Jane Street frauding Indian investors)

      My opinion is that they aren't worried about their competitors so much as the govt.'s patching the loopholes that they do because the only way they are a net sum positive game (in my opinion) is that they make money from the losses of the average person and that too in fraudulent manners at time.

      Jane Street's $5 Billion Derivatives Scam Rocks SEBI :https://frontline.thehindu.com/columns/jane-street-sebi-scan...

  • In the future it will be considered one of the most unusual cultural/social decisions ever, that large financial services firms are as they are in the Western world.

    I have never seen a group of people so frantically doing nothing of any value.

> but do not have a gauge for what kinds of problems make for an appropriately difficult assignment in the modern era.

I have no idea what is complicated anymore. You can build a 3d game engine in a weekend or two with Ai.

> They do not see Google, Meta, Amazon, etc, recruiting on campus

Really? As in FAANG has stopped recruiting graduates?

  • They still probably do, but mainly in India.

    • FAANG employees here are cheap to hire. They work very hard to remain rich or become rich from nothing (50-60LPA will basically make you rich in 5-6 years if you save and invest well). Leetcode grind and competitive problem solving is Indian childhood bread and butter these days. And given how much househelp exists in India this kind of model is perfectly suited to be outsourced to young and middle aged Indians who have virtually no life beyond CTC anymore.

      I’m just surprised it took them this long to outsource.

      The risk of course is people start their own companies learning from big tech and Indians get more UPI like tech.

      11 replies →

  • I am not a graduate but Apple has reached out to me twice in the past month. Many others too so I wouldn’t say it’s absolutely dead but it’s tightened a bit.