4 ms·
Yeah I wish this distinction was better communicated. I wouldn't have wasted four years and thousands of dollars on a CS degree if I'd known it wouldn't make me
by coldpie 7y ago
Yeah I wish this distinction was better communicated. I wouldn't have wasted four years and thousands of dollars on a CS degree if I'd known it wouldn't make me a better programmer. Going to college is one of the biggest regrets I have in my life.
- otachack 7y agoIf it's any reassurance, I believe CS degrees do make us better programmers than those without them. At the least, we picked up concepts that "just programmers" would have had to learn on the side. As for the whole school cost, that's a different story, but we landed in a lucrative field where we can pay off the debt, compared to a ton of others that have no hope to without a career pivot.
- coldpie 7y ago> I believe CS degrees do make us better programmers than those without them Maybe, but I can't really think of much that I learned in college that I have ever used since then. Everything a typical programmer does can be learned with just a textbook and/or the Internet. Beyond that, it's just years of practice and continual improvement, which you won't get in school. All the CS classes I took (DFAs, state machines, Turing machines, programming language theory) were a complete waste of time for a programmer, and the actual useful stuff (programming courses, systems architecture, networking) I picked up in my free time in middle/high school. I'm sure it's all great stuff if you want to be a computer scientist, but I didn't and don't. I think the only classes I took in school that I consider useful and that would have been challenging to pick up on my own were the coding theory[1] and intro to crypto classes. That's pretty poor showing for four years and a ton of cash. [1] Not programming, but number theory stuff, basis for cryptography https://en.wikipedia.org/wiki/Coding_theory https://en.wikipedia.org/wiki/Coding_theory
- IdiocyInAction 7y agoI personally think the most relevant courses I took were an OS course (I don't write operating systems, but knowing how they work can be very important) and algorithms come up rarely, but still sometimes. I also had a networking course that I definitely benefited from. Generally, I am quite pleased with my education.
- Kalium 7y ago> Everything a typical programmer does can be learned with just a textbook and/or the Internet. You are absolutely right. Literally every single thing a programmer does, every bit of information they use, and every other thing they might use or need to know can be found beyond the ivory tower. It's all there. In fact, often the problem is less getting information and more figuring out what information is relevant. Is it possible that some people may find value in a structured educational process? One that has already organized and worked out how to teach the fundamentals? I suspect that many people, pointed at the internet in general, may experience some difficulty in figuring out what to study and in what order. As for material, I've personally found DFAs, FSMs, algorithmic analysis, and an understanding of computer architecture to be valuable to my career. I found a lot of basic theory useless, until I encountered cryptography that required me to understand a lot of theory to grasp fully. Obviously, personal mileage can, does, and will vary greatly.
- coldpie 7y agoI think we largely agree. Perhaps what's needed is for employers to stop requesting CS degrees for programming jobs, and instead have some kind of programming certification process, and accompanying courses to prep one for that certification. Then we can dispense with the theory that is useless for 90% of programmers, and stop making CS lecturers teach C++.
- Kalium 7y agoWhat specific skills do you think should be tested for in this certification process that you imagine? It's been my experience that a CS degree is used as a certification for a broad array of fundamental skills. A lot of theory is, as you say, useless most of the time. But sometimes it can be important to have a grasp of how hash algorithms work under the hood. Though how well this degree-as-certification idea actually works is open to debate. I've definitely seen it fail. It's been my experience that it's rarely obvious to people operating in ignorance when a grasp of theory would make a big difference. This can make it challenging to fall back on the model of looking up information as needed.
- jclos 7y agoIf your CS degree didn't make you a better programmer you should specifically be mad at your university more than about the distinction between CS and software engineering. A well-rounded CS degree will absolutely make you a better programmer, but it won't make you a good programmer. The only thing that can do that is doing actual programming.
- coldpie 7y agoYeah totally possible my university sucked (University of Minnesota in the late 2000s). One of my professors thought 0x1 stood for "0 and then a bunch of stuff that doesn't matter and then 1". I stopped attending his classes.