3 ms·
How 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
by thrown-0825 1y ago
How 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.
- jrh3 1y agoDitto. I avoided Docker as long as possible and look forward to the day it is replaced.
- thunky 1y ago> I didn't want Linux VM anywhere near my computer This is like taking auto mechanic classes and refusing to touch a car because of the grease.
- nilamo 1y agoWhy are you against running a vm? And a superior OS in the vm, to boot? Your comment gives spooky vibes. Like, I'd expect you to avoid pattern matching, because "nested ifs work fine".
- lelanthran 1y agoIME it is far far easier to teach a CS graduate how to use some software than to teach a user basic CS principles. Besides, at the rate of change we see in this industry, focusing on producing users instead of developers will make half the stuff outdated by the time the student graduates. I mean, okay, lets teach Jira. Then the industry switches to assure develops. That's the general problem with vocational training: it ages much faster than academic stuff.
- thrown-0825 1y agoWe have obviously had different experiences, but I would much rather have a high level conversation on an abstract academic topic like reinforcement learning, set theory and how it applies to sql, merkle trees, cpu architectures etc that a junior dev will be adjacent to but not necessarily need to interact with vs something like AWS IAM roles or the various gotcha's and foot guns in CSS. I agree that vocational knowledge decays faster, which is why I would prefer stricter training and certification in those areas vs something like building a compiler from scratch in the your final year of undergrad based on a textbook written by the professor 10 years ago.
- mafuy 1y agoYou're simply wrong about CS. CS is a science. You are not looking for scientists, you are looking for apprentices. Don't hire an architect to paint your wall. Don't hire scientists to be code monkies. Universities are not the right place to look at. Except if you instead just want smart people, yea, they tend to aggregate at unis. There, you can hire an athlete to paint your wall, if that's what you need.
- thrown-0825 1y agoStop kidding yourself, most CS grads are about as much of a scientist as your car mechanic.
- mafuy 1y agoA majority, yes. Though I know enough of them that proceeded with a PhD to say that it's far from universal.
- lelanthran 1y ago> How 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 That's called vocational training and isn't usually taught as part of academic curricula. If you want non-academic graduates you've got your pick. Maybe having a technical addendum to academic curricula that makes student work at the end of the studies a criteria for graduation might help. That's how it is done for doctors, lawyers and accountants after all. The difference is that they graduate but can't practice until they have completed training.
- throwup238 1y agoIt’s not vocational training, it’s the equivalent to the lab portions of physical science classes. We don’t call pipetting vocational training for biologists or titration vocational for chemists, even though both will be doing a lot of that in professional and research careers.
- lelanthran 1y ago> It’s not vocational training, it’s the equivalent to the lab portions of physical science classes. We don’t call pipetting vocational training for biologists or titration vocational for chemists, even though both will be doing a lot of that in professional and research careers. You're on the right path: learning how to use a specific tool produced by a specific $Corp is not vocational training, it's end-user training. Learning pipetting and titration is very different from learning $MegaCorps software tool that will be replaced with something else in a few years. Source: Me! I did undergrad in multiple different subjects, including chemistry, physics and biology. Like I said, if you are looking for end-users, you don't have to search very hard. Universities should not be focused on training more end-users. It's fine if there's a half-credit or no-credit course somewhere on "How to use $PRODUCT". A better option would be, like I said, industrial practice after graduation, before getting a license to practice, but that's way too professional for a field that seriously and unironically came up with SpaghettiCodeAsAFramework.
- layer8 1y agoIf they learned how binary search works in university, they shouldn’t have difficulty to grasp what git bisect does. So that seems like a bad example.
- 63stack 1y agoBinary search can be explained in about 90 seconds, you don't need a university course on it either.