At OmbuLabs one of our core values is Open by Default, which means that we want to have open communications, contribute to open source projects, give back to our community, and become thought leaders in our industry. We also believe that one great way to give back to the community is sharing our knowledge, especially the things that we discover as developers in our day-to-day.
That's why we try to keep consistency in this blog and also encourage every team member to speak at conferences, on podcasts and at meetups. I want to share with you things that are working for us as an "open by default" team.
The Contribution Goal
One way to incentivize our team to contribute to theses initiatives was to define a company yearly goal, that we call The Contribution Goal. This goal applies to everyone in the company, not only developers. We have been writing blog posts for years as a way to reach this goal, but a few months ago we changed it to also encompass open source contributions, conference talks, meetups (talks or organization) and podcast participation.
We use a points system to keep track of everyone's contributions; each kind of contribution has a different value. By the end of the year each team member's points should add up to 6 or more.
Since making contributions is a settled goal for the company, it is natural that this will impact our performance evaluations which occur every 6 months.
Writing articles for our blogs
Writing articles is something that we all do at OmbuLabs. This is the most widely adopted way for the team to share the things we learn and the things that we struggle with as developers, as a remote team, as an agile team or just as individuals trying to create amazing things. Our articles have appeared in Ruby Weekly several times.
If the person decides to write an article, either for OmbuLabs' blog or FastRuby's blog, that will count as 1 point, with no limit of contributions. To reach 6 points in a year we need to make sure to write a blog post every 2 months.
We don't write only technical articles, we also write about our day-to-day, our internal processes, the tools that we like using and our culture and values.
Participate at a conference, meetup or podcast
At OmbuLabs we also always encourage people to share knowledge by speaking at conferences, meetups and podcasts. We are happy to help our teammates to find an interesting topic, prepare the proposals and practice the presentations. Whatever you need to feel confident to present, we are willing to help.
If instead of writing a blog post, the person decides to speak at a conference or help to organize it, this will count as 2 points as long as they are representing OmbuLabs while at it. If it is a meetup or a podcast, it will count as 1 point.
Here are the links to some of the conferences where someone from our team gave a presentation:
- RubyConf Argentina 2018: The Lean Startup Hacker
- RailsConf 2019: Micro Performance Improvements
- RubyConf 2019: Escaping The Tar Pit
- RubyKaigi Takeout 2020: RubyMem: The Leaky Gems Database for Bundler
- RubyConf Australia 2020: Escaping The Tar Pit
- Ruby Summit Brasil 2020: Rails Upgrade: como atualizamos uma aplicação gigante utilizando dual boot
As another way of contributing to the community, we also have been sponsoring, hosting and speaking at the Philly.rb meetup.
And, last but not least, here are some of the podcasts where someone from our team was invited to co-host:
- Get Paid Podcast
- Remote Ruby #1
- Remote Ruby #2
- Rails w/ Jason #1
- Rails w/ Jason #2
- Rails w/ Jason #3
- Legacy Code Rocks
- Just the useful bits
- Ruby Rogues
Contributing to open source projects
Another way that we like to share our knowledge and help the community is through open source contributions. That's why we try to open source our tools whenever we can.
Some of the open source projects that we maintain are:
- Bundler Leak: The best tool to find leaky gems in dependencies.
- RubyMem: A leaky gems advisory database created and maintained by the Ruby community.
- Dash: A dashboard that pulls tasks from Github and Pivotal Tracker.
- Blogcop: A GitHub bot that helps manage outdated articles on a Jekyll blog.
- Skunk: A simple tool to calculate tech debt in Ruby applications.
- Points: A Rails application to collaboratively estimate stories.
- Audit: A website that allows users to check for vulnerabilities on their Gemfiles in an efficient and secure manner.
- Harvesting: A gem to interact with the Harvest API v2.0 and forward.
For open source contributions we have a goal of at least 2 hours per month on any internal or external open source project. Of course we make many more contributions throughout the year, but to fulfill the goal we need to do at least 2 hours per month :)
This is it!
We are proud of ourselves for being great enthusiasts of sharing our knowledge as a way to give back to our community. If you're involved in these activities, you've probably seen, read or listened to someone from OmbuLabs already and we plan to keep doing it for as long as we can.
This is a live post, we'll keep updating it whenever we make new contributions. So stay tuned!