These aren't college majors.
Reading the article, the coursework the author was enrolled in seems pretty... light.
A serious computer science/software engineering degree is almost always worth it for someone who wishes to program professionally. But a major in "Web development" doesn't sound serious at all.
Learn the fundamentals. The stack will change 5 times by the time you retire.
I've worked with a lot of software engineers who would do a lot better for themselves if they understood the basics of how a computer works (eg: what's a program counter.) There is definitely a rift of "engineers" whose discipline amounts to gut feeling and whatever code works at the time. This is ok for ephemeral software but isn't for complex projects.
Getting an education has value. Getting a good education is valuable. Getting the right education pays dividends.
Finally, learning how to think critically and solve problems is where it's at. (IMHO)
1. something which counts programs, for example "find . -executable | wc -l"
2. misnomer for the instruction pointer, which is a CPU register that points at instructions
A major in web dev doesn't sound serious? Why is that so? Do you have an idea of how big web dev is? There's a lot to learn in web dev and it definitely deserves to be a major!
I have absolutely no doubt there's someone charging tuition for these.
Web Dev is learning how to service cars from X manufacturer. Totally different than cars from manufacturer Y! CS/Engineering is learning how to design cars.
Web dev is big. It deserves to be a major. You could probably have a 4 year specialization on various parts of web development. And you'd be highly capable and inextricably linked to those specializations for years after graduation. And it all may change from your Freshman courses to your Senior courses. Op was suggesting that situation is limiting. You could substitute "robotics" for web dev, by the way, and it would still stand.
Coming from a small midwest school as you did, your coursework should (and does) skew towards current-skill-based specializations which help you get a job. This is OK and desirable for the vast majority of students.
By the way, I also went to a small midwest school, and its "Computer Science" program was cancelled in favor of more skill-based specializations (right after I graduated with a CS degree). I don't blame them, but I stuck to my theory / fundamentals because that's what I wanted.
I’ve worked in Web Development for 15 years, and just got my degree in Software Engineering this year. Before I completed I remember hearing someone decry that they didn’t understand how software engineering was a degree. At the time I didn’t really either and was worried that my degree would some how be worth less than a CS degree.
Part of it is gate keeping. People are worried about their relevance or the value of their accomplishment. Part of it is a sense of what university study is supposed to be.
> These aren't college majors.
They most certainly are, at many colleges and universities, not just Purdue. Game Dev in particular is a very popular CS sub field that a lot of schools have recently developed complete programs in. Data viz & web UX majors are super common.
Each one of these has it’s own set of fundamentals. There are some overlapping fundamentals among them, parts that are common to Computer Science in general. And there are fundamentals in each of these that a general CS degree doesn’t cover.
But if you’re going to do science and push the state of the art, you must have a foundation in computer science, that means a degree from a fully accredited university.
Even if you are, the industry advances, and that kind of grunt work has a history of being automated away. Web masters probably felt the same way.
You don’t need to get another degree, but since you have the math background, it wouldn’t be that hard to spend some time on CS fundamentals.
The question is whether it's worth getting a degree, not whatever the shit you're disgruntled about.
The title seems to have an error ("worth it" is the expression).
I bring this up not to be that person, but rather to note that a lot about how you'll be perceived is determined by how you use language.
Those English classes you think are a load of hot garbage on your way to a CS degree? They might be the most important classes you'll take.
Reasonably correct use of the English language is important, but that wasn't taught. Grammar is not part of a typical English class at the college level. It's a college admission requirement. I probably met the requirement in 6th grade. Even if grammar were covered in college, it's not likely to stick if the previous 12 to 15 years of school didn't make it stick.
Correct grammar is not sufficient for effective communication.
Here's an example CS curriculum at University of California at Los Angeles: https://www.seasoasa.ucla.edu/curric-19-20/80-comscicur19.ht...
English Composition 3
Differential and Integral calculus
Integration and Infinite Series
Physics 1A — Mechanics
Calculus of Several Variables
Oscillations, Waves, Electric and Magnetic Fields
Calculus of Several Variables
UCLA Samueli Ethics Course
Linear Algebra and Applications
Introduction to Discrete Structures
Electrodynamics, Optics, and Special Relativity
Differential Equations
Probability Elective
That's a whole bunch of useless courses. These courses are intended to make sure you're well-rounded in your education. But spending more than 50% of the time making sure you're well-rounded in Physics is useless for a software engineer. 99.9% of software engineers don't use physics in their career (except maybe some game or graphics programming). 99% of software engineers don't need Calculus (except maybe for innovating some ML core algorithms).
A better way to be a well-rounded software engineer is to make sure graduates know more than just algorithms and a couple of programming languages. They should know Networking, Databases, Operating Systems, Machine Learning, Big Data, Distributed Systems, etc. Because of the time spent on general education (that will be forgotten as soon as they graduate), CS graduates are missing out on valuable topics such as those I listed.
English Composition 3 - Core skill to effectively communicate in a professional setting.
Differential and Integral calculus - Required for AI/Complex algorithms.
Integration and Infinite Series - Series are key to many algorithms and results.
UCLA Samueli Ethics Course - Fashionable.
Linear Algebra and Applications - Core of ML/AI/Graphics/High performance computing
Introduction to Discrete Structures - Core and fundamental for algorithms and data structures.
Differential Equations - Required for any serious ML/AI
Probability Elective - Pretty much required to do or read anything AI related.
They should take what you listed as well. Should be possible in 4 years.
There are an awful lot of people wanting that. Schools don't want to offer it because the instructors would be costly, because demand for BS/MS combined degrees would go down, because administrators personally love non-technical subjects, and so on. Standardization and accreditation are additional barriers to giving students what students want, though conveniently both are under the influence of the schools.
Do you need the skills a degree provides? Yes, you do.
Will you develop those skills on your own in the same amount of time? Maybe not? You could if you wanted, but I have found that people generally study "the fun stuff" on their own, and only study the hard stuff "when it comes up at work". One advantage of a degree is that being in school gives you hard deadlines for stuff you don't want to do.
Developing muscles in only "the fun stuff" will send you down a different career path initially, you might find.
Other benefits of school include meeting people who can get you a job at the place they work, and vice versa. That's what networking means. It might not even be an active thing, if you just happen to know someone, and they know you can do something, you're going to be the first person they call when they need that, rather than a total stranger.
It's possibly also easier to get a foot in the door in particular technical niches if you have a degree, since it can be difficult to get experience in some things "as a hobby or side project", but easy to get experience with in a school.
This ain't rocket science, it's life 101, but if you don't have someone in your life to give you this advice, you learn it the hard way (i.e., it takes a long time...).
You can do it all without school, or you can do it with school, there are pros and cons, and the calculus changes with your personal situation, your family wealth, your personal network, etc.
There's no single perfect answer here.
If you want to avoid C#/.Net, it may be best to stay out of the northwest and north central US.
The universities primilarily teach C# there, which affects the applicant pool and solutions that businesses use.
You’re not isolated from it elsewhere, and you don’t need to stay away from it, but SQL Server gets expensive as you scale, and the rest isn’t free either, though it’s more free and there’s more Linux then there used to be.
You can get into just as much if not more expense though with AWS or similar cloud services. There’s benefit to being able to focus on development vs, infrastructure, but your burn rate can easily be higher due to IAAS these days rather than coder salaries.
I’m not sure if it would be worth my time or what kind of program I should be looking for. I mainly want to get a better background on software engineering that I missed out on by not studying STEM in college. I should mention that I don’t know any math beyond high school algebra and geometry. I’ve never taken calculus or any higher math.
Is there anyone out there who was in a situation similar to mine who went back to school? How did it go?
Your choice ...
A CS decree gave me building blocks to solve problems that has made me a much better developer.
I studied economics, political science, and history at a liberal arts college. I’m a senior software engineer and can hardly imagine receiving much benefit from a CS degree.
Looking forward in my career, the stuff that’s quickly becoming more important is not the technical stuff (though I expect to stay on the technical track), it’s the communication, critical thinking, and analytical skills that were at the core of my college education. Could I have gotten those skills if I had majored in CS? Maybe, but I don’t think I would have enjoyed it as much.
If I were to go to do college over again, expecting to have a similar yet more direct career, I would do things differently, but I still don’t think I would major in CS.
Of course, others may have different interests that would lead them to requiring a CS degree.