Using RSpec Shared Contexts to Ensure API Consistency
Back-End Full-Stack WebConsistent API design is important. But it is incredibly easy to lose sight of this when you are actually writing the API. Here is...
3 min read
Oct 31, 2012
I love our Wolfbrain logo, but I must admit that when I started at Highgroove it was a bit of an enigma to me. It’s a wolf? With a green brain that I can see? And we are hyper-specialists in Rails? I think I see…. Nope. I don’t.
During my first week, our Director of Business Development explained it to me this way: wolves can function on their own, but they excel within the pack. Individually, Highgroovers are excellent developers, but we’re stronger together. Hence the wolf. To be honest, I don’t recall his explanation of the brain part. But I remember not buying it.
During this iteration, it struck me what the brain in the wolfbrain logo means. Think about what your brain does. Among other things, it stores and retreives information: you have an experience of walking to the store, your brain remembers it, and you now know how to get to the store. And where is your brain, that thing you use to store that information? In your head, of course. So the wolf’s brain is firmly situated in his head.
A brief diversion that will ultimately help in our explanation: there’s a theory in the philosophy of mind called the extended mind. Very roughly, the idea is that your mind can, and does, extend beyond your skull: in essence, at least some of the things that you use to store and retreive information are part of your mind. I don’t know if this is right or not, but it doesn’t seem obviously false to me. So let’s run with it.
Now, armed with a tiny bit of philosophy of mind, we can get to the good part: the explanation for why you can see that wolf’s brain!
Before I started working at Highgroove, I was one guy. I could read books and search for things online, but my knowledge was fairly limited. It was constrained by my ability to take in new information. But once I started working at Highgroove, the amount of information I could access increased dramatically. We can, and do, still read books and blog posts, watch screencasts, go to conferences, and search the web. But when Nerds run into a problem, the typical approach is to work on it for 30 minutes and then, if you are stuck, ask for help in our chat room. So all day long you see messages pop up like this:
And every time, someone promptly replies. Gems are suggested, pairing sessions are volunteered and approaches are proffered. And these aren’t just random jokers on the internet offering advice. These are really smart people we trust, people whose experiences working on projects for companies like The New York Times, Audiogon, Five Point Partners and Mailchimp give them a wealth of knowledge that would take any one of us years to obtain. Instead of only having access to my past experiences (and Google!), I have easy access to the experiences of 20+ other developers. Our extended mind is huge. And very experienced. And crazy-smart. Augmenting my normal, internal mind with it is a very good thing for me, and it is a very good thing for our clients.
So there you have it: in my opinion, you can see the brain because it isn’t private, because its knowledge and experience is shared freely among the team. It is visible because its power can’t be hidden and its knowledge cannot be contained. It’s visible because we are proud of it. Wolfbrain activate!
Consistent API design is important. But it is incredibly easy to lose sight of this when you are actually writing the API. Here is...
The humanities scholar in me rebels when I hear the word “experiment.” To me, an experiment is a big, formal thing with a hypothesis...