It is a signal, not the signal.
It is a signal, not the signal.
It really comes down to the individual. Those who are good with CS degrees would likely be good without them. The majority of those who picked CS as a degree because “it pays well” are truly awful. Only a small handful end up enjoying and understand how to write code and make good software.
While I'm an interested self learner, I significantly benefit from structured learning. I don't think I would have had the breadth of depth of knowledge if I didn't do a CS degree since I didn't think I would have done such a variety of focused projects and homework. I would "shop" for good teachers and wait until they taught to take a course. I would have lots of questions in class. At the end of many of my semesters, I genuinely felt like Neo's "I know kung fu" - knowledge given on a platter. I didn't think I would have left covering undergrad subjects if I didn't, well, feel the need to earn my keep and at least aim for higher level studies and get assistantships for initial financial independence.
That being said, this was all before the YouTube era. Although, YouTube is a double-edged library of distractions and amazing educational material.
Again, purely anecdotal, but it is 20 years of anecdotal experience across a very broad range of industries.
Nowadays I hope the CS curriculum explicitly disregards whatever the standard industry code factory meta is, since from the outside it appears to be soulless and dehumanizing. Who wants to take 101: Hit Approve all day on your 20 claude terminals?
Obviously put all 20 in tmux sessions and have a monitor agent do the approvals.
I think philosophy is an excellent match for development, certainly now with AI.
It’s always great to find a diamond in the rough who has been passed over by other companies for lack of degree and is looking for an opportunity to shine.
On the whole, a CS degree is directionally correlated with being more likely to have a good understanding of the fundamentals, algorithms, and other important context that helps more as the problems get hard. These things can all be learned by someone without a CS degree, but in my experience being open to interviewing non-traditional applicants it’s more common for the self-taught applicants to be more trial and error type devs who got to this point by experimenting and seeing what works.
I always have to give the blanket disclaimer that a CS degree does not guarantee a great dev and a lack of CS degree does not mean the dev is not good. However, I honestly can’t say that a CS degree is not correlated with better developers on the whole. I choose to interview non-traditional applicants who don’t have CS degrees, but to be entirely honest I can’t fault companies who get a lot of applicants who start prioritizing those with degrees.
I've worked with an absolute leetcode beast and had a masters in CS. He insisted we use Redis for a project with a lot of relational data. We ended up building a mini relational database on top of redis. Whatever you're imagining about the dev experience, it was worse. He was a lead/senior engineer at the company. Turns out he never bothered to properly learn SQL because he didn't like it. C'est la vie, ggs I guess.
One of the best engineers I worked with was a biochemist who fell in love with programming through chance.
Most of the people I admired in the industry are self taught and passionate about the craft; a lot of them are also immigrants who didn't have access to prestigeus unis. Some went to uni but admit they've been programming since before that.
You can't really learn to be passionate about the craft and to enjoy learning at any uni.
I think the article takes a more nuanced view than you suggest. And the existence of counterexamples to a "for the most part" claim are not counterexamples at all.
Personally I agree that a CS degree isn't needed for most software jobs because frameworks and libraries hide most of the gnarly CS stuff. But those are the software jobs least likely to survive adoption of LLM-based software development.