Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

If it's any condolence to yourself, I have a college degree and I am always incredibly impressed by people who are able to be software developers without one. The perseverance required to not only learn the subject matter without structure, but get through the gatekeepers without a degree is immense.

And everyone gets imposter syndrome, so I doubt college would help with that.



The gatekeepers are the only meaningful barrier. The amount of content I learned in my CS degree that ended up being useful to my software development career could fit in a one-month course. Lots of writing Java out on paper (or, marginally better, in a shitty online code editor without access to docs), not a lot of debugging other people's code.


There was a time I thought most of what I learned in university courses was useless--a lot of the material seemed to be either esoteric (e.g., automata theory) or obvious (e.g., databases). And then I was talking with a colleague about some design stuff, and he turns to me and says "the great thing about you, jcranmer, is that you've actually gone to school and learned all of this stuff." Since then, I have been continuously more surprised than I should be when I talk to other people and realize how much they haven't picked up on that I was taught in school courses.

I actually went back through my school notes and looked through all of the CS classes I took to see how many of those courses turned out to not be useful to me at some point in my career. The answer is "Natural Language Processing" and maybe some of the algorithms courses (although interestingly enough, not Advanced Algorithms [1]). Admittedly, this is probably partially due to working in compilers--which ends up being at the intersection of a lot of different fields--but I've still found reasons to apply learnings from ML, information visualization, or cryptography in my work.

So even if I would have been a good programmer without going to university, it's definitely the case that the CS degree has given me even more knowledge to become a better programmer.

[1] I've had to use Chernoff bounds once to bound a probability distribution.


Every time I read something like this, I feel grateful for my university.

I wrote out code on paper in one class. Other than that, every single CS course was project-based on some level (even the theory courses) and once you got past the theory-heavy Sophomore-level courses most classes were 100% project-based. In the required classes alone I built web apps, android apps, interpreters, DNS clients and servers, static analysis tools, and dozens of other practical/educational projects in C, C++, Java, Python, and JavaScript. We finished off the program with a capstone project, working on a year-long real-world project sponsored by a local company.

Point being: which school you went to seems to make a big difference in your perception of the value of a degree, and some schools' diplomas will have higher signal-to-noise ratio on a resume than others.


I think it also matters what your university considers computer science to be. The more fundamental theory it is, the less immediately applicable it will seem to your day job. What you're describing sounds more like a programming degree and not like a traditional CS degree. For better or worse.


I doubt the professors would want it characterized that way--it's still very much a research university, and the professors are very invested in the theory. As far as I'm aware we covered every theory topic that is widely taught in CS programs nationally, and I've never found my ability to reason about the theory or to read CS papers to be weaker than my peers from other schools.

From what I've observed, the main difference seems to be that we were writing code to apply the theory in every single course, where it sounds like a lot of people didn't touch a keyboard during those classes.


What was your school and program?


I'd rather not share the school (I'm writing under a pseudonym and don't want to leave more hints than I already have), but it was a Computer Science degree.


Everyone at the top of our class in undergrad were the people who got internships early. I went from being the confused guy who still had decent grades to being one of the people who could go above and beyond. Debugging is weirdly under-taught in school


Practical experience is such a good teacher. I've been doing LeetCode problems lately, and (re-)learning about things like trees is so much faster when you see and play with code rather than taking notes while a prof explains everything algebraically on a whiteboard.




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

Search: