|
ultrafilter posted:Yeah, it's pretty much this. Colleges want to do quality control but outside the very top end they're so dependent on tuition revenue that they're really challenged to kick anyone out or even discourage them from attending. That's why you have to screen your new graduates so hard. My uni oversubscribed the freshman class and made it difficult enough in years 1 and 2 to cull a significant number of people. Not the most ethical way to operate, planning to kick people out, but effective for managing financials.
|
# ? Apr 19, 2023 17:49 |
|
|
# ? May 28, 2024 22:24 |
|
Hiring a guy that knows Java and JavaScript to work on an old C codebase sounds like an exciting trial by fire. I imagine there were no other more suitable candidates?
|
# ? Apr 19, 2023 17:59 |
|
John DiFool posted:Huge "old man yelling at clouds" vibe coming here, but: what the gently caress are they teaching in cs undergrad courses if graduates don't understand pointers coming out of it??? because every dumbass poopbutt that wants college to be trade school bellyaches ad nauseum that they don't NEED to learn that, they need a college class about fuckin' source control, there's no need to actually understand the underlying concepts that run the computer. now quick, let's race to the bottom! yes i'm old, yes i yell at clouds, and _you can't stop me_
|
# ? Apr 19, 2023 18:13 |
|
Achmed Jones posted:because every dumbass poopbutt that wants college to be trade school bellyaches ad nauseum that they don't NEED to learn that, they need a college class about fuckin' source control, there's no need to actually understand the underlying concepts that run the computer. now quick, let's race to the bottom! Graph theory is a class worth taking, sure.
|
# ? Apr 19, 2023 18:29 |
|
compare to the military, which gives serious effort and ridiculously intensive tutoring with yelling and pushups for the purpose of quality control for people, often gets results, and incidentally basically anything they and their contractors touch with respect to computers is a terrible miserable failure
|
# ? Apr 19, 2023 18:35 |
|
bob dobbs is dead posted:compare to the military, which gives serious effort and ridiculously intensive tutoring with yelling and pushups for the purpose of quality control for people, often gets results, and incidentally basically anything they and their contractors touch with respect to computers is a terrible miserable failure Not _everything_ is terrible. For example, this document is very good: https://media.defense.gov/2018/Oct/09/2002049591/-1/-1/0/DIB_DETECTING_AGILE_BS_2018.10.05.PDF
|
# ? Apr 19, 2023 18:43 |
|
point out document evidently gathered from gigantic pile of miserable failure, use as evidence that dod software dev is not miserable failure
|
# ? Apr 19, 2023 18:55 |
|
bob dobbs is dead posted:colleges give the implicature real hard that they are quality control for people but they cannot give you a single nine of any reasonable quality that wasnt there before. including the putative ability and willingness to do scut work for 4 years that some peeps talk about, to be honest i got a good undergrad education at a state university, but i was a deece enough student to go on to grad school the rest of my class? they also graduated
|
# ? Apr 20, 2023 04:11 |
|
DELETE CASCADE posted:i got a good undergrad education at a state university, but i was a deece enough student to go on to grad school Condolences at delaying your income.
|
# ? Apr 20, 2023 04:23 |
|
yeah rip. i graduated in 2008 tho so
|
# ? Apr 20, 2023 04:43 |
|
Is college really that dire? Part of my impostor syndrome comes from the fact that I don’t have a CS degree or barely any college but just bootstrapped my way with personal projects and books. I can obviously do the work but sometimes one of the big brains at work goes into, like, the assembly instructions in the debugger or something like that and I miss the random “I’ll never need this” bits of knowledge you pick up from classes.
|
# ? Apr 20, 2023 10:19 |
|
Most people don't remember poo poo from class. You learn how to learn. If you're already good at acquiring neccesary knowledge and solving problems you're good.
|
# ? Apr 20, 2023 11:56 |
|
In my experience at least, my first job was largely grunt work and it was years before I needed the more theoretical stuff I had learned in college. I had forgotten it by then, but I think having been exposed to it really helped. You can get that exposure in other ways while you're working your way up, if that's what you're interested in.
|
# ? Apr 20, 2023 13:53 |
|
I literally don’t have a CS degree or any official/formal education in CS, just an undergrad BSc. Everything I know I learned on my own. And apparently it is decent enough to keep my career alive for almost a decade IMO modern society has completely hosed up by trying to make college the new high school.
|
# ? Apr 20, 2023 16:33 |
|
thotsky posted:Most people don't remember poo poo from class. You learn how to learn. If you're already good at acquiring neccesary knowledge and solving problems you're good. i dont believe this (about the main thing being learning how to learn). i believe the bitter lesson applies to people too. that "how to learn" and "learn how to solve problems" only comes as a result and side effect of learning and remembering a whole pile of poo poo, as phase transition bob dobbs is dead fucked around with this message at 16:46 on Apr 20, 2023 |
# ? Apr 20, 2023 16:38 |
|
There are jobs that genuinely require a formal education in CS, but they're not all that common, and they aren't generally looking for fresh graduates from an undergraduate program. More generally I think that running a large project where no one has a background in CS is asking for trouble, but you don't need it for everyone. You do need leads who either have that education or are willing to listen to the people who do.
|
# ? Apr 20, 2023 16:42 |
|
I think the most useful skill you need as a senior developer that you won't learn as a junior is system design and architecture. That's not a skill college can teach effectively because real world software has hundreds or thousands of files and classes to manage, and school projects rarely have even double digits. There are things I learned in college most of my colleagues who didn't go to college don't know, but most of them they've been able to pick up quickly when they do need it. A lot of college grads don't know how to write efficient code or understand algorithmic complexity, but that's something you can learn on the job. For example, you don't really need to know off the top of your head that the sum of n + n-1 + n-2 ... 1 is n(n-1)/2 which is O(n^2), that's something you can look up. It's burned into my memory from years spent TAing algorithm design classes, but it's not really an essential skill; even if nested for loops like that are fairly common for(i = 0; i <n; ++i) { for(j=i; j<n; ++j) { //do something } } I don't regret the time I spent getting my master's but I don't look down on people who don't have one, or even any formal CS education. Anyone who can speak computer and is willing to put in the time to test exhaustively will do just fine.
|
# ? Apr 20, 2023 17:16 |
|
I absolutely remember and use stuff I learned from CS undergrad in my day-to-day touching mobile apps. Operating system stuff, language theory stuff, compiler stuff comes to mind immediately. That knowledge is absolutely freely available elsewhere, and doing four years of school just for the bits I've remembered a decade later would be hilariously inefficient. But you'll probably have to seek it out, it's not gonna sit down on your desk and announce itself as valuable information. Maybe it's helpful for degree-havers to downplay the utility of getting that degree, to counteract the general sense that it's extremely necessary. But multiplying it by zero seems disingenuous and might not make the point you're trying to make.
|
# ? Apr 20, 2023 17:24 |
|
the differentiation basically becomes "knows how to touch computer" vs "got a phd in exactly this, or at least a masters". undergrad? eh
|
# ? Apr 20, 2023 17:24 |
|
bob dobbs is dead posted:the differentiation basically becomes "knows how to touch computer" vs "got a phd in exactly this, or at least a masters". undergrad? eh It's not quite that. When you learn new facts, you're going to connect them to things you already know, and that's going to affect exactly how you interpret them. That's why it's important to have some people with a CS background, and why it's often important to have some people with a different education.
|
# ? Apr 20, 2023 17:42 |
|
I have no degree (though I'm currently half-way through getting a BSc in CS) and I've been in the "industry" for a almost 2 decades, one of them in the US. One of the shittiest managers I ever had started as an intern strait form high school, no degree obv., and climbed up to Director of Engineering while being know for saying he sucks as an IC and is generally completely uninterested in anything except as a money generating endeavor. Someone who has no concept of pointers, complexity, and balks at any and all theory, if you will. On the other hand, one of the most intellectually engaging colleagues I've ever had has a degree, but in psychology. And another one, perceived as "the best engineer here, pound for pound", has a high school diploma. The "degree'd" peeps are also all over the place. I've worked with complete dumdums who were just walking money bags for the school they attended, to people genuinely interested in the science behind it who went to pursue advanced degrees in CS. It is a land of contrasts, is all I'm saying.
|
# ? Apr 20, 2023 17:49 |
|
I see a lot of my dev proficiency in terms of knowing my toolbox and growing my toolbox. What is in the toolbox is how to use things like common coding tools (e.g. arrays, pointers), but it's also a lot of other things like concepts and terminology. In a lot of ways, the toolbox is really vocabulary, but it goes deeper than that, IMO. So school can teach you a lot of this, but many people can completely and successfully do this on their own without formal education. I could not. That is what college did for me; it gave me the experience to start to learn how to know how to grow my toolbox and solve dev problems. Fakedit to relevancy: i learned pointers proficiently in school, and i think that understanding has been quite valuable in quickly solving issues that other devs struggled with and didn't understand pointers. TLDR: Pointers are a very important concept to a lot of things as they are fundamental to C, and it heavily underpins a lot of most languages. And pointers are not that complicated, so understanding them is worth it.
|
# ? Apr 20, 2023 17:57 |
|
Pointers are so simple that once you understand them you immediately forget what was so complicated the first 20 times someone tried to explain it to you.
|
# ? Apr 20, 2023 18:49 |
|
gbut posted:On the other hand, one of the most intellectually engaging colleagues I've ever had has a degree, but in psychology. And another one, perceived as "the best engineer here, pound for pound", has a high school diploma.
|
# ? Apr 20, 2023 19:08 |
|
I don't know how to use pointers because I've never worked with a language that used them. If I needed to learn them I'm sure I could but I've spent most of my career programming Ruby and Typescript.
|
# ? Apr 20, 2023 19:30 |
|
pokeyman posted:I absolutely remember and use stuff I learned from CS undergrad in my day-to-day touching mobile apps. Operating system stuff, language theory stuff, compiler stuff comes to mind immediately.
|
# ? Apr 20, 2023 19:30 |
|
StumblyWumbly posted:Pointers are so simple that once you understand them you immediately forget what was so complicated the first 20 times someone tried to explain it to you. Learning pointers was one of those times when I could practically feel my brain rearranging itself.
|
# ? Apr 20, 2023 19:52 |
|
pointers never seemed weird or unexpected or counterintuitive to me, so i dont know if that means i just learned them early (which is true) or i never actually learned them at all
|
# ? Apr 20, 2023 20:21 |
|
like, it's _called_ a pointer! it points! it's a memory address! actually it might also be because around hte same time i was doing the stack smashing poo poo that was new and exciting at the time, so maybe the thing people don't have is thinking about memory as an actual addressable space. i bet once youre thinking that way the pointing-at-that-space-from-within-the-space is pretty straightforward mystery solved i guess. maybe.
|
# ? Apr 20, 2023 20:23 |
|
Yeah. Pointers are hard if you don't have a mental model of memory, but if you do they're pretty easy.
|
# ? Apr 20, 2023 20:27 |
|
The advantage of getting university education (not degree) is that someone else gets to pick a lot of what you learn, giving you breadth you likely would not get if your learning was entirely self-directed. Me during my university years seeing Alloy: this is neat, but I don't think I will ever see this in prod. Me drinking with nvidia guy working on atomics on GPUs: wait, so you were actually using Alloy for modelling the memory model and impl?? The advantage of the degree is that it gives you some basic chance on getting past an HR drone filtering your resume.
|
# ? Apr 20, 2023 20:39 |
|
Pointers in C are one of those concepts where when people say "pointers are hard", it's never about pointers. It's about where to do the allocation, managing data lifecycles so you remember to clean up and then do it in the right place, mutability of input variables, working with the lack of array bounds checks, troubleshooting unexplained segmentation faults, type-sized pointer arithmetic, virtual vs. physical memory addressing, heap vs. stack semantics,
|
# ? Apr 20, 2023 21:05 |
|
I have a degree in music, but I went through all of Harvard's free CS50 course before starting a web dev bootcamp and I feel like that's made a colossal difference in my capabilities as a dev. Going through that program has kept me from feeling "insufficient" for not having a CS degree. You need to learn a few algorithms and data structures, big o notation, understand pointers and demonstrate you understand them through some non-trivial projects, and you also learn just enough about a variety of other topics that you can start to have a sense of what knowledge you might be lacking. I'd highly recommend going through that course if you feel any kind of impostor syndrome from not having a CS degree. It's honestly a fun course, they do a great job of making it accessible and entertaining, and the production values are sky high, especially compared to a lot of other MOOCs out there.
|
# ? Apr 20, 2023 21:39 |
|
Vulture Culture posted:Pointers in C are one of those concepts where when people say "pointers are hard", it's never about pointers. It's about where to do the allocation, managing data lifecycles so you remember to clean up and then do it in the right place, mutability of input variables, working with the lack of array bounds checks, troubleshooting unexplained segmentation faults, type-sized pointer arithmetic, virtual vs. physical memory addressing, heap vs. stack semantics, These are all things that are hard, but also pointers in themselves are hard. The extra layer of indirection, and understanding when to use * and &, take most people some work to grasp.
|
# ? Apr 20, 2023 21:58 |
|
reversefungi posted:I have a degree in music, but I went through all of Harvard's free CS50 course before starting a web dev bootcamp and I feel like that's made a colossal difference in my capabilities as a dev. Going through that program has kept me from feeling "insufficient" for not having a CS degree. You need to learn a few algorithms and data structures, big o notation, understand pointers and demonstrate you understand them through some non-trivial projects, and you also learn just enough about a variety of other topics that you can start to have a sense of what knowledge you might be lacking. I am incredibly jealous of the Harvard undergrads who get James Mickens as their intro CS prof. Not sure if he did the MOOC
|
# ? Apr 20, 2023 22:15 |
|
leper khan posted:I am incredibly jealous of the Harvard undergrads who get James Mickens as their intro CS prof.
|
# ? Apr 20, 2023 22:24 |
|
TooMuchAbstraction posted:These are all things that are hard, but also pointers in themselves are hard. The extra layer of indirection, and understanding when to use * and &, take most people some work to grasp. Yeah, I have a sneaking suspicion that * meaning both dereference and pointer type brings just enough confusion to trip some people up.
|
# ? Apr 20, 2023 22:25 |
|
TooMuchAbstraction posted:These are all things that are hard, but also pointers in themselves are hard. The extra layer of indirection, and understanding when to use * and &, take most people some work to grasp. Are they though? After I stopped trying to use pointers by cargo culting syntax and decided to actually figure out what they are, the basic syntax was easy enough. Mind you, referential semantics are hard on their own, but the syntax is eh.
|
# ? Apr 20, 2023 23:41 |
|
Although given how hard it was to get students to read code they wrote, instead of reading what they want the code to do, maybe the "stop cargo culting syntax and think about what you write" step is the hard one.
|
# ? Apr 20, 2023 23:42 |
|
|
# ? May 28, 2024 22:24 |
|
Xarn posted:Are they though? After I stopped trying to use pointers by cargo culting syntax and decided to actually figure out what they are, the basic syntax was easy enough. It's not the syntax that's hard, it's understanding what's going on under the covers -- like you said, the referential semantics. The syntax is just what forces you to interact with those semantics. I expect most programmers, when first learning pointers, do at least a little "uhhhh I think I'm supposed to use * here, oh wait the compiler didn't like that, better change it to &" without really understanding what's going on.
|
# ? Apr 21, 2023 00:29 |