269 karma · joined October 21, 2016
Great software implies that the software works correctly. Testing can never show the absence of errors but software with the right coverage criterion and sufficient coverage will always have fewer errors than software without tests (Ceteris paribus).
http://www.nvcc.edu/academic/coursecont/summaries/CSC202.htm
One of the authors is also my professor.
Don’t treat your life or your career like it’s a race. It’s a marathon, and most of it is still ahead of you.
Sorry for my rambling I am just starting to learn the concepts myself from this book: A Guide to the good life
All I am trying to say is that we have to differentiate between CS professionals and self thought programmers. There is a difference and I am stunned that people don't see the benefit of a university education.
they don't loose out, they minimize their risk by not hiring someone who on the surface seems to know how to code but deep down below does not add a whole lot of value to the team because they lack in depth knowledge on subjects that go beyond coding.
I have 15 years of experience and went back to get a degree in CS. Why, because I realized there is a huge gap in my theoretical knowledge. Everyone nowadays seems so convinced that you can equate watching a couple of youtube videos to getting a 4 year education in a field.
This is a fallacious oversimplification of reality, no one in their right mind would say the same about engineering or medicine or law.
My 2c
I am not sure what people think a basic requirement for a development job is. Being able to learn is a very low threshold in my opinion, and how do you prove that when you don't have a degree and don't know the basics? See the catch there?
Again, If someone want's to be a front end web developer what I am saying is most certainly not required. For anything else I think it holds though.
I also think that an understanding of data structures is required to be able to identify the best way to deal with data in terms of processing and storage.
It is equally false to say none of what I mentioned is required. There is a broad spectrum between your statement and mine, and the truth is somewhere in between. The better prospect for a job is in the area of knowledge though I hope we can agree on that.
What you need more than anything are skills. Ranging from networking knowledge to having a good command on linux. In addition you have to be able to program in Python, Java, JavaScript, C. You also have to understand data structures like linked lists, queues, b-trees..., and to top it all of understand algorithm analysis to judge the efficiency of the code you write or look at.
My recommendation is to get the degree, medium to long term you will need it, and it will benefit you greatly. It seems to be popular to claim a degree is not needed for CS but if you want to do anything besides simple web apps then you will need the knowledge.