Thinking of doing a cs degree ? read this

Just want to share my experience studying computer science and share my pros and cons of studying computer science and whether if its worth in the long run. Now my own experience is different from the traditional Computer science route which is important to take note because it will be different from what people expect.

To put it simply, I jump straight to year 2 since I had a diploma in i.t and my uni is a 3-year university, and I can plan my schedule flexibly by choosing how many modules I want to take per trimester. The fastest for me to graduate is 16 months. My school uses a blended learning approach and I only have to go to school once or twice a week for a 3 module trimester.

I will give an overview of my experience so far, and the pros and cons of a computer science degree. First my own experience

I have been studying in uni for 1.5 years now and currently on my 2nd less last semester. To put it briefly, after coding for a year self-studying through personal projects and school. Both school and self-studying has helped my programming skills improved and I learnt important concepts that are useful and important in programming such as Object Oriented programming , data structures and exposure to different languages like java and c++. However, the on return investment is not worth spending studying in a school in terms of learning practical skills needed for the industry.

Those things I have mentioned and learned, are things that anyone can learn on their own. And what I mean is that the amount of money you paid for the degree won’t return a valuable investment compared to self-studying on your own. I’m sure many have talked about this before of how expensive it is doing a degree , you pay 20k-30k average for a piece of paper that is less practical compared to studying on your own. Using that same amount of money, you can buy books and buy courses on your own in udemy, treehouse etc and you will learn a lot more compared to a degree if you have the discipline to self-learn.

There is also the problem of the quality of the university you are from, no 2 degrees are equal and there many schools out there are offering degrees as a market for earning profits than caring about your future. Many commercial universities prorate their courses and lower the difficulty of the module depending on the number of fail rates they have. Computer Science in every university, has notoriously high fail rates no matter where you are from, you will be surprised how many clueless people who have no idea what they want to do in their career and take Computer Science without putting the effort in studying them and the amount of fail rate matter in your school because it will be a deciding factor whether the module you study will be something that can be useful to you or dumb down to the point its simple and you learn nothing from it .

From my own experience, when I looked at past papers for my modules in my school, the difficulty and the content were lowered in standards every year to the point one of the final year c.s subject I am doing now was teaching HTML and basic java for the first 2 lessons even though Java was something everyone has taken before.

Let’s not forget about the professors who are teaching c.s the number of professors or lecture who have any idea what is C.S about is rare. You will be surprised, there are professors who teach hardly write any line of code and are just there because they have coded some 10 or 20 years before and spent the rest of their career doing academic research. I once argued with my lecturer, because he showed a pop method that returns a value in a vector in c++ / aka ArrayList in java in a data structure class when it’s incorrect. Rarely, you will find anyone teaching in this field understands what they are teaching when its a subject related to programming.

I can list more about this, but my own experience has been horrible so far throughout my curriculum, and none of my classmates do programming on their own time which shows the lack of quality of my c.s degree here. Although I learned something valuable on my own through self-studying using the materials provided by the school.

Now although my experience has been negative there is some light to it and there are things I have learned that has helped me a lot which I have mentioned at the start.

Relational databases, how to normalize ACID
object-oriented programming, SOLID, DRY
data structures. BIG O, Binary search tree, linked list queue stack.
The assignments, even though the content was crap the assignments were great because you are given a scenario that you need to solve. This helped my problem-solving skills a lot

But here is the catch, spending a huge sum to close to 30k for these ^ when i can learn for free online or pay less than $100.

It also didn’t help me in any way for learning WEB development through freecodecamp.

The only main benefit of a cs degree is that it helps your problem solving skills if your goal is to be a software dev or web dev. but the field is more to that

And therefore, my conclusion is that the time and money investment is really not worth it in the long run. Unless you can enroll in a top school which has challenging problems every week like Stanford or MIT. It’s very unlikely you get something valuable for what you pay for. I strongly advice people for going back to school to
c.s study a degree.

Self studying programming is difficult , but the value you get from it is alot more valuable from what you spend in school. If i had the freedom to self study i would have learn more than what i did with the amount of time i spent in school. Hope this helps anyone who is considering in studying computer science


I think you have some fair points, but I do not think that you fully understand what a degree offers. To put it briefly, a company has no way of knowing the quality of self studied programmers but a degree that comes from an institution that has some sort of reputation. Self motivation is critical to get the most out of your college experience, individual outcomes vary a lot, and sometimes it is difficult to understand the importance of some of what you are assigned, but a college degree provides metrics that enable employers to feel confident hiring you. Almost nobody gets hired on ‘I taught myself’.


I beg to differ your point that no one hires a self thought programmers, its very common many people who enter the field and not have degree, companies are slowly realizing that the degree is really just a piece of paper. The only thing that a degree helps you is going through the HR firewall. Even silicon valley companies like google has dropped the degree requirement. Lots of stories out there of successful programmers who went through the self study route and commented that doing an interview , no one will ask you about your degree.

I’m not saying its easy for sure , and you will have to network alot and have some luck to get considered for the job and you will have to ensure what you study on your own is relevant to what the industry needs. But i would argue its worth the on return investment rather than going school. Spending 20-30k average or 50-100k in the U.S for the degree is not worth the amount to pay for a paper, you waste alot of time studying general subjects and money paying for those subjects that have no value to a programming role. Self motivation isnt the problem here , you can be a straight A student , but if the quality of what you learn from the degree may not be helpful to the industry than that money you pay for go down the drain.

Time and money is valuable to everyone , finding a good college is a huge risk for an investment. A degree do sent guarantee you a job and just because you get a GPA 4.0, it does not mean you have filled the skills gap needed for the job. The only way you ever going to make the most of your degree is to learn and build your own personal projects on your own while balancing school, and have portfolio of personal projects. But that itself is difficult , for my case i am fortunate to have a blended learning system so i do not have to waste time traveling and learn whatever i need for school alone ,and still i can find it challenging to do so. Compared to most people will need to attend classes 5 times a week , finding time to balance that and learning things on your own is very challenging.

In the end , most traditional school you will end up wasting 4 years hardly learning anything compared to someone who practice and learn what is required in the field.


In my experience, university don’t prepare you for the job.
No matter which field you studied, between me and my friends none reported that uni actually prepared them for the job.

(unless is a field that has a really long apprentice like doctors does)

However what universities does, beside give you a certified and trusted “paper” is teaching you how to:

  • study
  • be mind-flexible
  • perform under pressure
  • learn how to learn

And all those are great asset to have, no matter what.
Because even if you can learn the job by yourself, you’ll still be a “one trick pony”.
On the other hand I can expect a uni graduate to be more flexible and learn / adapt to changes faster.


The more you rely upon being self taught and connections, the harder you make it to get a job. You still need to get through the HR screen one way or another. There are lots of programmers that get jobs without degrees, but it’s still easier to get a job with degrees.

I think you fundamentally misunderstand what a college degree does. It gets your application looked at, and it makes you more broadly capable.

Learning a specific language or tool chain is not the purpose of college. It is for more important to quickly adapt to many jobs than to learn how to do one specific job. You don’t want to be stuck with dated knowledge that is only relevant to one specific job.

Learning how to read and write and to know some basic science and humanities will not prepare you for a coding specific job, but it helps you learn and adapt for many jobs.

Writing code to complete a task is easy. Writing code to complete the right task is difficult and requires a broad knowledge base. College helps you learn these things.


You stated at the first of your post that between you and your friends, none reported university being able to prepare you/them for the job. I find the 4 bullets above to be the most important skills a developer can have on the job. My point is, maybe university did not provide the exact technical skills (all the languages, concepts, etc…), but because it did teach you those 4 bullets, it is those 4 skills which have helped you actually succeed on the job.

1 Like

I am aware what a college degree does and gets your application look at making the process easier, but my point is that the on return investment is not worth for what you paid for, just for the sake of getting your application look at.

My main point is that whatever you learnt in university , can be studied on your own. Proving it is difficult , but what you learn and invest on on your own is more valuable compared to going through the traditional route in unviersity. **In the end self learning and lifelong learning is more valuable **

You learn way more if you put the time and investment compared to learning through college. Everything the education system has to offer can be self-thought. And that is what I mean by investment. Here is example of one guy who did the MIT challenging by studying on his own. He studied the whole thing in one year saving alot of time .

Another example was my girlfriend who had 5 years experience in the field before entering uni, her LinkedIn and stack overflow was flooded with requests without any degree because she had experience freelancing and by no means she is a one trick pony , she learnt alot of C.S topics on her own , she does A.I and game development using only her college knowledge in maths and physics , she went back to uni only because she wanted to do R&D which is something a uni is required , she got her knowledge from books and her experience working.

Having that discipline to learn things on your own is more valuable that a degree cannot offer and only through yourself. That is my point and a better investment if you can pull it off which alot people struggle.

As someone who’s done a CS degree, I can freely acknowledge that the first year of the material covered during a CS degree can easily be found online for free.

However, note that I said only the first year. You won’t be able to find the second, third, and fourth year of CS material online easily, or at all. And most CS degrees cover quite a bit of math, that most self-taught people will probably skip completely (discrete math, single-variable calculus, and statistics & probability). And that’s a pretty big hole. Huge, IMO. The material covered in the 2nd through 4th years is typically what the employers who prefer CS graduates look for - not just the material itself, but also the soft skills that are gained, like the motivation/persistence, the ability to work with other people on a team and create a major 1-year-long project, etc. You don’t gain those skills when going the self-taught route.

Also, most people who criticize college degrees in general forget the intangible benefits of going to college, some of which were mentioned in this previous thread: Help about U.S college/university?. College isn’t just the degree and academics, it’s a life experience that can make a major positive impact in virtually all areas of life.

I digress at this point to say that CS degrees aren’t really needed for those pursuing web development. It’s not a field that really benefits from it. But there are other software jobs that will really benefit from having that knowledge.


Data is not the plural of anicdote. The fact that some people have been hired without college degrees does not make a college degree useless. The increased probability of getting a job gives a good ROI to many.

And again, college is about more than getting you one specific job. College is not the same as trade school. Both are useful, but they have different purposes.

You do not seem to be understanding my point that college is more than a discrete list of tasks you are taught how to accomplish. You gain breadth and versatility, which makes better programmers, and more capable members of society. Focusing on learning a discrete set of tasks to get one job is a good way to only get hired for one job that very well may become obsolete.

I really don’t think you understand all of the benefits of a college program, possibly because you are burnt out and in the thick of it.

1 Like

Hence that again depends on which school you are from. My school had 0 math because it was laid out like that. I agree that there are things in cs are valuable, that you cant self learn alone. But many schools out there are mediocre if you are not the the top 200 range.

Computer science grew from a discipline of mathematics, so I would be shocked if there is actually not a single math requirement in your program.

Not exactly , i am speaking from a background and through my own experience after studying the degree alone , your point about college differs in each college, not all college exposes you to different set of tasks as what you mentioned. It differs country to country and whether your school is in the top 200 because the things thought are different. There are people out there , who wrote their own experience and many has mentioned that the degree didnt helped them at all in doing their job and what you call “breadth and versatility” became redudant knowledge.

And college inst the only way that exposes you to breadth and versatility , there a lot of alternative ways to look at if your country supports it. Technically my Diploma is more than sufficient in knocking the doors and brought a wide range of breadth and versatility which was how the system here layed out we dont go through High school like most countries, the govt here also try to promote things without going thru a degree

The only reason i took the degree was a 2nd chance for myself , back then i was young and foolish and after working for 2 years i regretted it hence i went back to school , but after studying for a year and even doing decently well ll i felt it wasn’t worth the money and time spent. That is how i view it.

yes exactly, i am not joking that my C.S degree had 0 math involved , i only took up C.S as an add on after studying cyber security halfway.

All colleges vary, yes, but college still is not about learning discrete tasks. Your descriptions really sound like you don’t get how college works. It’s not a job program.

… By its very definition, knowledge that gives breadth is not redundant… That’s not what that word means…

College does not teach you the specific tasks for a specific job. That’s not what it’s for. Yes, college is not the only way to get the benefits it offers, but that does not mean that it is not without value. It makes getting jobs easier and it is one of the best ways for some people to get the benefits college offers.

It may not have been right for you, but that does not mean it does not give a good ROI for many.

If there is no math, it isn’t a CS degree. Cyber security is not CS. An ABET certified CS degree must have math requirements.

i meant i did cyber security and computer science as a double major. There is only 1 math subject and that is discrete math which i didnt do cause my diploma got me to 2nd year, there are schools who promote them self as computer science and have hardly any math involved. Its still accredited and counts as “computer science”

It can’t be ABET accredited without math. You went from 0 math to one class that you were able to get out of due to transfer credit. Those are different things.

the whole curriculum had only discrete math compared to other C.S who did calculus or linear algebra. None of my 2nd and the third-year subject had any dependencies on math as well and our school isn’t accredited by ABET its accredited by ACU.

It’s rare but not uncommon, there is one popular school here in where I am from had no math in their promoted computer science. Here is another example ,

So you are declaring all CS programs to not be valuable based upon jumping in the middle of a rare CS program that barely has enough math to be accredited by a professional organization. Makes sense.

I did declare my own experience in my own post and mentioned its different from other schools and i didn’t declare all C.S not to be valuable C.S is useful , but not worth the investment if your aim is to be a web developer. I do not know how you skip my words , i did mentioned that there are things valuable but not worth the investment. Degree is not cheap, maybe 30k is nothing to you but it matters alot to people. By the way , the school i chose is based on my budget as well.

That seems to be a clear and bold[ed] message that you do not think CS degrees are valuable.
So you’re now saying that they are valuable but not worth an, investment? I think you use words differently than I do. Something that is valuable is worthwhile, to me.