Social capital matters more than just about anyone who has a degree can understand and tell you or mentor you about, because the majority of them have always had it, and they tend not even to interact with people without it.
It is a signal about your wealth (and your families ability to deploy it for you), from which follows your stability, your intelligence, your taste, your willingness to play the game, and your belonging in the club. These matter more than EVER in the business world - I've never seen a time when tech is less about engineering than right now.
A degree simplifies the cognitive resources needed to gain trust. Normally, gaining trust requires a lot of time. As a freelancer, it took me two years of very low-income work and repeatedly taking small jobs before I got my first real contract, simply because I didn't have a good degree.
But if you have a degree, you can skip that starting line quickly. I've done over 400 small jobs—work for college students, professors, and business owners. 80% of those were won with the lowest bid. And because I took those low-bid jobs, I eventually landed fairly well-paying contracts (about 35 of them) where I even drafted the contracts myself.
Moreover, while they say you can learn without a degree, it's much harder.
Why? Because a degree provides guidance through a curriculum. When you're just starting out, you don't even know what you need to learn. You have to ask around and figure it out piece by piece. A degree, even if you don't study properly, at least gives you the keywords to search for. Without a degree, you don't even know what it is you're trying to do.
I don't have a computer science degree, nor did I attend a good university. That's why it took an enormous amount of time to generate income from computer-related work. And even then, the vast majority of jobs paid below minimum wage, if anything at all.
Alarming doesn’t begin to describe it. This is an existential crises for our industry. The situation for entry level has been dire for some time. Those of us who have decades experience have nothing to worry about; the companies who replace juniors with AI are doomed. It takes years to gain proficiency with art of software engineering. Who will replace us? Or what am I missing?
Currently the only method to stop students from cheating is to run strictly controlled paper-based exams, and with smart glasses with built in LLMs, this is becoming more and more problematic. Anything not run under strict conditions is entirely untrustworthy.
Management is slow to catch-up or react and the lecturers running these degree courses are under significant pressure to increase the results. I'm aware that many are doing class-wide weighted adjustments just to keep the numbers of passing students up. The quality of students graduating with CS degrees is declining rapidly.
[1] https://www.dailycal.org/news/campus/academics/failing-grade...
The article essentially says that, for a junior to be hired, they should demonstrate the same experience as a senior: deploy real system that solve real problems, know how systems behave in production, etc. That is precisely the skillset that someone builds up in a professional environment, i.e. after being hired.
In my view and experience (20+ years in the field) the value of junior colleagues is not in what they already know how to do, but in the freshness of their ideas, and the ability to learn the skills required to bring those ideas to fruition.
So, I agree that the hiring pipeline is broken, but for a different reason: companies stopped looking at juniors as a long-term investment.
I can think of a few reasons for that. In any case, that mindset is to blame, not the "kids" and their education.
Would it be 80s technology everywhere but widely deployed? Or would things have advanced further - better compilers, more ergonomic languages, better platforms etc? I don't know. But I suspect we'd still have needed people studying computer science to advance the state of the art.
Now looking forward 30-40 years from now, will everything still run on 2020s technologies?
Companies will still hire new grads, but are being much more careful because the quality of new grads is just so low now. Even "experienced" engineers are having a hard time getting hired because they're honestly not that good but got in when the market just needed bodies. I think hiring is broken for people with more experience due to this.
I do feel bad that people went down a route believing there will be a career down the road for them. I do believe what would help is some sort of licensing. It would add an extra barrier, but there really needs to be a gate to prove some sort of competence because there are now way too many people in the industry who just aren't that good tbh. It's ruining the whole thing for people who do have drive and passion that now can't get in the door due to the skittishness of companies.
Computer science isn't for everyone, and probably the people going into it for the money should look elsewhere. You should study computer science if you find it intrinsically interesting. If you fall into that category, it will teach you how to think about problems rigorously, how to find solutions and break them down into steps that can be stated unambiguously, and how to reason about the performance and real-world tradeoffs of complex systems. Those are skills that will never be outdated, even if programming becomes fully automated.
Additionally, getting into the best school possible is critical. The top 20 CS, CE, EE, ECE, and EECS undergrad programs in the US graduate around 15-20k students a years. That is a large enough pool to recruit from for NCGs. For diversity reasons, employers will often also recruit from Veteran programs and some respected regional colleges (eg. SJSU, CalPoly, or SCU in the Bay or UTD, UTA, or UTSA in Austin) and then call it a day, so where you go truly does matter.
I know plenty of programmers with degrees other than computer science. Geologists, biochemists, theoretical physicists, etc. Most hard sciences involve some degree of programming at this point (usually Python). And with AI, system thinking is becoming much more relevant than deep algorithmic knowledge or math skills. Nice if you can do that stuff manually but not that essential anymore.
Blacksmithing as a profession isn't dead either, it is still possible with the right approach. Just don't expect knights to come knocking asking you to make them the next Excalibur.
also right now nothing is higher signal than a new grad who built a product with actual paying users
Why? You don’t narrow your scope at the beginning!
While I don’t agree with “it’s not what you know, it’s who you know” - both are critical and just having one without the other isn’t going to set you up for success - I think we don’t do enough to tell young people about item 2.
The interesting areas involve some sort of domain expertise- medical, physics, civil, electrical, chemical engineering, etc. or even pure math in the case of data science.
CS lacks all of those, including a strong math background.
Sure, for plain “boring” software development, CS is perfectly fine.
But in terms of one’s personal education and career trajectory, why not aim higher?