And I agree with almost every opinion you may have on this; but the thing is, it is just harder to come by a decent opportunity without it. Nice that you try to set your foot in the door here politically, but the cost for that is being on a crappier job.
I was an idealist too, 20 years ago...
I’m not going to call it hard quote yet, but I’ve been a bit shocked at just how much the university process is designed specifically for 17/18 years olds prepped and groomed the past few years for it. There seems to be little at all in the way go good education options for working adults and what little is directly targeted at that demographic, even from otherwise legitimate schools, feels extremely (I’d be happy to expand in this but I want to keep this comment short-ish)
Imagine what this guy looks like from the hiring managers side. Would you take the risk of hiring him for a software engineering position? Do you have any confirmation whatsoever that he can even write a single line of code? Yeah sure, he founded a startup, but you literally have no idea who wrote the actual code there or even if anything functional was even produced. Maybe the reason the startup failed is because the software was incompetent.
I get it. We all hate reversing a binary tree, and most likely we'll never have to do it in day to day work. But here's the thing, almost anyone who can reverse a binary tree on a whiteboard has basic competence at writing code. The reverse isn't necessarily true. There are lots of great coders who aren't good at whiteboard interviews. But hiring managers don't care about false negatives. Bad hires cost a truly staggering amount of money, overlooked candidates cost virtually nothing.
When I hear or read about people who are failing to get SWE jobs, it's usually because they do not have any demonstrable credibility of basic competence at writing code. To get a seat at the table you must bring at least one of the following: a pedigree, a network of credible people who can vouch for you, your name publicly attached to a successful project or the ability to crush whiteboard interviews. A manager that hires somebody who meets none of those criteria is taking an enormous risk.
I wouldn't go that far. While the work involved may not be that hard, a CS degree may be inaccessible or a poor fit for many people.
That said, I agree with the premise that it is hard to evaluate self-taught individuals. It is far too easy to have gaps in knowledge if one doesn't approach their studies systematically, it is difficult for the learner to assess their own learning without a realistic baseline to compare against, and too many businesses oversell the quality of their programs (e.g. bootcamps).
If the degree on the resume puts those people into the "pass" bucket automatically, that is the wrong approach.
To be honest, I can see requiring a degree for certain positions. But given the work most software devs are doing, I'd be happy to consider 4 years work experience. The number of times I need someone to invert a binary tree so far is 0, but the number of times I've needed someone to build some basic CRUD functionality following a UX spec is too numerous to mention. I don't need my degree to do the latter; I don't need to hire a degreed person to do it either. And even things that a degree might help with (recognizing an O(n^2) implementation when an O(n) is available) are lessons you can learn pragmatically by doing (i.e., having senior engineers point out issues in code review).
That probably wouldn't fly as well today or going forward as the field matures. Get your CS degree.
If someone has a legit work history in our industry, but no CS degree, and their resume otherwise makes them look like a good fit, you should interview them. At worst they are terrible and you waste a few hours of your time.
Pro - You might get hired by xwdv.
Con - You might get hired by xwdv.
So far the cons seem to outweigh the pro's for me.
A CS degree isn’t hard to get in the grand scheme of things, and not getting one is basically the equivalent of burning your boat and going all in to whatever alternative path you choose, because if you fail you’ll just end up unemployable later on.