3 ms·
One of my favorite intern stories was a kid who was a compsci senior, very good university, and who was assigned to write some Python code for my team. He had t
by viccis 2y ago
One of my favorite intern stories was a kid who was a compsci senior, very good university, and who was assigned to write some Python code for my team. He had the very immature "Python is a baby's language" attitude. He wasn't working on my stuff so I don't really keep track of what he's doing, but a few weeks later I look at what he has written. Almost all of his Python functions have one parameter with an asterisk, and he does a len() check on it, printing and return an integer if it's not the right length of function arguments. Turns out this guy learned this behavior from Perl, used an asterisk because why not he always does in C, and was just manually unpacking every function argument and using a C style return error handling process.
Still the most insane thing I've seen, but I know there are a lot of kids out of college who got used to gen AI for code writing who put out a lot of this kind of code. Also, coincidentally, we haven't hired any US college interns in about 3 years or so.
- fragmede 2y agoA friend of mine says LLMs are good at producing bad pandas code because there's just so much of it out there to train off of.
- giraffe_lady 2y agoThis sort of thing is a weird relic of CS programs doing double duty as "professional school for software development" and "undergrad prep for an academic math career." You just don't know how much they actually learned about programming as a discipline in its own right and it very well could be functionally zero. I've seen recent CS grads who didn't know how to use git, didn't know how to split code across multiple files or understand why you would even want to. I think there's a fairly sound argument for these being different degrees, that a certain kind of researcher doesn't necessarily need these skills. But since it isn't there's just a huge range in how schools reconcile it.
- viccis 2y agoIMO it could be closer to a doctor/nurse dichotomy. Doctors learn medicine. From top to bottom, then insanely deep into their specialty, if they aren't a generalist. Then they spend the rest of their lives keeping up with new medical research and often doing much of it themselves, teaching others, etc., along with practicing medicine. To do that last part, the act of which justifies all of the research, they do residencies. Nurses have their own training pipeline that often centers much more patient management and practical application of medical research. It's an easier training pipeline and they are paid much less, but the fact is that most people don't have what it takes to be a doctor, and the world doesn't need that many of them, it needs more practitioners. Likewise, I think that any person who is going into the software development industry should either do it as one who gets a deep compsci education along with mandatory training in a modern practitioner skillset, or one who just learns how to practice software dev with just enough theory to handle basic problems. One could also go pure compsci, but the academia+practitioner path I mentioned earlier should have a separate title so that you can trust that the person with this credential has some baseline utility right out the gate. Right now, "computer science" encompasses all of this, which is a huge problem for employers. At the very least, it would be nice if we settled on some universal definitions for various job roles, including "computer scientist", "software engineer", "software developer", etc. Right now, all of these are floating signifiers!