News for hackers. Stuff that matters.
Re:Career advice for young system programmers by screye on Friday August 18, 2023 @11:46AM (#37177280)
This is Survivorship bias in full swing. The only self-taught developers who would get an interview at a top systems lab, would be ones who have far surpassed the achievements of the average MIT/Stanford grad.

The kind of person who'd shine as a self-taught developer, would be on their way to be distinguished engineer if they'd just done a CS degree to go with it. A degree does not kill the energy and initiative that makes for a top-tier self-taught engineer. But, it grounds your foundations, opens doors and lends you much needed prestige. All of these together will put a person on course for exceeding any 'merely self-taught' or 'merely MIT educated' engineer.

Your best self-taught Computer Music hires would likely have been even better if they'd done CS. And if they're good enough to be practically guaranteed 6-figure salaries, then the debt of university education is hardly a risk at all. Hell, they could pay off their debt just from internship-salaries and signing bonuses.

Re:Career advice for young system programmers by tester756 on Friday August 18, 2023 @11:52AM (#37177407)
>The kind of person who'd shine as a self-taught developer, would be on their way to be distinguished engineer if they'd just done a CS degree to go with it.

what makes you think so?

how would those basics of basics of computers and stuff would help you to become distinguished engineer?

self-taught people with huge curiosity are well aware of this stuff because this material is available on the internet freely

Re:Career advice for young system programmers by bonzini on Friday August 18, 2023 @01:27PM (#37179074)
Because you have to relearn all the foundational stuff. Algorithmic complexity, invariants or fundamentals of distributed systems may be useless as a junior developer, but once you proceed to more complex stuff it pays off that you have already learnt them, maybe even applied them for an internship.

A self taught person doesn't even know that these things exist unless they also have an excellent mentor at the beginning of their career in the industry. The material may be freely available but it's not stuff that they will consider unless they also have a penchant for boring theory.

Re:Career advice for young system programmers by tester756 on Friday August 18, 2023 @01:38PM (#37179271)
Algorithmic complexity? distributed systems?

Please, I thought somebody will mention some arcane, rare topics that self-taught person may have no opportunity to hear about, but definitely not those really popular topics.

People talk about those 2 all the time, especially in context of interview for big_tech

>A self taught person doesn't even know that these things exist unless they also have an excellent mentor at the beginning of their career in the industry.

You don't need to learn those at your year #0, year #1 or whatever, it heavily depends. But if you worked for e.g 5 years and didnt need those then still nothing prevents you from learning.

Anyway, almost all graduates barely have any proficiency in multithreading, let alone distributed systems.

>The material may be freely available but it's not stuff that they will consider unless they also have a penchant for boring theory.

I thought we were talking about people with drive, with passion, people who are potential candidates for being distinguished engineer, not average person.

Re:Career advice for young system programmers by the_only_law on Friday August 18, 2023 @02:11PM (#37179784)
> Please, I thought somebody will mention some arcane, rare topics that self-taught person may have no opportunity to hear about, but definitely not those really popular topics.

Agreed. These are it something many “self taught” developers I know have never heard of. For fucks sale with all the complaining about things like leetcode and other interview styles. do you seriously believe self taught people have never heard of these things?

Unfortunately, it seems in recent years “self taught” became synonymous with “some guy who decided to do a bootcamp because he heard there was money in learning to code”.

Re:Career advice for young system programmers by bonzini on Friday August 18, 2023 @05:45PM (#37182573)
It is more typical of a self taught developer to complain about fizzbuzz, rather than talk about leetcode.

These are both extremes but still, the average self taught developer is not the one who interviews for big tech exactly because he has never heard about invariants.

Re:Career advice for young system programmers by saltcured on Friday August 18, 2023 @03:19PM (#37180729)
Those who value the CS degree and the schooling process most are often those who value the whole idea of "schools of thought". The eager student is a blank slate to be influenced by mentors. These influences pass on a culture of knowledge, an ontology of problems and solutions and ways of thinking about them. Also absorbed are implicit boundaries around what is important vs mundane, what is generalist and what are recognized specialties. The school of though is a community where these outcomes are somewhat stereotyped. The students will react similarly to similar questions or debates, not too disparate from their mentors.

Those who value the auto-didact most are often those who value the individual pursuit of curiosity and idiosyncrasy. The eager student hunts down or pillages knowledge wherever they can find it. In the extreme, the auto-didact is self-mentored. Individual interests and unguided exploration of existing literature builds a personalized ontology of problems and solutions and ways of thinking. The distinction of important vs mundate, as well as specialization, is more idiosyncratic. The auto-didact may belong to a school of thought with one member.

The underlying experience is when these groups meet is almost culture shock. It could lead to great collaboration or to a meltdown, depending on the temperaments of the individuals and their willingness to embrace or interact with the "other"...

Re:Career advice for young system programmers by peterfirefly on Friday August 18, 2023 @03:55PM (#37181225)
> A self taught person doesn't even know that these things exist unless they also have an excellent mentor at the beginning of their career in the industry.

I was perfectly aware of them as a 15-year-old teenager decades ago.

Think of your own situation -- did you learn what you know about JITs by taking formal classes?

Re:Career advice for young system programmers by bonzini on Friday August 18, 2023 @05:42PM (#37182535)
And how often do you hear people complaining that "interviewers only care about useless stuff like complexity" and "why wouldn't you be able to look up complexities if you really need them" (which only shows that you don't understand why complexity matters)?

The reality is that these are arcane topics for 99% of the programmers out there and even more of the self taught ones.

> did you learn what you know about JITs by taking formal classes?

No, but JITs or emulators are not fundamental topics.

One example I can give is this: solid knowledge of data structures, together with some theoretical 20-years-old knowledge of query plans and normalization, meant I could understand a database's EXPLAIN output and quickly learn materialized subqueries and denormalization the first time I needed them. Even obsolete knowledge has a core that is still valid, and experience is also about being able to recall it and apply it. If you have done some CS at school, you will be faster at this because you have more dormant concepts that you can recall.

Re:Career advice for young system programmers by the_only_law on Friday August 18, 2023 @05:52PM (#37182652)
> And how often do you hear people complaining that "interviewers only care about useless stuff like complexity" and "why wouldn't you be able to look up complexities if you really need them" (which only shows that you don't understand why complexity matters)?

Now how the fuck do you complain about something if you’ve never even heard of and “don’t know exists”. No one who’s never heard of algorithmic complexity or invariants aren’t going to complain about them because, perhaps to your amazement, they simply have no idea these things exist. But maybe that concept is a bit too complex for you.

Re:Career advice for young system programmers by bonzini on Friday August 18, 2023 @07:29PM (#37183523)
I don't know about you, but I have read both of those assertions way too many times, typically from people that have failed a job interview or from "influencers" ranting about how big O questions are gatekeeping

Stack Exchange, Quora, Reddit are all full of pages like https://softwareengineering.stackexchange.com/questions/2083... (sometimes with a mocking tone).

Re:Career advice for young system programmers by the_only_law on Friday August 18, 2023 @07:32PM (#37183553)
Yes, I agree. I’ve seen these types of assertions quite a bit myself. However, for someone to write that question, they have to have known that Big-O exists. If they didn’t even know it existed, you wouldn’t see questions like this. Are you being disingenuous, or can you simply not read?

The initial assertion was:

> A self taught person doesn't even know that these things exist

Not “a self taught person doesn’t understand these things”, not “a self taught person doesn’t appreciate the usefulness or application of these things”, or whatever else you’re trying to argue.

Re:Career advice for young system programmers by bonzini on Saturday August 19, 2023 @01:45AM (#37185897)
Ok, just add "usually" after "a self taught person".
Re:Career advice for young system programmers by mcguire on Friday August 18, 2023 @06:03PM (#37182751)
The are many, many gigabytes of good information available on the Internet. The problem is that they're mixed in with many, many terabytes of not-so-good information.

Finding out which is which, when left as an exercise to the reader, is not terribly efficient.

Re:Career advice for young system programmers by sph on Saturday August 19, 2023 @04:15AM (#37186666)
So the real skill to learn is how to efficiently seek information and do research online.

If you know how to do that, with some effort you can learn everything you want (in CS). I know I've done iy.

Re:Career advice for young system programmers by hnfong on Friday August 18, 2023 @02:37PM (#37180150)
Is there something from a CS program that can't be learned from studying half a dozen books (or maybe a couple more)?

Because that's what "self-taught" means, and unless you can identify the things specifically that can't be practically learned by a determined person without going through a 4 year CS program, you're basically making things up to retrofit to your bias.

I don't know why so many people seem to believe that foundational CS knowledge can only be gained through doing a CS degree. The Internet was built by "computer people", and computer related resources were among the first things to be highly available and easily found on the Internet.

Maybe what you claim are true in a "literal" sense but I doubt it's very useful. Basically what you're saying is that assuming a person's that did not have a CS degree has a CS skill level X, then if they spent 4 more years studying CS they would presumably have a skill level > X. TBH at the highest levels I'm not sure whether this even holds, since once you get to a certain point, the depth of your knowledge and skill has to be complemented with some breadth as well. Often interdisciplinary knowledge brings new insights.

Re:Career advice for young system programmers by peterfirefly on Friday August 18, 2023 @03:58PM (#37181266)
> Is there something from a CS program that can't be learned from studying half a dozen books (or maybe a couple more)?

Yes ;) -- you can't teach "Stanford", "MIT", or "Harvard".

Re:Career advice for young system programmers by screye on Friday August 18, 2023 @04:53PM (#37181963)
Isn't this sort of true though ?

Not just the prestige, but the really strong networks you build. It helps you be 'I know a guy who knows a guy' distance from VCs, experts and hiring managers at top labs.

A lot of my close friends went here, and they're able to catch up over phone with people who leave my linkedin requests on 'pending', and this is with folks who've achieved exactly the same as me at the same age.

It is a force multiplier beyond comprehension.

Re:Career advice for young system programmers by ipaddr on Friday August 18, 2023 @05:33PM (#37182438)
If your purpose is creating a strong network, becoming a CEO and leveraging relationships later in life you don't go to those schools for computer science. What a waste of an opportunity. Go into business and meet important people. Or go into the arts so you have time to join social clubs.

Going to those places to get a VC to email you more easily is better achieved by getting into an yc or some other incubator.

Re:Career advice for young system programmers by busterarm on Saturday August 19, 2023 @09:51AM (#37188794)
Also, given what I've seen in this business, you'll have much better luck if you're a rich kid from NOVA who went to TJ.
Re:Career advice for young system programmers by wonnage on Friday August 18, 2023 @04:09PM (#37181410)
If we’re using “determined person” as the bar, then someone who commits 4-6 years paying tuition to get a BA or MS CS certainly seems more determined than a self taught person who spent maybe 3 months at a boot camp?

Not saying that it’s fair, college costs too much in the US, and employers overindex on good schools. but I don’t get the argument that a self taught person should be treated equally hiring-wise

Re:Career advice for young system programmers by hnfong on Friday August 18, 2023 @04:23PM (#37181579)
The original context was "advice for young programmers", and although I don't think getting a CS degree is top of the priority list, it's at least a important and good thing to have.

But this:

> I don’t get the argument that a self taught person should be treated equally hiring-wise

.. this is a totally different question.

If two candidates performed at the same level in interviews/tests/whatever, and one of them has a CS degree while the other does not, IMHO the proper interpretation is that, assuming that their performance scores in the hiring process reflects candidates' actual abilities, is that the candidate without the CS degree is a better learner (of CS related topics).

Put it another way, if a person who only spent a couple months in boot camp performs on a similar level as a CS graduate in interviews, it really means the former learns at a terrifying speed, and has huge potential. It also helps that many people like you would prefer to pass on the candidate without the formal qualifications, so there's even less competition for the candidate even though they at least have the same level of technical ability.

This line of reasoning depends heavily on whether your interview process can actually gauge the technical ability of the candidates. If it can't, _then_ assuming the one with a CS degree has better skills is more reasonable. But at that point, you might want to fix your hiring processes instead of arguing this point.

Re:Career advice for young system programmers by wonnage on Friday August 18, 2023 @04:25PM (#37181618)
I don’t think you can conclude anything other than the candidate passed your interview.
Re:Career advice for young system programmers by screye on Friday August 18, 2023 @04:37PM (#37181765)
I'm glad you asked me. I happen to have self-learned undergrad level CS myself before moving on to do an ML focused masters. There were a bunch of challenges I had self-learning that were made so much easier during my masters.

For one, self-learning just damn hard. Staying motivated to put in self-guided 8+hours everyday without natural peers, external structure and good external evaluation is just hard. You can sustain it for spurts, like 1 summer or in my case 1 whole year, but it erodes your mental health.

It is never clear when a topic is especially important. I can't go to office hours to clarify certain doubts. I can't take on especially daunting tasks that I could with a group of peers together. Worst is that env setups themselves lead to you getting stuck doing accessory work, instead of focusing on the main topic you do want to learn. Honestly, finding top quality coursework (MIT OCW is gold), assignments and notes was trivial. It was everything else that was really hard.

My self-learning tendencies didn't magically go away when I started my masters. I still leveraged all of them and I still do. But, it did solve a lot of my the challenges that came with being self-guided.

Re:Career advice for young system programmers by tomjakubowski on Friday August 18, 2023 @05:14PM (#37182205)
> For one, self-learning just damn hard. Staying motivated to put in self-guided 8+hours everyday without natural peers, external structure and good external evaluation is just hard. You can sustain it for spurts, like 1 summer or in my case 1 whole year, but it erodes your mental health.

Learning for learning's sake, or because you want to get a job as a dev: that I can see being a grind, with motivation being difficult to find.

But if you have a idea for a product, and you want to make it concrete - the motivation is easy. I think most of the self-taught developers I know (myself included) started that way: they wanted to make something, and so they learned how to make software on the fly, while building their thing.

Re:Career advice for young system programmers by mcguire on Friday August 18, 2023 @05:56PM (#37182685)
That is how you get depth with no breadth.
Re:Career advice for young system programmers by edgyquant on Friday August 18, 2023 @06:21PM (#37182912)
Breadth is learned overtime in subsequent projects.
Re:Career advice for young system programmers by ipaddr on Friday August 18, 2023 @05:20PM (#37182300)
Instead of going to the office for a question you could email/chat online. I would find it harder to study with others for 8 hours a day and less focused.
Re:Career advice for young system programmers by mcguire on Friday August 18, 2023 @05:45PM (#37182563)
Well, let's see.

UT Austin's degree requirements are https://www.cs.utexas.edu/sites/default/files/images/BS%20Ch... and course descriptions are https://catalog.utexas.edu/general-information/coursesatoz/c...

That's about 16 required classes including Linear Alg., Statistics, A Child's First Programming Class, Data Structures, Discrete Math, Algorithms, Architecture, Operating Systems, plus another 8 of your own favorite upper division electives (CS 340 and above).#,##

Then there's the question of what you mean by "studying". Just reading the books isn't really going to work. That's 50 semester hours---weekly class wall-clock time---and the ol' rule of thumb was 3 hours studying per hour of class time###, for 15 weeks or 3000 hours. But you might be able to do it in less.

So, it's doable, certainly.

A formal degree program has two advantages:

1. Having somebody to advise you on what's important and what's not. Not all of the chapters of SICP are equally meaningful, and having someone who already knows this shit and can say, "pay attention to this chapter, it's important," or "skip those exercises, they're not worth it," or even "forget that section, it's outdated; here's a paper" is quite useful.

2. Feedback. Even if you have the answers to the exercises, having someone to look at your crappy program or broken proof#### and tell you "you are missing this, try that instead" will speed up understanding considerably.

And that's aside from answering questions and making a second pass through some material when you're sitting there staring like you've been hit with a captive bolt gun. It's significantly more efficient to get to understanding than working on it yourself.

And then there's the requirements for things that you would not, yourself, choose: Spanish? !@$&%){ Calculus? Those damn writing requirements? Ethics and leadership? You touch on this yourself: many of the self-taught people I've seen have been depth heavy with little breadth.

Which brings me to another point. Those computer people who built the internet typically already had degrees in physics, math, EE, or something else. And, they also tend to have that depth to breadth problem. (Then there was the afternoon I spent explaining to a former Aerospace Engineer (and quite good programmer) why string = string + character was so slow. And why it wasn't slow on that other implementation.)

# This has actually been dumbed down since I went through in 1986-1990; it used to also include a full class on formal logic, automata theory, and basic electronics. So, hmph. But then I didn't take physics, chemistry, or biology, so yay.

## Stay away from CS 340. It sounds like fun, but it seems to be taught by Warren Hunt...

### Hahahahaha, wheeze... Ah, weekend nights in the computer lab...

#### They're the same thing, remember? :-)*

Re:Career advice for young system programmers by CyberDildonics on Friday August 18, 2023 @03:12PM (#37180637)
The other way to look at it is that this company does not know how to hire people and can barely tell the difference between great self taught programmers and terrible graduates from a school with a good name.
Re:Career advice for young system programmers by vvanders on Friday August 18, 2023 @03:26PM (#37180820)
Degrees are useful but there's a whole class of things they skip over as well. When I was going to college the state college didn't teach C on a regular basis and we usually had a number of people at my community college since the course was offered there. When I was looking to transfer from community college into state not a single college offered C++(it was during peak Java) and so I didn't attend.

Even then I regularly find that so-called "fundamentals" are missing, the number of times I've had to explain page tables, how the kernel shares memory and other core details is surprising. Everyone drives Big-O notation left/right/center but can't tell what a page fault is or why algorithms with higher complexity wipe the floor with better "ideal" algorithms under actual operating constraints. I've found that engineers who have drive or innate curiosity will poke in those areas but getting a degree doesn't automatically confer that knowledge(or guarantee that it sticks).

Also, if you're getting into systems programming I care about 0% about "prestige", it's a domain that is even more binary(things work or they blow up spectacularly[1]) than some other programming domains. I care that someone understands the fundamentals, can apply reasoning and drive a hypothesis with data more than what college they did/didn't attend.

[1] https://www.usenix.org/system/files/1311_05-08_mickens.pdf

Re:Career advice for young system programmers by madsbuch on Friday August 18, 2023 @03:50PM (#37181162)
> When I was looking to transfer from community college into state not a single college offered C++(it was during peak Java) and so I didn't attend.

Why is C / C++ education so important?

Personally, What helped my during my studies were type theory, PL, complexity theory, etc. Had I gone into systems development, then my compiler courses would probably be of most value (which are standard curriculum in any CS degree).

Re:Career advice for young system programmers by vvanders on Friday August 18, 2023 @04:07PM (#37181387)
If you don't understand C, C++, or one could argue Rust these days you're sitting at an abstraction level much higher than where the "systems" domain tends to be. ABI, cache misses, page tables and memory mapping, restrict, all of that stuff is at an arm's length in a managed language.

One of the best courses I had was taught by Bruce Dawson, it was an entry-level "image processing" course but really it was a tour-de-force on cache hierarchies, modern computer architecture and how to build efficient real-world algorithms and not things that just scored well on the complexity scale. The first assignment was a simple bit-blit, he grabbed a random assignment from the class and in about ~30 minutes walked us through a multi-order-of-magnitude performance improvement with just small adjustments that made the program more cache-aware and also showed how you empirically test for performance improvements instead of doing it in a theoretical manner.

Back when I was in college(which was admittedly a long while back now) those sorts of things just weren't taught and that class was by-and-far an outlier from traditional coursework. My experience has been that even though there's a lot of talk about "fundamentals" in a CS degree it's touched at such a shallow layer that practical application of any of those fundamentals are missing and it doesn't "stick".

I've met all of a handful of people who can tell me what restrict does(much less how to use it), what a cache-aware data structure is or why we care about value types. ABI is just a 3-letter word to a large majority of people because they just don't have to deal with it(but are then oblivious when it blows up, I.E the number of times I've seen STL in what are supposed to be ABI-safe boundaries). That stuff is all foundational at the systems level. I've had much better luck with breaking people of their assumptions(I.E. Big-O) and working up from first-principals of how computer architecture works and structuring systems in such a way that take advantage of that instead of a theoretical ideal.

Re:Career advice for young system programmers by madsbuch on Friday August 18, 2023 @04:23PM (#37181584)
> If you don't understand C, C++, or one could argue Rust these days you're sitting at an abstraction level much higher than where the "systems" domain tends to be. ABI, cache misses, page tables and memory mapping, restrict, all of that stuff is at an arm's length in a managed language.

To me, this is a bit muddy:

Yes, when doing systems level development, you need to understand the system you are targeting. Not all CPUs have a concept of cache misses or page tables. At my uni this was taught through computer architecture and operating systems classes.

These courses incidentally also included C, though they didn't need to. The reason that did was because they were precedents for the compiler course and prepared the students to understand compilers (I TAed in said courses). Later courses at my uni would be algorithms engineering that taught students how to make, well, cache aware implementations.

Understanding how a given hardware architecture works on how to most efficiently utilise it has nothing to do with C / C++. Many courses at most (European?) universities will happily teach you everything you need to know, but C / C++ are probably not even mentioned in the teaching material.

Actually, I just checked: https://kursuskatalog.au.dk/en/course/117933/Computer-Archit... and no: No mentions of C or C++

So I do understand you would be disappointed if you went for courses on C / C++.

Re:Career advice for young system programmers by vvanders on Friday August 18, 2023 @04:47PM (#37181894)
There are always exceptions, programming for the PS3 was... interesting given the SPUs didn't have any caches, although one could argue they were closer to DSPs with the manual DMA required. I'm not really interested in arguing semantics but more that those languages tend to be what you see modern, battle-tested OSes developed in.

My point is if you're not using C/C++/Rust what are you using that exposes those concepts? Not saying you can't do those things in other languages(I've shipped cache-aware datastructures at scale in Java using ByteBuffers + flatbuffers) however you're having to reach through abstractions and/or other limitations. Say nothing that on most OSes that C tends to be the OS ABI as well.

Re:Career advice for young system programmers by madsbuch on Saturday August 19, 2023 @05:04AM (#37186912)
> My point is if you're not using C/C++/Rust what are you using that exposes those concepts?

Assembly? Why bother with a language and a compiler, when you can instruct your CPU directly.

Obviously you also learn to compile C to assembly and inspect the code.

Re:Career advice for young system programmers by mcguire on Friday August 18, 2023 @05:53PM (#37182662)
How do those European (?) universities deal with the difference between theory and practice? I have a hard time imagining how you would understand how to "most efficiently utilize" a given architecture without writing code and trying things out.
Re:Career advice for young system programmers by abhinav-6 on Friday August 18, 2023 @10:22PM (#37184848)
Every cs uni course in India includes both c and c++. Heck they even teaches basic of programming with c++ in high schools.
Re:Career advice for young system programmers by madsbuch on Saturday August 19, 2023 @05:00AM (#37186888)
Assembly? Why bother with a language and a compiler, when you can instruct your CPU directly.
Re:Career advice for young system programmers by ecshafer on Friday August 18, 2023 @05:13PM (#37182191)
And those colleges were right. You shouldn’t have a class that teaches C, C++, or Java. You Should have classes that teach embedded programming, operating systems, object oriented programming, and algorithms.
Re:Career advice for young system programmers by JohnnyDoe737 on Saturday August 19, 2023 @01:53AM (#37185938)
The choice of programming language isn’t that important insomuch as Computer Science is not about coding.

Surely using Python to code OS course assignments does not make much sense. But that choice comes naturally with the course in question. Courses about a specific language are set out to become dated from the start.

Re:Career advice for young system programmers by zlg_codes on Friday August 18, 2023 @04:03PM (#37181326)
Hey, find me a college with a good CS program that isn't just half-assed IT is disguise, that's accessible to a low class white guy, and I'll ace that Bachelor's program.

There are many others like me who would and could do it, but lack the financial or social resources to put it into action. If I lived in Europe I could have my education paid for.

Re:Career advice for young system programmers by screye on Friday August 18, 2023 @04:44PM (#37181851)
Your local flagship state-school likely has a fairly rigorous CS program. This is especially true if you engage with the professor and ask for challenging work & deeper clarifications in office hours.

4 years instate tuition is around $15k * 4 = $60k total. That's not cheap, but not that expensive either.

If you are smart enough to end up an excellent software engineer, then you should be able to get decent enough SATs and Grades to get into your local flagship state school.

Re:Career advice for young system programmers by zlg_codes on Friday August 18, 2023 @05:09PM (#37182137)
I will not be taking out a loan to go to school. I have seen too many people fall into the pit of debt, and with the current political climate with the older generation completely comfortable screwing over younger generations with false promises of success, I prefer to be financially solvent when I graduate. If my country cannot do this, then it is a failure compared to Europe.

So, that means either financial aid, or a scholarship. Are there any scholarships for low income white guys? My guess is no, because we are assumed to be on top of society already. I'd be considered an older student too since I'm in my late 30s.

Based on my own cursory search, there are no real opportunities for me to reach higher education without putting myself into potentially life-ending debt. I'm even in a state that's renowned for CS (Washington) and I have not found anything.

Re:Career advice for young system programmers by zlg_codes on Friday August 18, 2023 @05:41PM (#37182526)
In the interest of trying to prove myself wrong, I looked around a little harder, and preferring government sources to any old page. https://wsac.wa.gov/sfa-overview

A lot of programs seem to be targeting mostly high school students or minorities.

It's great that those groups are getting help, but I cannot help feeling left out. Is my desire for education or a better life less valuable or less important because of my identity?

Of the programs listed on that page, I have a chance at maybe two: the State Work Study, or the College Grant. The College Grant seems to look at a lot of variables, so the level of coverage may not be as "free college" as advertised, though I do make less than 200% of federal poverty at present.

The others which advertised helping disadvantaged people seemed more focused on helping women, minorities, and foster children. Fair, of course, but still doesn't seem like they'd be interested in helping someone like me.

It seems like a wonderful environment for non-white, non-male students to get a leg up. Lots of stuff to help them.

I wonder if there's a male outreach program to get enrollment and graduate rates up for men, since they've been falling for at least a decade...

Re:Career advice for young system programmers by throwguy7 on Friday August 18, 2023 @11:28PM (#37185202)
WGU: $6k/semester. Online. If you already know everything in a CS curriculum and have the practical knowledge (e.g. databases, ds&a, calc/discrete, front-end, back-end, OSes, etc.) you can finish in one semester by testing out.

Low income? Go into sales or work in an oil field or go be a lineman for a year. Save $100k, go to school after.

If you live in Washington state, I know you know linemen are in demand.

If you’re able-bodied: this is a viable path. Risky? Yes, but that’s life.

Re:Career advice for young system programmers by zlg_codes on Saturday August 19, 2023 @02:01AM (#37185988)
Sadly, I am lacking in higher math so I would need some refresher courses on algebra, geometry, trig, and calc to catch up. I suspect I learned parts of those things "intuitively" so I would prefer to fill those holes in. I've learned a little about sin() and cos() with 2D graphics but a deeper understanding of math I think would propel me further. Is that something WGU could do?

I don't know what a lineman is, but I'm definitely not up to hard labor; recovering from tendonitis I got from a recent agricultural job.

Is electrical easy enough on the body? I've daydreamed about a dual CS/EE but I imagine the grit required for that path is far beyond the resources available to me.

Thanks for the recommendation, though, I'll look at it.

Re:Career advice for young system programmers by filoleg on Sunday August 20, 2023 @12:30PM (#37200630)
> Are there any scholarships for low income white guys?

You seem to be really focused on this specific "low income white guys" thing, but you are missing forest for the trees.

I cannot speak for every single state in the US, so I will just give one example. Georgia (since I attended college there as a "low class white guy", so i am very familiar with this specific one) has HOPE+Zell Miller scholarships. The former covers 90% of in-state tuition at any public GA college, the latter covers 100%. For the first one, you need a 3.0 GPA, for the other you need 3.3. Both are available to every state resident, including "low class white guys". This allowed me to graduate pretty much debt-free from a great school.

I presume a lot of states have some similar scholarships/programs. And that's on top of federal financial aid+other forms of financial assistance.

Re:Career advice for young system programmers by zlg_codes on Monday August 21, 2023 @04:31PM (#37214966)
> You seem to be really focused on this specific "low income white guys" thing, but you are missing forest for the trees.

I realize it comes across that way, but I'm keenly aware that most assistance for college, in the States at least, is highly based on unchangeable traits of each student. It's worth considering that when you are a student who will be unfavored due to those traits. What forest do you think I'm missing? Do you think my sex and ethnicity won't be taken into consideration? It is for other students, why would I be any different? Is it because it's somewhat uncomfortable to talk about a crack in the system where people are assumed to have favor and resources to gain an edge, but in reality don't? If the bias was as strong as is perceived, we wouldn't be having this conversation because I'd have graduated in my 20s.

Everyone deserves an education. We should be more like Europe in actually investing in our people.