Monday, July 23, 2012
Polyglotism. Losing your (rubyist) religion in Philly.
An interesting email came across the Philly Ruby list posing the question, "Is Ruby dead in Philadelphia?", noting that there appears to be more ruby jobs in SF and NYC then Philly. It provoked a good conversation. Here's my take... (echoing a bit of Andrew Libby's sentiment)
Universally, people need their problems solved. The way they solve their problems depends on their priorities. Small budgets and tight timeframes prioritize time-to-market above all else. RoR typically expedites time-to-market. (IMHO) Since startups often find themselves in this situation, they often pickup RoR because it aligns with their priorities. It follows that since NYC and SF both have stronger startup communities than Philadelphia, there is a greater demand for Ruby in those areas.
Outside of that however, I'd suggest that Ruby is alive and well in Philadelphia, but maybe not as visible. Its use may not manifest itself in job postings. More and more often, solutions comprise an assortment of technologies. Even the larger enterprises in Philly (Comcast, Pharma, etc.) are beginning to take a polyglot approach to development. They are using the "best tool for the job" to solve their problem. The days of endless debates arguing over which language is better are waning.
Why compare apples to oranges, when really -- "Sometimes you feel like a nut, sometimes you don't"?
Losing your religious affiliation to a language opens up a world of possibilities.
We've got no religion at Health Market Science. We use ruby, perl, java, clojure, etc. We use ruby, not for its rapid development characteristics, but because it is dynamic. There are pieces of our system that need to be flexible. Some of our code even needs to change at runtime. Ruby fit the bill. But our services platform is written in Java where we get warm fuzzies from type-safety, etc.
Now, what's that mean for job descriptions? Well, I'm not sure. We still tend to put specific technologies in the descriptions, but the expectation is otherwise. We look to hire good software engineers. I'd expect any good software engineer could be productive in any language in short order. That's not to say that knowing idiosyncrasies of languages isn't useful, its just not of paramount importance in today's multi-language, multi-technology environments.
So... if you are looking for a Ruby job in Philly, you may want to look for a Java job in an environment that requires ruby. =)