Hacker News new | ask | show | jobs
by ecaroth 5624 days ago
programming is not about being able to memorize language-specific syntax or function calls. If the book has good exercises, by all means do them - But rarely will you find yourself in a situation where you don't have a book, the internet, etc to reference specific functions.

Best approach to tackle self education is CS? Just start making stuff. Who cares if somebody already made it. Who cares if nobody will ever see it. I know it goes against the programming mantra of "don't repeat yourself" but there are many times when a jquery plugin or open source piece of software existed to do something I wanted... yet I rolled my own simply for the joy of learning how to do it. Build yourself a blog from scratch, for example.

And if you plan on programing for the web, read this: http://stackoverflow.com/questions/72394/what-should-a-devel...

3 comments

As mentioned in previous discussions on HN, software development is not the same as computer science. Just building stuff will probably make you a better software developer, but won't necessarily teach you theoretical topics such as algorithms. I think it really depends on what you build and what you are interested in. For example, writing a jquery plugin might teach you about frameworks and certain design patterns; building something like a recommendation engine for Netflix might expose you to some more theoretical concepts.

With that said, I think the best way to self study theory is to pick a university course that has posted materials online (MIT OpenCourseWare comes to mind) and try to finish it. To do something like that takes a lot of determination, but I think it could be well worth the effort in the end. Good luck!

I would like to emphasize ecaroth's point:

Just start making stuff. Who cares if somebody already made it. Who cares if nobody will ever see it.

Getting over that, in the last couple of years, has been the single best thing I could do for myself -- personally, skill wise (programmatically), and professionally.

Nike is right: just do it.

I definitely have a hard time with this! I need to get over thinking everything I do has to be original. I think it definitely holds me back. I am also sick of the class grind at school. I feel like I am stuck doing pointless work that just takes up all my time.
Take it from me -- you'll feel like you're doing pointless grind work in the "real world" as well. Except in a job, you'll feel the oppression even more.

My problem has always been the curse of originality, or analysis paralysis. I think many people on HN share those traits -- what's the point of copying someone else, and what is the most optimal way of doing something.

It turns out, for me, that my parents were right when I was little. Don't overthink, just do. For my personality, there is very little danger that just doing things won't also have some pretty serious thought along with it (I'm very much not impulsive by nature).

You sound like me so much. I over think everything. I have actually considered becoming a Buddhist to try and shut my mind off for a little while through meditation. I tend to have a very hard time doing things unless I spend a ton of time reasoning through whether or not I should do it. Most of the time when I decide I missed the boat.
You don't need to "become a Buddhist". Just expose yourself to some of their ways of thinking. Also, practice (= meditation).

You'll pick a lot of this up as you get older, as well. It's a natural maturation process. I've been out of college for 7 years now, and am just starting to feel like I'm understanding mindfulness. Granted, I've wasted many of those years...

Thanks for the advice. I have been thinking about making my own blog from scratch for a while now. I am going to get on that asap.