Keeping an Eye on Productivity

Recently, I started working on my first Ruby on Rails project at work. The project is also using Backbone.js. The Rails And Backbone communities are very active. I felt that I needed to keep up with everything that was going on in the communities. I tried to accomplish this by researching and possibly trying every new gem that came out so I could completely understand and choose the best options for this and future projects.

However, I wasn’t being very productive and moving the project forward. Instead I spent most of my time reading blog posts and writing prototype code. Also, all of research and prototyping wasn’t helping me become more proficient with Rails and Backbone.js.

So, I decided to change my tact and focus on the project at hand. I only went out perusing the interwebs to find what I needed when I needed. It’s been about a week now that I’ve been doing this and I have written many times more code than I did in the previous weeks. The project is now moving much faster and I am learning much more.

I must say that this process isn’t producing the prettiest or most efficient code, but I am fairly in-experienced with Rails and Backbone as compared to other languages that I know. And let’s be honest, very few people care about the quality of the code, only other developers that have to maintain the code and your future self. What the majority of people care about is, “does the product do what it’s supposed to do.”

I plan to keep up working in this manner to complete the project and to be more productive. I am becoming more proficient with Rails and Backbone.js. I also feel that I am in a better position to evaluate if and when to use a gem to accomplish a given task.

How do you balance “keeping up” vs. actual productivity?

« Python Meta-programming Gotcha with __getattr__ Getting Backbone.js to sync with Rails and Mongoid »