Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: If I've already taught myself to code, should I still get my CS degree?
19 points by MathCodeLove on March 21, 2020 | hide | past | favorite | 30 comments
I'm roughly 2 years into my CS degree, which basically means I've just completely all of the mandatory prerequisite courses. At this point, I can write software in multiple languages, across multiple platforms. I've taught myself everything I've needed to know about Software Engineering, and if it didn't feel so mandatory to get a job then I would drop out of school right now.

Fortunately, I do have a full scholarship, so I'm not going in debt. But I still dont know if this is even worth 2 more years of my time.




In the coming months, you are likely to face the ugliest labor market in living memory. A lack of degree and real world experience means you're looking at even more difficulties.

Given that you have a scholarship, you'd be unwise not to snag the credential.

Also, it does not need to be a waste of time. Don't do the bare minimums. Push yourself. Take the hardest relevant classes you can find. Dig deep into any topics that interest you.

Finally, focus very hard on getting internships. In a grim market, you will be needing both the resume entries and the job leads that those can provide.


You don’t need a CS degree to become a professional developer.


Correct, and I never claimed otherwise.

Whether you have a credential becomes less important the more experience you have. There will always be silly companies that do a hard-filter on degree, but you can have a perfectly happy and successful career without them.

But winter has come.

Available positions will become way more competitive, with more people chasing after few opportunities. It may be unfair, but the combination of no degree and no experience will be a large handicap.


Of course it is not required. My reading of what was written was that it helps. I fully agree.


"I've taught myself everything I've needed to know about Software Engineering"

I respectfully suggest that you haven't (taught yourself everything you need to know). Not a criticism, we all thought we knew everything at that age, LOL.

Besides the credential, the value of college is that you "forces you to eat your vegetables". By that I mean you will learn about things that you aren't really interested in (at the time at least) or aren't as interesting as something else, but will be valuable later.

BTW: In case you also know everything you need to know about women, you can email me your wisdom. At 58, I still haven't figured them out. :-)


Note they said "everything I've needed", not "everything I need" or "everything I will ever need".

The most charitable reading is that everything they have learned about software engineering was self-taught, and that completing the degree is a poor investment of time vs. more self-learning or learning-on-the-job.


Nothing in the above specifically indicates that the writer is a man.


I'm not going to down vote you, but my question (about women) was gender neutral and innocent.

BTW: My whole name is Christopher Bennet.


Nor does it specifically indicate heterosexual :)

... but the tone is a better match for a young straight man.


A gay guy can still "know about women" (a phrase which to me is a dog whistle anyway). And the assumption based on tone is what I was trying to point out.


Being able to code is a bit of a funny goal, because it doesn't actually make you good at either software development, or academic CS. While coding is certainly required to be a professional software dev, it is just one aspect of a far more complex industry. Likewise, it is just one aspect of academic CS.

So the answer of whether you should continue is completely dependent on your goals. You certainly could step out into industry, learn the rest, and be successful. Or stick with school, and in 2 years have a wider selection of options of where you can take your life.

During the last recession (2008), most devs I knew found a place they were happy staying in for a few years and rode it out. If it were me, I'd ride out your CS degree, and in 2 years when business starts to return to normal, you have an array of choices in front of you. Frankly, that is always the advice I give my own kids - if you are unsure what path to take, take the one that does not limit your options.


I think you should finish the degree. For two reasons you have a scholarship / can do it without taking on debt and with recent events the job market will be tough for everyone.

I have a bachelors in a non-STEM field, and am self-taught (been working for ~5 yrs now, a few years as an IC and then now been an engineering manager for almost 2 years). I manage people who have bachelors/masters in computer science, and having the degree both grants you more job security and leeway in negotiating better compensation (I've seen qualified people without a degree get passed up/not been compensated as fairly for their skills). My company has a 'education benefit' so I've been looking to go back into school to get my masters in software engineering - maybe this is the year. But in my opinion/perspective, the degree opens up so many more degrees compared to if you didn't have it.


A major global recession is the time when the opportunity cost of schooling is lowest.

Plus a with a lot of more experienced engineers suddenly out of work and on the job market, it’s going to be extremely difficult to find work at entry level just now. Not having a degree will only exacerbate that.

That said, in the long run getting the Bachelors will be more important than getting the CS degree specifically. If you want to get a CS minor while majoring in something else, it may be worth considering.


If you really believe theres nothing more to be learned in those two years left then absolutely drop out but remember that everyone who didn't will have those extra two years and the qualification that proves they actually know what they're talking about. And you'll probably be working with those people.


Yes. Absolutely. While you may very well have long-term success without a degree, in a lot of industries a lack of a degree limits your upward mobility. I work with some very talented and experienced individuals who are self-taught. They are paid very well and are well-respected. However, they've also reached the upper bounds of their career. I also work with people who may be slightly less knowledgeable about the specifics when compared to those self-taught individuals, but they are the ones who get promoted and have no limit to their career potential. Why? They have a college degree, often a Master's. It has very little to do with coding experience. In most cases it has to do with everything ELSE that you learn in college. Problem solving in areas you may not be familiar with; "learning how to learn"; understanding different viewpoints or unrelated subject matter. College helps you to become a more well-rounded individual and, more importantly, a better LEARNER. All the people I hear saying that college is a waste of money and useless are missing the point and are limiting themselves.


Yes you should. I learned development on my own and, yes, I landed lots of jobs. However there are barriers:

- without a cs degree several avenues of kernel development

- ditto distributed systems

- anything with a strong quantitative basis

- formal tools/tooling

- specialty data structures and algorithms

Will be beyond reach. You simply won't be able to cope. I went on to get a mathematics degree and that saved my bacon when older and had needs beyond a paying gig (read family and house).

Do not under estimate the need to write clearly. On above topics bubbles and arrows don't cut it. You need to write papers, and/or formally model if you want to communicate and prove non trivial results.

Learning languages is one thing. Having a deep understanding of the libraries that come with the language (simple example: STL) is also quite important.

Finally given a choice between a guy with a degree and a guy without ... The guy with shows he/she can finish something of difficulty in four years. This is not to say MIT grads are always better. But a degree is better than none.


Definitely stick out the degree. I was once in a similar situation.

By the time I started college I had already been programming for 6 years. I was self-taught and worked full-time (60+ hrs) as a programmer while pursuing my degree (accounting information systems because I wanted to understand the underbelly of business and I was arrogant enough to think CS wouldn't teach me anything).

While everywhere I've worked, I've been promoted and identified as a high performer, I still lack many CS aspects I wish I had gotten with a CS degree. I've even thought heavily about going back for a MS in CS, but the opportunity cost is very high for me at this point.

Based on my experiences (both good and bad) the one thing I would have changed would be to go back, set my ego aside and try to learn everything I could in the CS degree. Knowing it's not about the coding, but rather the deep and wide CS concepts I was to learn.


As a web developer I have rarely, almost never, been impressed with the technical capabilities of developers who rely on their CS education more than independent experience outside of work. I have known many developers with a CS education from a good school who are duds and several excellent developers without any college.

My recommendation is to stay the course if you plan on achieving a master’s education in computer science otherwise you are just wasting your time and money. While that one line on your resume is helpful it would be better spent on a different major.

Edit: I read that you have a full scholarship. Stay course anyways because you don’t have the financial burden of tuition. But understand a good CS education is not enough to make you a good developer. Good developers produce good software.


I went into college able to write software in multiple languages across multiple platforms. I also skipped a bunch of prereqs and got the other mandatory courses out of the way quickly.

But I learned a ton in my 4 years of CS classes, and would have kept learning a lot if I stayed for a couple extra years, I'm sure. I'll tell you that it was eye-opening to go from setting the curve in a mandatory class to struggling to keep up in a topics class.

It depends on what your school offers, but if you can cherry-pick quality classes for the remaining two years, I'd say it's worth it unless a time-sensitive career opportunity comes along (e.g. founding a company). Or do a second degree with your free time if you're not that interested in CS.


Coding and the concepts taught in a CS course aren’t necessarily the same. I think you should choose education if you have a wish to learn what CS courses teach including but not limited to:

- Algorithm optimization

- Logic Gates

- Cryptography

- Compilers

- Assembly

Further studies are available to those who exist in school programs if you wish to get a higher level degree and do the research associated with it.

That said, I don’t think you necessarily need this to code.

Lastly, if it’s about a job, a degree will most certainly help you get thru a blind first filter. However, it is definitely possible to show your work and experience without as well thru open source contributions and the like — so this really is a choice you’ll have to make.

If it was me with these options, I would go to school for free with the scholarship and work on open source projects simultaneously.


I have CS degree and what i feel is if you already taught yourself code, you passed step 1, but I think to go to next level please focus on more Algorithm Analysis part first example Coursera -> https://www.coursera.org/specializations/algorithms. It will take a while if you have full-time job but consistency is what it matters. Once you comfortable with those concept then move to more advance distributed system areas.


From a practical standpoint, having a degree will make moving abroad easier. For example, the EU Blue Card scheme in Germany (which I'm on) requires a degree related to my job. I'm sure other countries have simar rules as well since most immigration laws are still operating under this "degree = well-educated professional" mentality.

Also there's never an end to learrning in practically any subject, and that is especially true in the world of CS.


I'd opt for a Math or Physics minor. The more you can intersect with different fields, the more you stand out in applications. Wheel and deal some projects on the side if that isn't your jam.

Also in general, college is about growth and experimentation. Having a degree is definitely useful, but not enjoying getting a degree sounds like an awful waste of time.


2 years is not that much. I'd say do it. I don't have a degree and it never bothered me in any way until I wanted to have a (self-sponsored) working visa in another country. Lack of degree meant I'd have to pay roughly 10x the taxes to qualify.


As others have said probably not the best time to be looking for a job. If you get one at a stable company go for it.


> But I still dont know if this is even worth 2 more years of my time.

Yes! 20 years from now, without education, you will hit a glass ceiling. Do it, finish it. It might seem today as a waste of time but that title after finishing the degree will go a long way later in your life.


a) double-check if there is something that would require you having a degree. I.e. you probably don't want to pursue PHD, but visa-requrements have degree

b) doublecheck if you want to pursue something that requires to be student, i.e. internship, scholarship, e.t.c. I started working for a company as an intern during my studies and after a while it was reasonably easy to upgrade to part-time employment and later on full-time employment.

c) I don't know what are your costs. I am from europe, so I studied for free. If you are taking on more and more debt, your cost-benefit analisys might be different.


2 years, eh? There's a common misconception that "sophomore" is greek for "wise fool". Consider that.


Hey I have to make a recommendation for this - https://www.rezi.io/covid-19-job-relief/

We are opening our software for all affected job seekers. If you have any questions about your resume, just let me know


Get a degree in a real subject like math, physics, chemistry... The prereqs are probably the same.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: