Noel Rappin Writes Here

July 8, 2010: Who Needs a Hero?

Clojure, Hiring, JavaScriptNoel RappinComment

Book Status



Beta 4 should be going out Real Soon Now. As far as I know everything is ready and we're just waiting for it to actually be generated.

Still working on legacy coding chapter.

Links



A couple of links about hiring today. One debate is between Ben Orenstein and Brian Liles about whether you can get a Rails job without experience. Somewhat weirdly, both of them seem to be arguing the same side, which is to go out and get some experience. Open source projects are a great idea, which was also the topic of Blake Smith's talk at Chicago Ruby this week.

Speaking as somebody who has been on the hiring side of the equation, I actually like Joel Spolsky's formula of "smart and gets things done". Experience is sometimes a proxy for "get things done", but often isn't. Contributing significantly to an open source project would be a good way to show getting things done (though I don't have a tremendous open source portfolio myself). I've definitely hired and recommended people with less experience if they had a portfolio of some code and came off as really great in the interview. A lot of Rails shops are including long pairing sessions as part of the hiring process -- it's hard to hide during that.

On another angle, Trotter Cashion and Gregory Brown have a little mini-debate on what kind of developers to hire for a startup, generalists or specialists. Again, they are agreeing on a lot here. Brown is suggesting that contractors can help scale a startup early on. I think that hiring all specialists can become a real problem, if the team gets siloed that makes scheduling and planning more difficult. Also, you can't every say enough that hiring cowboys and heroes is just not sustainable. It may seem sustainable for a while, but then all your heroes burn out and leave, or they burn out and stay, which can be even worse.

Hey, another one from Jay Fields, this one is about experiences using Clojure to do high-level testing of a Java app, by which I assume Fields means integration or acceptance testing. Interesting points, especially since it seems like his team didn't go in knowing Clojure. Back in the day, we hoped that Jython would become popular for this kind of thing -- Fields even mentions having a REPL terminal in Clojure, and the Jython book has a longish example of this kind of think, if I remember correctly.

This just came over the wire from Corey Haines twitter feed -- Ben Cherry gives some good advice on writing testable JavaScript. This is great advice about how to keep untestable dependencies and state out of some basic JavaScript constructs.