Types of Jobs on the Metabase Network

Thank you for being part of the extended Metabase family! Whether you are looking for help, or are willing to offer help, we appreciate you taking the time to reach out to us.

Below is a description of the kinds of jobs that we’ll be trying to facilitate, as well as what to expect.

Additions to Metabase

Bug bounties

This refers to a specific reported and acknowledged bug. Its root cause might be known or unknown. The expectation is that the fix will solve a root problem and not a symptom. You should expect to provide backend, frontend and/or End-to-End tests for the fix to receive the bounty. The bounty will be paid on merging of the Pull Request and the acceptance of the fix by the person posting the bounty.

Feature bounties

This refers to a feature that is on the Metabase project roadmap. The expectation is that during the course of work, the requestor and the consultant will work closely with the Metabase team. For more information check out our contributor guide. Please note that the Metabase project has very strict requirements for any external pull requests. In the event that the feature does not already have a functional, UX or visual design, you should expect a review of your proposal by the core team. Similarly, the pull request will have a code review, and it is likely that we’ll ask you to make changes in style, function or test coverage. All major features will also need documentation of how they work.

Please factor these steps into your engagement. Note that our connecting you does not mean these checks will be waived or that we will necessarily merge your pull request.

There will be cases where the Metabase team has decided that certain feature requests are outside of the scope of the core project. We will inform you prior to connecting you, but please check in with us if you think there is any grey area.

Database drivers bounties

While Metabase supports a large number of databases, we’re always looking to add support for more. For more information about how to write a driver and expectations, please read our guide to writing a driver. A key part of any database driver is extensive testing, and plugging into our continuous integration and testing infrastructure. Any driver will need to meet our test coverage requirements, and will need to work with our CI setup prior to being merged. If the underlying JDBC database driver is not compatible with the AGPL, you will also need to coordinate

For all of the above classes of additions, please note that all developers who write code that is intended to be included in our main GitHub repository will need to sign our contributor license agreement.

As a reminder, any and all additions to Metabase will be reviewed according to our standard process for accepting contributions and no exceptions can be made to our UX , code quality or testing requirements.

Note: We will attempt to pool bounties for bugs, features and database drivers as we can to make sure that features that multiple members of our community are willing to pay for are appropriately compensated. We’re still working out how to do this, and will let you know in the event that there are multiple users who need a given issue fixed.

Custom features or integrations to Metabase

These are features that are not expected to be merged into the main metabase GitHub repository. The expectation is that they will run in a custom fork, or be an add-on that uses the Metabase API to do interesting things. You don’t need to run any designs or code by the Metabase team. However, we recommend doing so to make sure that any changes you make or any API endpoints you use are done in a way that makes keeping up with Metabase upgrades easy.

Also, please note that the main Metabase repository is released under the AGPL license. We expect all Network partners to respect the terms under which we’ve shared our application. If you need clarifications as to whether what you’re planning on doing plays nicely with our license, please ask.

Metabase Operations

Setting up Metabase

While we’ve tried to make Metabase as easy to install as possible, sometimes you either have specific requirements, or you just want to offload this from your team. This is a one-off job that involves setting up a working Metabase instance and connecting it to a data warehouse. Often times, connectivity to the desired database or data warehouse can be an issue, so we recommend discussing this in depth before agreeing to a specific time or price.

Ongoing Metabase maintenance

Keeping Metabase up to date and making sure that things are humming is easy but can take up a bit of time. This is ongoing agreement to keeping you running the latest version of Metabase, as well as making sure things like email, slack integration, etc and working. Note that this does not include support or bug resolution.

In both of these, the expectation is that you will use the most recently available stable version of Metabase.

Data Infrastucture

Setting up a data warehouse

This refers to setting up a given data warehouse, whether managed (eg BigQuery, AWS Redshift, etc) or on site. It might optionally include ongoing support.

Data Ingestion

This refers to getting data into an existing data warehouse. If might involve working with APIs, other programs data export functionality, etc.

Data warehouse performance tuning

This refers to both tuning the data warehouse server software and/or writing transformations that make common queries faster.

Analytics Support

Dashboard Setup

Rent-an-Analyst

   Other Analytics and Data Science