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.
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.
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.
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.
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.
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.
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.
> Nowadays I wouldn't recommend anyone to get a tech degree in a university unless it's a world class one.
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.
I have always recommended people get an MBA and self teach the development skills. There is a value to higher education:
Bachelors - You can communicate in writing.
Masters - You can plan and prepare business documents for planning and proposals
Doctors - You can do research
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.
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.
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!
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.
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.
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. Keep in mind that your degree was a huge part why one was selected for the job.
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.
Unfortunately a degree required if you don't want your resume immediately filtered.
What kind of work do you do now that you feel is entirely unhelped by your time in higher education?
> Nowadays I wouldn't recommend anyone to get a tech degree in a university unless it's a world class one
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.
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.
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.
The only exceptions remain veterans from the armed services assuming they were trained in the right MOS.
To be fair, you do research at school.
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.
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.
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.