The Product Development team at Braintree has a tradition of setting aside 10% of our time for something we call Open Dev. Similar to the program popularized by Google, Open Dev is where we have self-directed time to explore new product ideas, try the latest technologies, and improve our skills.
Over time, we've tried a few different ways of organizing this time, and we recently spent some time reflecting-on, and re-evaluating Open Dev Time. As with everything at Braintree, we want to improve the way we work to reflect the changing (growing!) team, while preserving what is valuable.
Here are the guidelines we decided to apply to open development time:
- Braintree-focused Time - Every Friday afternoon is focused on self-directed time to work on improving our products, technology and how we work. Some examples include improving our tools, gathering metrics, writing blogs posts, and exploring new product ideas and technologies. We do all of this work at other times too, but this time is dedicated, and individual team members drive what gets done.
- Personal-interest Time - The last Friday of every month is self-directed open development on any topic of interest. Many of us use this time to work on fun open source projects utilizing our favorite new technology.
- Applying Judgment - We aim to spend 10% of our time on Open Dev. No one tracks their Open Dev hours - individuals are trusted to manage their time. Sometimes, individual Braintreeps, and different teams, may choose to change their Braintree or Open Dev timing depending on deliverable status, project load, or other events.
As part of this re-evaluation process, we had the opportunity to reflect on some of the great things that have come out of Open Dev time at Braintree. Here are some of the highlights.
We've used open dev time to spike out new technologies that eventually made it into our production stack.
- Postgres 9 is the database that underpins our payment gateway
- Riak is a modern scalable data store that we use on some platforms
- RabbitMQ is a messaging system that helps our different platforms talk to each other
- Graphite is a foundation for collecting more detailed metrics about our systems
Just as importantly, we've evaluated some technologies that didn't work out, and found this out before they could cause trouble in a system we actually rely on.
We've created and expanded a number of useful open source tools that are now part of our daily work.
- Supply Drop is how we maintain our entire infrastructure
- Curator is used in the backend of our Apply and Login platforms
- Woodhouse addresses annoying issues with ccmenu that caused slow builds and instability on our pairing stations
- Vimux makes running tests easier on a daily basis
- Setec Astronomy is a ruby gem and command line interface for KeepassX
- HKDF is a Ruby library for deriving cryptographic keys, used in some backend systems
We've built some fun open source programsThese projects allowed us to experiment with new technologies and ideas, and they make life more enjoyable for everyone at Braintree:
- Brainiac is our lunchroom information radiator and big-screen heads up display
- Jukebox2 is our collaborative music player that keeps Braintreeps jammin' all day
- Elovation makes certain that we all know who is top-dog at ping pong (hint: it's Amit)
We've generated some buzz
One of the things we do in Open Dev is write blog posts (often about things developed during Open Dev...meta) and prepare presentations for public engagements.
- Blog posts have been responsible for record-setting traffic on the Braintree website
- Presentations have raised our profile at other companies, universities, meetups, and conferences like GoGaRuCo, Surge, Puppetconf, Geekfest, and many others
We walk the talk
Most importantly, Open Dev Time has been a tremendous recruiting and retention tool. Not only are people attracted to the notion of having time for personal development and direction, it is a strong and concrete signal that we live our values of trusting people to manage their own work and their own time. Much like our open vacation policy, many Braintreeps view Open Dev as one of the key symbols of who we are.
We would love to hear how other companies approach their version of Open Dev time. What has worked for you, and what value does it bring to your organization?