A few months ago we switched over to using BambooHR as our primary HR software. They provide all sorts of great features for Skookum employees like a company directory with photos, PTO scheduling & approvals, and a centralized place for communication about HR benefits and updates. Those are just a few of my favorite features, but they provide so much more. You should definitely check out BambooHR if you haven't heard of them before or are looking for some new HR software.
Recently I've moved into a new role—unofficially titled "Internal Automation Hacker". Basically, that means I get to automate all our internal business processes, create management dashboards & reports, and automate some of our accounting tasks. But they printed up business cards for me so I guess it's my official title now.
BambooHR has an API that allows you to access various things about employees, both generally and specifically. I thought this would be a great way to manage authentication for some of our internal applications, as well as provide data for various metrics we need in order to group employees for reporting (location, department, etc.).
So like any software developer worth their salt, I went looking for someone who had done all the hard work for me by creating a library that I could reuse. BambooHR has a few listed on their API docs page, but I'm working in Ruby so their PHP, .NET, and Java libraries did me no good. I searched Github and Google only to find 2 Ruby gems:
Last update was in February 2012
Only has one feature: get the list of employees
Not a fan of the code architecture
So I decided to create my own more robust, documented, and tested Ruby gem for BambooHR called bamboozled. It's by no means a complete implementation of the BambooHR API, but it's a start and is architected to be expanded and built upon by others. After all, isn't that the spirit of the open source community? You can check out the docs on the Github repository to see all the gem's capabilities and how to use it.
Skookum's custom business software development philosophy involves leveraging open source software wherever possible to provide exceptional value and shorter timelines for our clients. Providing open source software back to the community is our small way of giving back. I'm proud to say that BambooHR has put a link to bamboozled on their API documentation language bindings page!