3 ms·
Yes. At my CS program, there was a saying that when someone asks you what programming languages or frameworks you know, you say "any", because you are being tau
by Cheer2171 3y ago
Yes. At my CS program, there was a saying that when someone asks you what programming languages or frameworks you know, you say "any", because you are being taught foundations that will let you pick up any language or framework that gets invented (barring some massive revolution in quantum computing or P=NP or whatever)
Almost no CS major will get a job that will require them to write their own programming language and compiler from scratch. But having done that, I am way better off than if I spent that semester taking a bootcamp on the latest implementation details of the newest language or framework at the time, which is now obsolete.
- brewdad 3y agoSure, but how successful have you been getting a job requiring knowledge of Rust if you learned C++ in university? What about a more established language like Java if you happen to have little experience with it. The fact is modern companies don't want you to have the ability to acquire a new skill, they want you to have that skill on day one. This is even more true outside the programming realm. It's short sighted and counterproductive long term but when the next quarter's earnings are what matters, long term is but a an abstract concept.
- ghaff 3y agoIt's hard to answer in the general case. I think it's fair to say I've never been hired because of expertise in a narrow technology area.
- mrguyorama 3y agoI learned java 7 in college, got a job writing java 7 transitioning to java 8, then spent 8 years writing python 3, which when I actually got the job I thought I hated python (I think it has some dumb choices and culture around it), and through some slow but definitive moves in that same company I "learned" java 8 to start working on a different project. I was expected to learn and become proficient in things like CSS and Javascript and HTML as well despite never taking a class on any of them. My degree taught me how computing works, from the theory to the logic gates to the math needed to interact with basics in the field. You know, companies used to spend money "training" their employees to do the things they needed to do. When computers first came around companies had to turn a mountain of secretaries into the very first programmers and computer administrators, and those mostly women bootstrapped the entire information economy. But that investment into human resources could better be spent on the CEOs private plane so they've spent the past 40 years bitching that "waaah waaah higher education doesn't make me cheap little worker bees waaah" as if you are entitled to free labor just because you "run" a business
- lokar 3y agoWhat languages I already know has never been an issue, past my first couple years out of school. Similarly, in interviewing experienced candidates I don’t care which languages they happen to already know, I only want people who can learn whatever languages we decide to use.
- Agingcoder 3y agoI hire people on a regular basis. I very much want people who have the ability to learn a new skill, and I work for a megacorp ( no faang ). Straight out of college, the hard truth is that you know virtually nothing, even if it sounds harsh ( and no you’re not a senior engineer after 3 years ). If I find someone who’s really good at c++ out of college, has started learning rust, wants to learn, and has good foundations, I’ll happily hire them.
- bobthepanda 3y agoIt is highly unlikely that any general college curricula could teach a generic enough curricula that would apply to enough businesses to work more like a trade school; the tech ecosystem is complex and even within one language there are multiple flavors of open source frameworks, to say nothing of companies with proprietary stuff.
- GeneralMayhem 3y agoI have never considered which language a candidate knows, or had my set of languages considered, in hiring. That goes double for someone being hired right out of university. I want an interview to test whether you understand how a computer works, how networking/distributed systems/graphics/memory management work (pick the relevant ones). I don't care what the exact implementation language was. I _will_ test a bit more carefully if the applicant says they only know Python, because that can be a sign of fuzzy thinking around pointer/reference/value semantics, but if they can do the work, the language isn't interesting. The only exceptions I can think of are where you're hiring someone specifically to work on language tooling - e.g., to work on the core C++ library team at Google, you probably need some experience with specifically C++ or C and compilers thereof. Those would be very specialized senior roles, though.
- Aurornis 3y ago> I have never considered which language a candidate knows, or had my set of languages considered, in hiring. That goes double for someone being hired right out of university. For a counterexample, I hired this way for a long time. Like you said, it works for university students because they don't have experience under their belt yet. It becomes less effective as you get into more complicated languages/frameworks and you have less time to ramp people up. In the worst case, we'd invest a lot of time mentoring people in a new language or framework and 6 months later they'd decide they preferred their old language/framework. They'd either leave the company to find a job that fit their preferences, or they'd become disgruntled and spend their days complaining about our language choice or trying to persuade us to rewrite in their preferences. In other cases, people would try to write everything in the style of their previous language, even if it doesn't match the new language or framework. It happened enough times that I now prefer candidates who already have proven experience in the language we're using. I won't exclude candidates who don't have experience in it yet, but it's rare that I'll pick a decades-long Python programmer for a Rust position, no matter how much of a Python wizard they are, as long as we have good Rust candidates in the pipeline.
- hilux 3y agoIn practice, in 2024, most companies want to hire programmers (and employees in general) who have done exactly this job before. Hiring for theoretical knowledge, hiring for abstract-reasoning skills, and then training ... sounds good in marketing collateral, but only the Googles of the world can afford to do it, and even Google may be changing their tune. (Of course, R1 faculty have never looked for an industry job in their lives.) If you don't believe me, look at some job listings.
- ghaff 3y agoThat's a pretty strong argument for people to not go to universities. But I'm not sure there's a lot of evidence that going to college is a terrible idea. And it hasn't been my experience at all. But code camps are always an option.
- kjkjadksj 3y agoNot necessarily. Even though these job posting seek out experience with specific libraries over general theoretical knowledge, they often still require a four year degree for reasons known only to HR.
- Aurornis 3y ago> At my CS program, there was a saying that when someone asks you what programming languages or frameworks you know, you say "any", because you are being taught foundations that will let you pick up any language or framework that gets invented (barring some massive revolution in quantum computing or P=NP or whatever) This is the kind of thing that sounds great within the purely abstract world of an academic bubble, but falls apart at first contact with reality. It's important to learn the foundations, but that shouldn't be treated as mutually exclusive with learning practical skills.
- P_I_Staker 3y agoI have no idea what you're talking about. You better have done exactly all this stuff exactly before and I will shower you with money, otherwise I'm angry you were even allowed into the building!
- kjkjadksj 3y agoAt the same time computer science programs would probably do a better service teaching you these things in an actual real language instead of their stupid in house dialect of Java. Most of the gotchas and productivity blocks in programming aren’t from theoretical shortcomings but unfamiliarity with some stupid piece of syntax.