Harvest is one of the earliest Rails applications designed for businesses. We started as a team of 3, using Rails 0.14.1.
Since then Harvest has grown into more than just a web application, becoming a mature time-tracking and invoicing platform, and serving tens of millions of requests per day. The databases which power Harvest process many thousands of queries per second, and the dataset is growing rapidly.
Though we are expanding our team, we remain a small and focused company. Harvest is self-funded, profitable and has become an integral tool for tens of thousands of customers in over 150 countries. We write on Harvest's engineering blog.
We are a team of humble and talented people all over the globe who genuinely care about our craft and demand the highest quality. Learn more about the human side of our company on the Harvest Watercooler.
You have experience with production deployments of MySQL and/or PostgreSQL which perform many thousands of transactions per second. You might have experience with other database systems too.
You have experience with ORM libraries, such as ActiveRecord. You can read and write application code (and tests) in your favorite language. We use Ruby, and Ruby on Rails at Harvest.
You can login to a MySQL server which is not performing well, examine the problem from various angles, and determine a course of action to resolve the problem. You can do this under pressure.
You can look at a complex SQL query, understand any inefficiencies exposed by the database or query design, and lead the effort to refactor code or data to resolve them.
You are comfortable designing a monitoring and statistics suite to ensure our current database performance is well understood.
You are comfortable designing database systems which can sustain failures of various types, and being on-call to help respond to any events which require intervention.
We work together in small, nimble teams. We believe in keeping things simple, deploying often, and focusing our efforts on high-quality incremental iterations, rather than laborious, months-long release processes.
Harvest has been distributed from day one and you will feel like part of the Harvest family no matter where you live. Everyone has a voice and the power to make decisions that impact our customers and our teammates.
This role offers the right candidate the chance to have a major impact at Harvest by shaping our tools and processes we have in place to manage our customers' data.