Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

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.

Adbot
ADBOT LOVES YOU

Itaipava
Jun 24, 2007
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?

Achmed Jones
Oct 16, 2004



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_

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

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!

yes i'm old, yes i yell at clouds, and _you can't stop me_

Graph theory is a class worth taking, sure.

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
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

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

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

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
point out document evidently gathered from gigantic pile of miserable failure, use as evidence that dod software dev is not miserable failure

DELETE CASCADE
Oct 25, 2017

i haven't washed my penis since i jerked it to a phtotograph of george w. bush in 2003

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

you get like 40% yield of actual learning from a college class. you can get that up to like 3 nines if you do intensive tutoring but that doesnt happen in stem land. in liberal arts land it happens sometimes but depends upon vicious exploitation of tutors

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

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

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

the rest of my class? they also graduated

Condolences at delaying your income.

DELETE CASCADE
Oct 25, 2017

i haven't washed my penis since i jerked it to a phtotograph of george w. bush in 2003
yeah rip. i graduated in 2008 tho so

Artemis J Brassnuts
Jan 2, 2009
I regret😢 to inform📢 I am the most sexually🍆 vanilla 🍦straight 📏 dude😰 on the planet🌎
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.

thotsky
Jun 7, 2005

hot to trot
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.

StumblyWumbly
Sep 12, 2007

Batmanticore!
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.

Pollyanna
Mar 5, 2005

Milk's on them.


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 :shrug:

IMO modern society has completely hosed up by trying to make college the new high school.

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost

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

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


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.

LLSix
Jan 20, 2010

The real power behind countless overlords

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.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
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.

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
the differentiation basically becomes "knows how to touch computer" vs "got a phd in exactly this, or at least a masters". undergrad? eh

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


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.

gbut
Mar 28, 2008

😤I put the UN🇺🇳 in 🎊FUN🎉


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.

downout
Jul 6, 2009

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.

StumblyWumbly
Sep 12, 2007

Batmanticore!
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.

hendersa
Sep 17, 2006

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.

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.
One of the best software engineers that I've ever worked with over the years has a degree in Theatre. When he was selecting a major, he said that he liked computers but wanted to pay for an education in something that he couldn't teach himself. We've moved in different directions towards different specialization areas, but he's still the guy that I compare notes with for the really weird compiler/behavior stuff.

prom candy
Dec 16, 2005

Only I may dance
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.

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

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.
My "when am I going to use this?" moment came when I had a production incident, and I had to turn a list of tens of thousands of text strings into a prefix tree and render the trie as a regular expression dozens of kilobytes long

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

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.

Achmed Jones
Oct 16, 2004



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

Achmed Jones
Oct 16, 2004



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.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


Yeah. Pointers are hard if you don't have a mental model of memory, but if you do they're pretty easy.

Xarn
Jun 26, 2015
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.

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.
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,

reversefungi
Nov 27, 2003

Master of the high hat!
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.

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

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.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

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'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.

I am incredibly jealous of the Harvard undergrads who get James Mickens as their intro CS prof.

Not sure if he did the MOOC

hendersa
Sep 17, 2006

leper khan posted:

I am incredibly jealous of the Harvard undergrads who get James Mickens as their intro CS prof.

Not sure if he did the MOOC
This seems like a good place to mention reading The Night Watch.

mmkay
Oct 21, 2010

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.

Xarn
Jun 26, 2015

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.

Xarn
Jun 26, 2015
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.

Adbot
ADBOT LOVES YOU

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

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.

Mind you, referential semantics are hard on their own, but the syntax is eh.

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.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply