Hacker News new | past | comments | ask | show | jobs | submit login

I have no CS degree. I see a lot of these comments poo-pooing the skills of people who taught themselves to program. From my experience, some of the best developers I have worked with do not have CS degrees. I have given many interviews where candidates could explain what an abstract class is, but then when it came time to actually write code they could not even build something that compiled, or their code was really messy and unorganized because they had no concept of maintainable code since they have never had to do anything other than academic exercises where style apparently is unimportant.

It's like they memorized some books and definitions but never actually had to build anything.

The developers that didn't have a formal background in CS almost always did poorly on the technical questions, but I found about half the time it was simply a lack of knowing the terminology. She might not know what a monad is, even though she implemented in her own code.

I have always been into computers, but didn't really consider it as a career until I got a job that required me to do a lot of data entry, so I started teaching myself how to automate things. I turned a 40 hour per week data entry job into a single button click on Monday. This meant I had a bunch of free to time to develop my skills and work on additional programs that would help our organization. I fell in love with programming. I eventually interviewed for a position but failed the technical questions miserably, I didn't understand a lot of the terminology like "linked list", "adapter patern" or what "bubble sort" was. So, after that I got a book just about programming interviews, and realized I had actually implemented most of the practical things in that book, I just didn't know the technical name for it.

After I read that book I interviewed at another location and was immediately hired. The only difference was that I took maybe a week to learn some terms.




I like to think of it as there being two aspects to software engineering: there's the abstraction side, and then there's the craft side. CS graduates tend to be heavily weighted toward the abstraction side, and weak at the craft. Self-taught ones are weighted the other way around.


If you really find someone who reinvented monads independently, don't hog them. Send them to graduate school, they're of another class entirely.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

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

Search: