Before getting the opportunity to work with the Highgroove team I spent considerable time checking out their website. It might have been embarrassing if it didn’t have such a fun vibe to it. The picture on the front page of folks energetically making coffee certainly drew me to the site as much as having a good friend happily working there already. It definitely did not hurt that there was a Velociraptor craftily hidden behind the classic Konami code either. During my interviews I couldn’t help but almost sound fanboy-ish in describing my own coffee-dorkdom and mentioning that I had read the blog and bios often during the preceding weeks. I did so just to get a feel for the team with and for whom I hoped to be working. What I didn’t realize at the time was the breadth and depth of the knowledge base the crew has, and it is stunning!
Early in my tenure at Highgroove someone offhandedly said “the community is the documentation” and proceeded to comment that this why participation in (not just attendance of) conferences, Ruby User Groups, and hackfests is so critical to being a successful ruby developer. This proves itself to be more and more true the more I learn about Ruby.
Ruby, Rails, and the surrounding eco-system of libraries and infrastructure is astoundingly large and fairly nuanced. With GitHub sprouting wings within the community gems often fork, remerge, and have the enormous power of a constantly crafting and diligent userbase to keep them moving towards more powerful functionality. This is very empowering to developers in that cutting-edge functionality is very often simply a git-clone away. So too is the opportunity and/or need to dig into this cutting-edge code to bend it to your whims. Often when I’m doing just that, I come across some idiom or function I have never seen before which piques my curiosity. In those cases your search engine of choice is the best bet. More often than not I am not the first person curious about or struggling with a subject, and luckily for less experienced Rubyists and Rails hackers like myself, the community is also willing to put fingers to keyboards and blog about it! The community, not just the README, is often the most complete documentation.
What really shocks me is how often the blog post I find first is written by a current or alumni member of the Highgroove team! Not only are we writing ruby/rails/sinatra apps on exciting back-end technology but the team contributes to the ecosystem as a whole on a regular basis. This sense of obligation to contribute back is something I’ve never found at any other company. The fact that I choose to read the company blog, for fun, as part of my education is saying something. I’ve certainly rarely, if ever, opted to read the company newsletter or weekly email or blog at any other job I’ve ever had! This just one facet of the Highgroove team that makes it such a unique and fascinating place to work.