I'm currently studying towards my Honours degree in Software Engineering. My course is basically a CS degree with a mandatory 12 month placement.<p>I currently develop in Ruby, JS and Java and I'm looking to broaden my knowledge (languages, techniques and concepts).<p>What books/languages would you say were important in shaping your career/made you a better engineer?
Since you mentioned Ruby and JS I assume you are talking about web applications. What I find interesting is that many web developers spend so much time in building applications yet don't have any experience in doing the things that actually make these things successful. Try building a simple service that you can market. Try doing a bit of Facebook and Adwords ads (you can get free coupons for starting out.) Look at the data and make changes to those ads to make them more effective. Get users, get feedback. Who knows, you might actually make some money at it.<p>Personally, I have have an internal clash between my geek side which wants to learn new things and play with shiny toys vs my practical side which wants for that time to be spent building something that is useful that I might be able to sell. Then when I start to commit to building, I know that I need to resist the urge to start coding and instead need to do work on validating the idea and reaching potential customers. Then when it comes time to throw up a web presence I need to resist breaking out the editors and frameworks and instead just push the "install Wordpress" button or something similarly quick and simple.<p>So, I would say, keep it practical. Learn what you need in the pursuit of creating value rather than learning to code with something for the sake of learning a different way to code something. I think you will find that there is more to making you a good engineer than just writing better code. If selling isn't your thing right now, then find an open source project to contribute to. With the right project, not only will you provide needed help, but you could also help boost your profile and attract notice of the people you would be looking to for job.<p>When you only have 24 hours in a day (and much less of that to dedicate to your craft) then it's best to get as much overlap as you can.<p>Oh, and go read through the endless other posts on Hacker News which have asked the same question. There are some great threads out there with information which won't be reproduced in this thread.