I got a Bachelor, Master, and PhD in Computer Science, with a total of 11 years of education. It's the biggest waste of time of my entire life.<p>As I progress in my professional career I'm more convinced that pretty much everything in tech is on-the-job learning, and universities are little more than a social club. Nowadays you can learn everything you do at university and far more online and for free.<p>Universities (elite ones particularly) still give you credentials that have some value getting a job. However I wonder for how long that will still be true. Learning by doing and building a portfolio sounds like a better way of getting in the industry today than getting a multi-year degree with nothing or little to show for it.<p>Nowadays I wouldn't recommend anyone to get a tech degree in a university unless it's a world class one. And even then, I would focus on networking and finding like-minded people rather than necessarily getting good grades.
Computer science is a weird degree because it was meant to produce computer scientists. Theory of computability, graph theory, discrete math, formal logic, etc. But the world just doesn't need as many computer scientists as it needs people who know JavaScript.<p>Over time, many CS degrees shifted toward producing software engineers, and it sounds like this person's experience was closer to that. But the problem is that as an engineering discipline, software engineering is just profoundly underwhelming. There are basically no universally-respected design best practices, no governing bodies, no calculations of safety limits, no nothing. You grab left-pad from npm and run with that. Or, now, Codex does that for you.<p>So CS is weird because it's what you're supposed to get if you want a job at Google, but it's also not very useful. It's a very inefficient and expensive way of testing if you're "serious enough", can complete assignments on time, etc.
My day job is relatively boring JavaScript components and SPA's, but even there I find things I learned in my Computer Science degree valuable. "Hey, this looks like a finite state machine.." "This could be a simple domain specific language, good thing I had to write compilers in college and I can easily make a simple lexer/parser.." "This other thing is easy to parse if I ingest it into a lexer-resembling state machine.." And I would think the value of understanding algorithmic complexity and so many other fundamental things is obvious, no matter what someone is doing. And you won't waste your time accidentally trying to solve the Halting problem, among other things. Obviously there's nothing a university can teach you that you couldn't theoretically learn somewhere else but I'm seriously not convinced that a Computer Science degree is useless or a poor signal even for someone doing run of the mill React apps.
I was self taught and went back for a bachelor's after ten years working and then a masters after another four. There was a lot of wasted time in the BS (ie the trade-school-for-programmers classes) but the pure CS has been valuable to me quite regularly as a working developer.<p>Not every day, maybe not even every month, but I've faced plenty of problems I was well equipped to solve directly because of the formal study of them.
> I had to write compilers in college and I can easily make a simple lexer/parser.<p>I'm jealous. My university did not make that a core class of our degree. While in hindsight, I wish they did. I did have the luxury of a lot of low-level exposure, which has served to be quite useful at times (digital logic, assembly, etc.).
> But the problem is that as an engineering discipline, software engineering is just profoundly underwhelming. There are basically no universally-respected design best practices, no governing bodies, no calculations of safety limits, no nothing.<p>I somewhat disagree: there exist a lot of deep questions in software engineering, and there do exist some (very, very partial) answers.<p>The problem rather is that most people don't want to listen to and/or do deep literature research about the few answers that we <i>do</i> have, but rather want to aggressively push their private political agenda about how they want software to be built. With some literature research, it is often not too hard to disprove the "foundations" on which this political agenda is built. But this does not make you admired because you showed serious knowledge about software engineering, but rather near to an outlaw.<p>TLDR: the problem is not software engineering, the problem is organizational politics.
I won't try and argue the merits of Bachelor's and Masters. But if you honestly believe that you can pick up the same experience from PhD on the job, then is seems like you learned little from that PhD that you were supposed to and your supervisor failed you. PhD is not about learning content. It's about picking up research independence, confidence, and a strong capacity for critique. It is supposed to be suffering of a special kind, an experience in grinding and radical unproductivity when the problem really is that hard. Maybe you did get that but you aren't using it in your job; if so, then maybe you didn't need that PhD, but that's hardly the fault of the degree.
I think the biggest thing is most software "engineering" jobs are in no way engineering and are closer to a trade like being a mechanic or (imo) a doctor.<p>It's fairly rote - you need good judgement and to stay current in latest state of the art but generally speaking you're not researching (nor should you be) cutting edge algorithms or anything.<p>Add a new button, add some parameters to this analytics call, implement dark mode. These are the things that everyone is doing at their six-figure tech jobs.
It doesn't have to be like that.<p>This is choose your own adventure. You can be writing any kind of code you want, including stuff at the frontier.
and yet, the collective industry has still continued to expand for decades because people overwhelmingly cannot consistently do these tasks without their code collapsing on itself.<p>imagine if people regularly had tires fall off on their way home from the mechanic. or regularly having to get bones rebroken to set them correctly.<p>I can agree that much of the work is not true "engineering" but most of what I've seen produced over the years is closer to fraud than anything else.
You already have a lot of replies here and the comment is provably divisive. I'll toss in that while only you can judge whether it was truly a waste of time, a lot of that factors in <i>how</i> you used it. If it benefited you in interview material understanding, increased the probability that you could extend your network with someone, or other somewhat intangible signals then I'd say it wasn't as much of a waste as you say.<p>I have no degree and that is arguably worse and there are exceedingly fewer people with my background in technology on the coast. On the other hand, I spent a lot of my career writing applications that solved Software Operations problems. I spent a lot of time working in small teams rather than huge ones, I often did not have product or project support. I used to loathe that chapter of my career because of how toilsome it was in my memory. Lately I've come to appreciate it a lot more because I am much more self reliant and I often have the skills and familiarity to run much larger teams as a tenured engineer.<p>Long way of saying, the value of an experience or thing is often not immediately realized or appreciated.
Same experience. "Is school worth it" is divisive because it speaks to people's investment and value system. I too have a full and successful career in software without <i>any</i> degree largely for the same reason you mentioned: I learned the hard way and continued to show up.<p>Earned experience is objectively valuable. The problem is people don't want to be fools so "working hard" looks suspect when you see plenty of people do well because of network and social aspects.<p>When it comes to school, there's obvious value in the social/status/network aspects and debatable value in the actual content, but what I find most discussion worthy is how one's background shapes mentality toward "putting in the work" when there's no explicit reward for said work.<p>The simple difference is that school promises you results. One at least leaves with a paper that's supposed to be worth something. Doing <i>anything</i> else, provides no such guarantees.
Regarding "university isn't worth it, you can just learn by doing, none of this theory matters in practice", I've usually heard this from people who weren't able to pass the math courses (or even the programming courses), so it seemed more like sour grapes.<p>I have to admit though that they were right, in that they were indeed able to make a career at some multinational companies even after barely getting through a bachelor's with bad grades and with many more years needed than the normal time.<p>Real mass-scale software jobs are indeed significantly easier than the math courses in CS university programs. At least in a cognitive capability sense. There can still be many other kinds of challenges that are more about social skills which are not much needed for passing college courses but are quite important in jobs.
What a hook of a first line!<p>BTW, does anyone recommend doing a masters degree in bio-stats or not? Or something similar, bio-tech-like?
> Nowadays I wouldn't recommend anyone to get a tech degree in a university unless it's a world class one.<p>I'm in Europe where education is mostly free or inexpensive so it may be different in the US, but it sounds like terrible advice. In most fields, it will be virtually impossible to get a job without a degree, and even in tech it'll be hard. I work in a big tech company, and as far as I can tell, most SWEs do have a degree of some sort. I'm sure there are exceptions, but they are rare.
Antony Trollope says in 'Eustace Diamonds' that he feels in a lot of professions, experience creates more competent people than mere learning. (Rough paraphrase). In other words, you don't get to be truly competent unless you are earning that experience!
Note to everybody: this is a very exotic position and the vast majority of people I've met during career would strongly disagree with that. I don't have a Master or PhD, but my Bachelor degree was absolutely worth my time and was essential to enable me to have a successful career where I earned millions and retired early.
It is true that most software development jobs don't need much CS knowledge to perform. The majority of developers simply kludge together common libraries, frameworks, and software packages without needing to understand all that much about the internals.<p>It is also true that the software development jobs that don't need much CS knowledge to perform are the ones most vulnerable to being automated away by LLMs. If a kludge is sufficient, AI can kludge it cheaper than a human.
I have always recommended people get an MBA and self teach the development skills. There is a value to higher education:<p>Bachelors - You can communicate in writing.<p>Masters - You can plan and prepare business documents for planning and proposals<p>Doctors - You can do research<p>To me uneducated people can still have skills, but their utility into management becomes questionable even though education certainly does not make anybody a better manager. I do however question the future value of education if most young people have never read a book or cannot write a simple essay without AI.<p>For me the ability to communicate is the most important skill, because programming is a form of writing. So, if I were hiring for a software team manager I would have absolutely no reservations about putting them on camera and watching them hand write a 5 page essay within an hour. It’s one of those don’t waste my time and I won’t waste yours kind of things.
As my mother explained it to me, the point of the degree is not necessarily the knowledge you acquire, but to demonstrate to employers the fact that you are capable of completing a project that is multi-year and requires dealing with annoying bureaucratic obstacles.
Unfortunately a degree required if you don't want your resume immediately filtered.
I got a math degree with mostly pure math courses, and did a few CS and data analytics courses on the side. I used to feel a little behind that I didn't do a proper CS degree, but I found math to be a lot more fun and less time consuming.<p>After a few years in the workplace I don't feel behind at all, and I'm grateful that I have more potential back up plans and won't be just another unemployed CS major if there's a real contraction in the job market. I've been considering pivoting to being an actuary, or possibly teaching high school.
> I got a Bachelor, Master, and PhD in Computer Science, with a total of 11 years of education. It's the biggest waste of time of my entire life.<p>I disagree: I have fond memories of my university time. I also do really like programming. The problem rather is that there are hardly any job where what you learned and loved at the university (and why you studied - in this case - computer science) is of much use.
<i>Keep in mind that your degree was a huge part why one was selected for the job.</i><p>I honestly ask myself quite often why employers are so fond of university degrees for programming jobs. If they put much less relevance on this criterion, employers would have a much bigger group of applicants among which they can select - and this means employers could use this to level down salaries.
I never regretted getting a BS and MS in CS. It was a lot of fun learning, landed me my first industry job with basically no extra effort, and it ultimately allowed me to be an instructor at a university after a couple decades at work.<p>But I did get my degree when it was 5x cheaper than today (inflation-adjusted). There is that.<p>One thing about on-the-job learning is that employers are increasingly reluctant to pay for that. So non-degrees will still have to get on their indy learning.<p>And, yes, networking is king more than ever now.
What kind of work do you do now that you feel is entirely unhelped by your time in higher education?
I agree, the future looks very dim for tech degree grads. I would not even recommend a degree from an elite school. Grads'll be in debt for a long time.
To be fair, you do research at school.
> Nowadays I wouldn't recommend anyone to get a tech degree in a university unless it's a world class one. And even then, I would focus on networking and finding like-minded people rather than necessarily getting good grades.<p>I am a teenager and I am currently going to college. I am not going into a world class one college but its a decent college.<p>I think that you might be right in terms of pretty much everything in tech is on-the-job learning, but the rationale behind going to a bachelor's college is that as someone else has said here: you all are treated equally and companies come to select you. So you are competing in a much smaller pool and are able to stand out much more.<p>Also, I get 4 years to do what I do best so much so that I did it these 2 years as well, I just can't resist myself because I have tried to do so I just love tinkering with computers and this also puts me up to an comparatively decent advantage.<p>Sure, there might be some rote-learning and some things which are a bit theoretical but they might also be practical. I was learning on my own a month ago IIRC about what the 7 layers are and I am probably going to read some on my own time before going to college the book of "networking a top down approach"<p>This has given me 4 years to do the things that I like, the job market right now is a bit not too good but reading books about history of the dot com bubble etc. I feel decently confident that its very cyclical. Just reading the book of "how the internet happened" made me realize all the similarities with things happening right now. Every 20 years, a new generation happens and we forget the old things which have happened (IMO).<p>That being said, I am unsure about 11 years of the free time at the same time but honestly, it really just depends upon your subjective nature and personal preference and for someone genuinely interested within research... it could be an interesting path. I am open to every opportunity that comes in front of me and wish to try my best :-D<p>> Nowadays I wouldn't recommend anyone to get a tech degree in a university unless it's a world class one. And even then, I would focus on networking and finding like-minded people rather than necessarily getting good grades.<p>Networking is a multiplier. You realize the ability of multiplier because you have the base-line. Were you able to form the base-line because of the time spent within those 11 years, partially yes, and other comes from your natural interests and curiosity judging from the fact that you are on Hackernews for the sake of it itself.<p>Would a person with the strongest of networks but failing to have the baselines of (technical & managerial?) tastes/intellect and just this feeling of learning be able to do something with networking. Absolutely, people are using these top grade colleges as just a way to network and so there is a lot of froth/hype in the market. Theo Baker (a 22 year old journalist who lived in stanford) has written a book about it ("How to rule the world")<p>I still think that its interesting that they get to become the startup owner at such an young age and there are benefits but also tradeoffs and realizing both of these is important and making the decision wisely is important. I do envy them in some sense as well but also not so, its nuanced! and I wish them all success hopefully :-D (and I think one should keep the options open), If an opportunity comes for me to open an startup say even within college and upon proper careful thinking I get the answer to be a serious yes, I will try to follow that as well :-D<p>but my main point is that after a particular point in life: the multiplier feels much more important than baseline but before that, the baseline is just as important if not more, so I will try to get good grades hopefully if interests align with the subjects which I think they do.<p>From my understanding of the world, the world is nuanced and complicated so there isn't one size fits all so its best to keep your options around and do what you feel rationally so but rationality can also only go so far so it also depends a bit on the emotions involved and many other factors but we can't also think infinitely in recursion for everything so we need to have good instincts and ability to think deeply when needed and basically being adaptable to the situation thus me suggesting that there might not be one size fits all.<p>These are the talks that I have had with myself over the conflict that I myself had over going to college or not and some reasons behind going to do so, so I do realize my bias in that and I am not entirely an unbiased source but perhaps a truthful source. It so much depends on the situation of the person to decide if they should go to college or not and all factors involved imo.<p>Have a nice day if someone has read it till here and take care! :-D
> Nowadays I wouldn't recommend anyone to get a tech degree in a university unless it's a world class one<p>This is horrible advice. Hiring is a zero sum game, and a college education is treated as a table stakes requirement which won't change.<p>When trying to get hired, you are competing against other candidates, and if a tiebreaker is needed, the less risky option will always be hired.<p>Additionally, where you get your degree doesn't matter too much, but getting one is critical. It can be a BSCS from WGU for all that matters, but getting one is important. Also, bootcamps are useless now. Don't waste money on them.<p>The only exceptions remain veterans from the armed services <i>assuming</i> they were trained in the right MOS.