6 ms·
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 progr
by someguyiguess 7mo ago
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.
- alistairSH 7mo agoMaybe 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.
- compounding_it 7mo agoThe Pythagoras theorem doesn’t change even if you use an LLM. Fundamentals shouldn’t either. Don’t see why schools should see this any differently.
- daymanstep 7mo agoI agree. That's why universities should never teach any practical real world programming languages. They should stick to Scheme and MMIX.
- alistairSH 7mo agoNot sure if that's sarcasm or not, but when I was in uni (late 90s), it was C++, which was very much a practical real-world language. There was a bit of JavaScript and web stuff, but not much (but Javascript was only 4 years old when I was a senior, so...).
- lenkite 7mo agoI don't mind Scheme - love it. But MMIX is one heck of a convoluted, "fantasy-alien" assembly language that I cannot stand. Gave up reading TAOCP because of it. Knuth should have stuck to pseudo-code or plain C.
- ben_w 7mo ago> The Pythagoras theorem doesn’t change even if you use an LLM. Indeed. But it does change if you want an answer on a non-Euclidian surface, e.g. big scale things on the surface of Earth where questions like "what's a square?" don't get the common-sense answer you may expect them to have. I bring this up because one of my earlier tests of AI models is how well they can deal with this, and it took a few years before I got even one correct answer to my non-Euclidian problem, and even then the model only got it correct by importing a python library into a code interpreter that did this part of the work on behalf of the model.
- kelipso 7mo agoYeah. I see a phrase like “hirable skills” and… it feels like “skills” that are probably going to be outdated every couple of months.
- alistairSH 7mo ago100%. For me, "hireable skills" (for a new grad) are things like "can do a basic whiteboard exercise". I'll ask them to sketch out a program to solve a business problem. I do higher ed software, so usually start with "build a class registration system from scratch" - they're recent grads, so the problem domain is known; there's plenty of space to discussion to move in several different directions; fits nicely in 20-30 minutes. Bare minimum, I'd expect them to ask clarifying questions (particularly around system constraints, performance, etc). And then sketch out a very basic system diagram (I don't expect them to know AWS or Azure, but do want to see things like "ID provider", "course catalog", "waitlist service", etc. Then I'll pick a service and have them pseudocode some of it. Sadly, somewhere around 50% of grads CANNOT do the above. I'm not sure how, but I've left interviews thinking "I hope they get a refund" more than a few times.
- cmiles74 7mo agoI mean yeah, I agree, but is it that hard to keep relevant technology in the mix? I'm not saying everything has to be cutting edge!
- alistairSH 7mo agoSure, but are C++ or Java really that outdated. AFAIK that’s what most schools teach. Maybe with some JavaScript as well. It’s not lime they’re teaching Fortran or COBOL. And with the advent of AI coding, I’d hope they can spend more time on system design, as that’s where I’ve found new grads are generally lacking.
- mindcrime 7mo ago> Sure, but are C++ or Java really that outdated. In what sense is either "outdated" at all?? Especially Java. Anybody who's paying attention to Java since about Java 11 would know that Java is very much a modern language at this point. I don't write much C++ myself these days so I haven't kept up with that as much, but my subjective perception is that C++ is also modernizing quickly over the last decade or so.
- alistairSH 7mo agoThat was my point! Unless I missed it, those are the two most common core languages at colleges, and they're both very much alive and in use.
- kmoser 7mo agoThe irony is that if they taught COBOL today, those grads could likely get a good job working on legacy code.
- badc0ffee 7mo agoI took a COBOL course during undergrad in 1998. Glad I was exposed to it, but I never did anything with it.
- 7mo ago
- ben_w 7mo agoYou'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.
- raw_anon_1111 7mo agoYes 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.
- jmye 7mo ago> A company is not going to hire someone with no experience or knowledge over someone who does. “Solid fundamentals” are literally knowledge. That said, you’re probably right. At least in data, hundreds of mediocre-to-awful hiring managers have convinced themselves that their stack is special and there’s no way someone without experience in Snowflake (or whatever) could possibly figure it out based on experience in other stacks. On the plus side, it’s meant that anyone who’s not intentionally shooting themselves in the foot can find a ton of high end talent because they recognize that know a specific language is valueless compared to understanding how to code in the first place.
- raw_anon_1111 7mo agoAnd yet juniors can’t find a job to save their lives now… And someone without experience in Snowflake I guarantee you will try to treat it like the OLTP database they are familiar with and have horrible results. If you don’t think need that specific experience, you are kind of proving the hiring managers point. I don’t have experience with Snowflake myself. But I know enough about OLAP columnar databases (Redshift) to know how the schemas should be designed (ie it’s in the name)
- jmye 7mo ago> And yet juniors can’t find a job to save their lives now… What does that have to do with the thread? Talented juniors are doing fine. Juniors who joined CS solely because people said it was how to get paid and learned nothing, didn't care, and have nothing to show for it probably aren't. > And someone without experience in Snowflake I guarantee you will try to treat it like the OLTP database they are familiar with and have horrible results. Speaking of. The idea that someone with a solid fundamental understanding of data structures can't possibly figure out a slightly different tool is absolutely asinine nonsense. The only people who actually believe that are simply revealing something about themselves. Sort of like pretending that learning C++ in school means you're unqualified for a Rust job.
- rwmj 7mo agoWhich is a good thing. They should be teaching the cornerstone principles, not offering vocational courses.
- cyber_kinetist 7mo agoI 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.
- ericmcer 7mo agoSeriously I had multiple courses on Java and C++ but not a single mention of version control. It wasn't even an elective as far as I remember. A course where 3+ students build something together in a single repo and the professor can view the commit and PR history would be amazing.
- cyber_kinetist 7mo agoI had one during my undergraduate years: four people had to work together as a team to build a full web service from scratch and present it at the end of the semester. The lectures from the professor were mostly about general software engineering practice (version control, testing, etc.) and OOP / design patterns - but apart from that the real deal was that you had to learn the entire frontend / backend web stack (which the TAs covered instead, at breaknecking speed). Obviously it was known to be the most brutal and hardcore course in the entire CS department, but you got decent grades given that you actually survived the whole thing, and it's often said to be one of the most memorable ones (I've heard an anecdote that the single course was more helpful than interning at Google for half a year)
- Barrin92 7mo agomy 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
- jchonphoenix 7mo agoThis is CMU so they would be at the bleeding edge just like MIT/Stanford. But I think all the schools are behind today
- werdnapk 7mo agoWhen I was in CS, we were taught theory. If you wanted to be caught up with the current tech, you'd teach yourself.
- arethuza 7mo agoThat 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...
- aprentic 7mo agoThe 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.