In engineering, we love to hack. It’s not just something we do because we get paid … it’s something we do for fun (that’s what’s kinda awesome about software engineering as a job). Obviously we’re usually working on the core product, building new features, fixing bugs, and refactoring code to make it harder/faster/better/stronger. But sometimes, towards the end of the day, we write stuff that is just for fun.
For example, a couple of weeks ago, Eugene noticed that we waste a lot of time arguing about where to go for lunch. So he wrote a “lunchbot”, that hangs out on our irc channel. The lunchbot knows the restaurants in the area and picks a random one whenever we ask it. This is a dorky but extremely efficient way to decide where to eat … no one can argue with the verdict the lunchbot gives.
Last week, Sylvain noticed that there was no way to know whether code was currently being deployed to the server. So he hooked up some (huge) speakers to a spare desktop and wrote a script that plays a bell sound every time the deploy script is run. That way, two people won’t try to deploy at the same time (we’re not sure what would happen in that case, but our theory is that it wouldn’t be good). We’re thinking of upgrading this script to tell us when someone subscribes to slideshare, renews, or cancels … this would give everyone on the team a visceral feeling of the rhythms of our business (sort of a “sales gong for fermium”). When do people upgrade? When do they downgrade? (Full disclosure: the idea came from the movie “Middle Men”, which was otherwise mostly terrible).
Fun projects like this are why a lot of us started programming in the first place, but with deadlines and customers and all the pressures of writing production code, it’s really easy to get all serious and forget about the sheer joy of programming. As a programmer, you can literally write software that changes your workplace for the better! So the next time you need a break, look around and see if there’s something about your workplace that could be improved with a 20-line ruby program. If this sounds like fun to you, you should know that we’re hiring.