Learning Programming Advice

I want some advice to improve my programming skills. I have been using Java for over 2 years and have most of it down pretty well. I'm also learning JavaScript a little online as well and I was wondering what I should do to further advance my skills, if anyone has any books or links I could check out or any general tips I would be grateful, thanks

If you have been using Java for two years, then you have to read Effective Java by Josh Bloch.  It is the best Java book ever written, but it is not for novice Java developers.  You have to really have a solid 9-12 months of Java development experience before it will even make sense to you.  I had used Java for years and I did not think I needed to read “yet another Java book,” but after I read it, I realized I did not know as much about Java as I thought I did.  Even James Gosling—the father of Java—said I thought I knew Java until I read Effective Java.  I would even go so far to say that reading Effective Java will make you a better developer in general.  Many of the topics Josh Bloch covers actually apply to other languages as well.

Beyond reading Effective Java, if you have started to learn JavaScript, it sounds like you are starting down the path of learning web development.  If that is the case and you already have a strong foundation in Java, I would recommend starting to learn some of the Java server side technologies you will be interfacing with from the web point of view, things like JSF for web application development, Hibernate for Database access.  You can also start to look at RESTful Web Services, something you will deal with a lot in the web development world, with both Java and JavaScript.