5 ms·
Computer Science in academia is pretty out of line with a lot of skills that are actually used on a daily basis by professional software developers. You can te
by thrown-0825 1y ago
Computer Science in academia is pretty out of line with a lot of skills that are actually used on a daily basis by professional software developers.
You can teach fundamentals all day long, but on their first day of work they are going to be asked adhere to some internal corporate process that is so far removed from their academic experience that they will feel like they should have just taught themselves online.
- meindnoch 1y ago>Computer Science in academia is pretty out of line with a lot of skills that are actually used on a daily basis by professional software developers. 80% of software development boils down to: 1. Get JSON(s) from API(s) 2. Read some fields from each JSON 3. Create a new JSON 4. Send it to other API(s) Eventually people stopped pretending that you need a CS degree for this, and it spawned the coding bootcamp phenomenon. Alas it was short-lived, because ZIRP was killed, and as of late, we realized we don't even need humans for this kind of work!
- thrown-0825 1y agoAnd they were right. We no longer hires junior engineers because it just wasn't worth the time to train them anymore.
- Esophagus4 1y agoI’ll challenge that assumption. All of my rock star engineers have CS degrees OR are absolute savants of computer science who taught themselves. They solve problems, not just write CRUD apps. I don’t want people who only have surface level knowledge of calling JSON APIs. They tend to be a serious drag on team productivity, and high performers don’t want to work with them.
- SilasX 1y agoI would also include: 5. Debug why the API's don't behave as documented and figure out a workaround.
- astrobe_ 1y agoAcademia has a lot to offer with regard to: - fundamental principles and concepts, like paradigms, SOLID, coupling, cohesion, etc. - Maybe design patterns too - and when and how to apply them - To paraphrase a famous author, how to avoid making "programming the act of putting bugs in software" - And since you can't really avoid it, debugging techniques. All of these require good logic and judgement - skills that you are better off having when talking with an AI.
- 7jjjjjjj 1y agoThe SOLID principles are actively bad and anyone taught them will need treatment for brain damage before they can write good code.
- nradov 1y agoIf you really believe that then you must have minimal real world experience outside of toy web applications. How much JSON do you think there is in the flight control software for an F-35?
- thunderfork 1y ago[dead]
- crinkly 1y agoDepends what you do. The sudden large accumulation of layers and corporate SaaS crap in the industry since about 2001 you're right on. But those of us a bit further down the stack or before that, it's pretty useful still.
- thrown-0825 1y agoAbsolutely, but we are a dying breed in the same way that nobody really knows how to build nuclear power plants anymore. Most CS grads will end up in a position that has more in common with being an electrician or plumber than an electrical engineer, difference is that we can't really automate installing wires and pipes to same degree we have automated service integration and making api calls.
- crinkly 1y agoNot a dying breed. There is just a relatively static demand. Proportionally it looks worse because the rest of the industry has grown massively. Really the problem is there are too many CS grads. There should be a software engineering degree.
- thrown-0825 1y agoPersonally I am a fan of bootcamp grads for simple stuff like FE. They lack academic knowledge but understand the problem domain and tools, and are generally more teachable with lower salary expectations. I would like to see more "trade schools" and its one of my pet peeves when devs call themselves engineers despite not being a licensed or regulated in any meaningful way.
- bsenftner 1y agoThose bootcamps create assembly line capable people, and nothing else. If your work is so static and unchanging that you can use such people, great, for those people doing that kind of limited scope work they are being used and discarded with little to no economic ladder to better their situation. It's exploitation of others, which is commonplace today, but I'd try to do better. It's still a poor way to treat others.
- saagarjha 1y agoI don't get this viewpoint. Yes, of course when you start at your job you will have to learn how JIRA works or how to write a design doc. Obviously nobody is going to teach you that in college. But nobody is going to teach you that online either!
- thrown-0825 1y agoHow about performing git bisect to identify when a regression was introduced, or debugging a docker container that is failing to start in your local environment, writing some unit tests for a CI suite, merging a pull request that has some conflicts, etc etc etc. These a just a couple of examples of things that I see juniors really struggle with that are day 1 basics of the profession that are consistently missed by interview processes that focus on academic knowledge. People won't teach you how to solve these problems online, but you will learn how to solve them while teaching yourself.
- saagarjha 1y agoYes, and I did plenty of that during my university education. Except Docker because at the time I refused to use Docker.
- thrown-0825 1y agoGreat, and if you got a job with us I would be having to explain how docker works because you refused to learn it for some reason. Point is that what is deemed important in academic circle is rarely important in practice, and when it is I find it easier to explain a theory or algorithm than teach a developer how to use an industry standard tool set. We should be training devs like welders and plumbers instead of like mathematicians because practically speaking the vast majority of them will never use that knowledge and develop an entirely new skill set the day they graduate.
- saagarjha 1y agoI use standard algorithms all the time. Sometimes I have to come up with new ones. And that's not just when I'm working on performance-sensitive roles. Also, btw, I did eventually learn how to use Docker. I did actually vaguely know how it worked for a while but I didn't want Linux VM anywhere near my computer, but eventually I capitulated provided I didn't have Linux VM running all the time.
- janalsncm 1y agoA weaker version of your argument that might be more popular here involves math requirements. I had to take calculus and while I think it’s good at teaching problem solving, that’s probably the best thing I can say about it. Statistics, which was not required, would also check that box and is far more applicable on a regular basis. Yes calculus is involved in machine learning research that some PhDs will do, but heck, so is statistics.
- deleted 1y ago[deleted]
- wizzwizz4 1y agoExcept statistics requires calculus – otherwise it makes no sense, and you can't determine when the tools in the toolbox are applicable.
- crinkly 1y agoStrangely I see a lot of people hitting things with the brute force hammer quite regularly rather than using calculus. Some of our financial modelling stuff was CPU bound and took seconds because someone couldn’t be bothered or didn’t know how to work out an integral.
- RugnirViking 1y agoCalculus is used in basically everything hard or worthwhile. Its like the most useful part of maths to learn, along with linear algebra, for doing real world stuff. I've personally used it in my career for machine learning, non ml image processing, robot control, other kinds of control, animations, movement in games, statistics, physics, financial modelling, and more.
- bregma 1y agoComputer programming is to computer science as working a cash register is to economics.
- Der_Einzige 1y agoIf this is true than I hope that AI kills both computer programming and computer science as fast as possible. It’s not. If you’re a computer scientist who’s not coding, you are a bad computer scientist. “Those who cannot do, teach”
- deepburner 1y agoI dont know where that “Those who cannot do, teach” bullshit came from but it's absolute nonsense someone made up to dunk on teachers. It doesnt even make sense in your post because "programming" isn't "doing computer science". You're not better than a teacher in any notion because you asked chatgpt to generate some slop.
- rindalir 1y agoProfessor Felleisen, is that you?
- mafuy 1y agoSorry but that's just nonsense. "Programming" has for a long time been a low level job. In Germany, it is taught as an apprentice level program. CS in practical universities will instead, or rather on top, teach program architecture and planning. At theory focussed universities, you'll learn how an LLM actually works, how to design high or low level protocols, how to design a new algorithm suited to your environment, etc. The programming required for these can be done for personal recreation, be outsourced, or replaced with an existing library as desired.
- evantbyrne 1y agoPeople love to make these weirdly diminutive comments about programmers, precisely because programmers are crushing it. Meanwhile most of the economy has been diverted to attempting to replicate the abilities of even just an entry-level drone who copy/pastes off Medium articles, which itself is heralded as a miracle.
- skywhopper 1y agoComputer science is not the same thing as software development.