It’s important to always be in a learning state of mind; not just in programming, but in life. I’ve made it a point in my daily life to dedicate at least an hour a day to some form of study—be it music, reading, or programming—so that I don’t stagnate, both in my career and in my mental health. To that end, I’ve begun working with Ruby on Rails. I’ve done some light Ruby work in the past, building one of my older sites with Middleman and pushing it to Heroku. Anything outside static sites were (and still are, to a degree) a bit intimidating. I’ve been using the UT on Rails course by Richard Shneeman and it’s proven very useful so far. Instead of a basic “Hello world” application, he goes through concepts that allow you to build a full-featured application. I’d highly recommend the course; instead of learning about nebulous concepts and having to put them together yourself, Shneeman teaches in a semi-Socratic method kind of way, allowing concepts to emerge as you come across them while building the application. Some might argue that this method is dangerous, as you might overlook important core concepts such as security, etc., but you have to start somewhere. If too much focus is applied to getting everything right the first time, you’ll never complete a project. This used to be a large problem for me, but as I’ve grown as a developer, I’ve learned to embrace the f*** it, ship it mentality. I encourage anybody working in the web development field (or any field, really) to force themselves to step out of their comfort zone. Don’t be afraid to move fast, break things, and try new concepts that might fail. In my opinion, failure is a crucial stepping stone to innovation; if necessity is the mother of invention, failure is undoubtedly her husband.