Hacker News new | ask | show | jobs
Moving beyond the classroom
1 points by JQuinn 4853 days ago
I've always heard, from talking with my fellow programmers, looking at posts on HN, and viewing blogs, that programmers must learn outside of the classroom. And I have always wanted to do so.

I have taken 4 years of programming academic classes in my academic career, 2 in high school and 2 in college. I currently attend DeVry University. While all of the classes were very helpful in learning techniques and basics, I feel they have not fully prepared me for becoming a programmer. I do have a thorough understanding of OOP, or atleast what they have taught in class which ranges to Polymorphism, inheritance, and interfaces. My primary language is Java but I have begun learning C++ and have 3 years experience in SQL.

I took up a job at a local hospital to work in their IT department. There I was able to sharpen my SQL skills. From there I took up my current a job at a government contractor. Here I am working on my Java and C++ programming and starting to learn Socket programming with Java.

My issue however, is in trying to learn something to better myself. I have attempted to learn web development, since I figured that would be the next best move. However, the path to moving pass basic HTML and CSS seems to elude me. I have always had a problem with self teaching and most of the programmers I am around either seem on-par with me or are too busy to mentor me. Thus I need another avenue in which I can better myself.

I have attempted to look into open source projects, but they all seem more complex than anything I have worked on. I attempt to just learn a piece of the project, but each time I try, the piece seems to expand in an area I don't understand and I begin to feel overwhelmed.

So I am posting here to ask advice from anyone who may know the best avenue for me to take in furthering my abilities as a programmer. I see myself as a competent learner as long as I have the resources to learn from.

1 comments

Two years ago I felt just like you. It is overwhelming, there is a lot of people talking about the best approach, the best technology .... Don´t hear that, I am sure there is nice stuff around there, but what makes the difference is you. Thinking about programs is a nice advice, try to see things from different points of view. A year ago I did some hacking in Common Lisp and Haskell, that certainly changed my way of thinking. Now I am more interested in making things simple, I am hacking in Go now and trying out Plan 9, is really rewarding reading real world programs that are easy to understand.
Thanks. So are you suggest learning other programming languages that would oppose my current understanding, such as scripting and procedural languages to solve problems so my understanding is more diverse? Just trying to see what your suggestion for my next move would be. Thanks again for all of your help.
Just read a book like Practical Common Lisp, Land of Lisp or Learn Haskell for the greater good, you will learn how to do some interesting programs and you vision of side effects will change. I am trying out Go now, it is really nice too, if you want to read some code check out http://github.com/lamg/md2sexp, it is really easy to understand (but it does not work yet).
Looking at your known languages my advice is: * don´t make a world of objects and patterns (the gang ...). These stuff is advanced and you should be careful, there is no magic to solve all your problems. * KISS principle * do some data driven programming
And I forgot the best of all tips: good theory leads to good programs.
Thank you so much for your help. I will start looking into your suggested references. I know my Prior knowledge is in OOP but that is because it is the main focus these days for academics. Thanks again.