HACKER Q&A
📣 9c666b4c

Is a software engineering degree worth it?


I'm 19 years old and I have around 1.5 years of experience in C, C++ and Python. I have done several projects in these languages, including a small shell in C with friend, a Discord bot in Python and I'm currently coding an HTTP server in C++ with some friends.

Do you think a software engineer degree is worth it given my current experience?


  👤 newaccount74 Accepted Answer ✓
Getting a degree is almost always worth it. There are three benefits of getting a degree:

1) You get a thorough and broad knowledge about the subject. Many self-taught programmers focus on just the stuff they need at the moment, and lack a lot of the breadth that comes from full time studying a subject 3 - 5 years.

2) You'll get to know many people in your field, both students and professors, and depending on your university, you might even get contacts to the industry. This is neat because first of all it's fun to meet like minded people, and second of all you'll get to be part of a network that makes finding jobs much easier.

3) It's much easier to find a job when you have completed a degree. A completed degree gives you instant credibility. You can of course get a job without a degree, but every time you apply you're going to be playing in hard mode, especially when all the other candidates have a degree.


👤 sloaken
Short answer: Yes, definitely.

Long answer: Depends on your situation and your goals. I was like you in that I had 2 years of programming when I decided to go to university (CS degree). At that time, no one would hire a kid who claimed he knew how to program. So my entire goal was to get a piece of paper that would validate I knew something.

Somewhere in my Junior year, I was grateful I was in school. I think it was Algorithms that did it for me. It was so exciting and enlightening.

That said, I have know successful programmers who did not get a college degree, and worked their way up, one painful step at a time. In all cases I truly believe they would have been more successful had they gone to school. But, depending on your life circumstance that is not always possible.

Do you have a good quality school in mind? Can you afford to go to school?


👤 lagrange77
Especially in STEM, to stay good, you will have to commit yourself to lifelong learning. (For many of us, this is actually half of the fun!) This will be an easier task, if you have a solid foundation of core principles. University is offering you a prebuilt environment to build that solid foundation. But nowadays, they are not an exclusive source of wisdom, as you know. Depending on what kind of learner you are, you can leverage the fact, that we all have access to the best learning material out there, worldwide. That's a singularity in the history of education and we are the first generation that can profit from it. For me, this is one of the last sparks of hope in the current bullshittification of the internet.

EDIT: change "softeware engineering" to "STEM"


👤 GianFabien
I have a software engineering degree and I don't regret working for it. But there is no way that I would have gone into a 5 or even 6 figure debt to get it. The ROI is far too long.

If you are motivated you can learn most of what they teach at university from text books and by using online materials from the best universities. The hardest thing about being self-taught is that it is hard to find competent help when you get stuck.

Ideally you want a job where your co-workers can help you out when you get stuck. You might notice that many of them do have degrees.


👤 jstx1
You're 19 - have you been working and getting paid for it for 1.5 years, or did you just start programming 1.5 years ago? If it's the latter, that's not experience.

Where do you live and what's the cost of a degree there?

Why software engineering and not computer science?

I really think it's worth it given that you're only 19 - you'll learn a lot, it will open many doors (especially if you go to a good university), and you'll get a chance to grow up a bit in your early 20s in an environment that you can't experience otherwise.


👤 raxxorrax
Yes, I think it is worth it to know about the fundamentals. It is a very vertical field of study and you might want to combine it with another engineering discipline. I did so with electrical engineering (I am a horrible electrical engineer, but it still benefited me to know the problem space).

Some universities have something like a studium generale, which I don't think hurts to evade the narrow perspective of computer science. Otherwise it doesn't hurt to look into other fields.

On the other hand you can also study another engineering discipline and be a good programmer, but I believe that most content in computer science is worth it. At least at my university that was the case.


👤 bjourne
Lol yes. You will meet students who are 10 times stronger than you and learn about things you didn't even knew existed.

👤 MoJoPokeyBlue
It depends. If you have a high IQ and enjoy programming to the point where it consumes most of your time, then forego the degree. In this capacity, programming is fun and you thoroughly enjoy solving the next challenge.

If you have an average IQ and/or if you find programming more of a "job", then you need a degree. In this capacity, even though you should be programming, you'd rather be gaming or doing something else.


👤 memling
> Do you think a software engineer degree is worth it given my current experience?

I'd echo any others who say that a degree is worth it. S/W engineering, maybe, maybe not.

A degree is a signal you can stick at something for four or five years. This is a valuable skill. You may have that skill without a four-year degree, of course, but the signal isn't there. My first job took me a few years to feel comfortable because I'm a slow learner and the technology was difficult to learn at the same time as the rest of the job.

Should you do software engineering? Programming is a white-collar trade skill. You can do a lot with programming, and a degree doesn't magically confer the trade skills.

I usually recommend people who are degree interested to consider mathematics for a bachelor's degree and then a masters in Computer Science if they're interested in graduate-level education. This isn't the way I went, though, so I can't comment on whether it's really that advisable. But I would think a rigorous math education would prepare you for thinking about fun problems you can solve with programming and an MS would provide some research to go along with it.


👤 Phithagoras
The advantage of a degree in compsci/electrical eng/computer eng/software eng is that really smart people tell you interesting things for 4 years straight. Smart people with a huge amount of subject experience tend to stick to doing their job in the working world, and maybe if you're lucky a couple of them will mentor you over the course of your whole career. In undergrad you'll meet 10+ a year.

When your 4 years (+/- 1) of listening to smart people is over, you've probably learned something. This probably includes things you didn't know you wanted to know. I didn't know linguistics existed until it was the only elective that fit into my timetable. I ended up enjoying it so much I nearly changed majors.

Theres value in a getting a degree to get certain jobs, but msot of it is in the sheer volume and breadth of things you learn. It's also a great excuse to socialize with people who are interested in the same things.


👤 horns4lyfe
A lot of answers here are about the skills you’ll learn, which is all well and good, but it sounds like you already know how to program as well as most CS grads. What you don’t know how to do yet is interact socially at a high level with college grads, and that’s something you can only learn in college, and will likely (I know there are exceptions, but they’re rare) benefit you a lot more in your career than knowing how to build a discord bot. Also, college can be really fun, and that’s worth a lot.

👤 init
If you have access to free university or you can get a loan then by all means go get a degree.

Your existing programming experience will give you a head start in a few courses.

Most importantly, it will be easier for you to get an internship while studying and you will get exposed to real world software engineering in a hopefully successful software company.

The degree will also make it easy to relocate across the globe. Some countries require university education or many years of experience to even let you work there as a software engineer.


👤 leros
Forget the value of the education. Being allowed to attend the career fair at a top university is worth it alone. You'll be able to secure internships at top companies and get a high paying job upon graduation. You'll end up being able to command higher salaries with that background. The reality is that pedigree (both university and previous companies) make a huge difference in getting top tier companies interested in you.

👤 giantg2
Yes, a BS will get you past the automated resume screeners that most companies use.

👤 s0rr0wskill
For most people, yes