Thursday, December 1, 2011

Blocking Issues

We built Jawaya on Rails. At the time it kind of made sense; Rails is hot, there's a large library of gems to pull from, and Ruby is a relatively easy and forgiving language to learn.

I'm able to pick up just about anything, though I wouldn't call myself a stellar developer by any means. With this I focused on the front-end, and had some local help build out the back end. 

But my help has been part-time, so when I hit a blocking issue, I have to work on something else until that issue gets resolved. More often than not, I set the project aside and work on something else until stuff is resolved. 

Currently I have a problem where the performance is so bad for some reason that it simply isn't worth my time to code against it. 

Now, I could try to become a Rails expert, but there's something about the shorthand that turns me off for some reason. Digging into someone else's code isn't fun either, especially the next time they get into it and see the mess you've made :)

This is the problem of not having a co-founder. It's also the problem of not choosing a platform I'm personally comfortable with. Over the past few months I've learned Node, which allows me to code in JavaScript up and down the stack. When I have an issue, I'm not blocking on anyone else and can solve things pretty quickly.

I don't know what the lesson is here. I don't think Rails was a mistake, per se, and perhaps I should have taken the time to just learn it very well. Or perhaps I should have found a technical co-founder. Or perhaps I shoulda, woulda, coulda. 

Wrapping up the final beta has taken way too long, and partly it's because of me, lack of resources, and lack of availability of my lead guy, who's a great guy and highly competent, just not highly available. 

But if I choose to continue with this, I might do what a lot of people recommend against: rip and replace, and move the entire thing over to Node. Now that we know what the app is, it might make a lot of sense. 

Or it could be incredibly stupid. :)

So how do you deal with blocking issues?

No comments:

Post a Comment