About the role
WeaveGrid’s Core engineering team is responsible for our internal data services and products, which process, store, and combine data from many different sources. These systems underpin all of our products, and their quality and performance are central to our business.
We are searching for an engineer who specializes in database implementation and optimization. Our system leans heavily on traditional relational data stores, Postgres in particular, but object and NoSQL stores will play an important role as we add new workloads to our system. The structure of our business imposes interesting constraints on data segregation, governance, retention, and more. This role will be responsible for designing and optimizing data storage and retrieval systems that perform well, scale with out business, and meet the rigorous reliability and security commitments that our customers and partners expect.
We are a small team, though growing fast. In addition to the specific responsibilities described here, we expect that this role will evolve as the company expands.
- Configure database instances and clusters to achieve performance, reliability, and scaling requirements
- Propose and justify database architectures and configurations to meet new or updated requirements
- Troubleshoot poor database performance across all possible causes, from network to compute to queries and indexes
- Configure databases to ensure that access control and authorization requirements are correctly implemented
You view databases as the center of gravity of a modern software system, and you take great satisfaction in fitting the right tools to the tasks at hand. As the SQL/NoSQL battles have settled, you have reached a balanced understanding of the strengths and weaknesses of the major paradigms. Most of all, you recognize that, while choice of technology is important, most of the success or failure of a given data system lies in the proper configuration and implementation of the chosen data stores.
You have experience with systems that operate under non-trivial security and data governance requirements, and you recognize that these factors can, if not properly handled, introduce much of the unnecessary complexity and brittleness of a system as it matures. Accordingly, you can speak to how you have handled these tradeoffs in the past.
When performance or reliability issues arise, you are eager to roll up your sleeves and trace down the root cause; nothing is better than removing a resource bottleneck or creating a missing index and seeing the metrics go back in the green.
- Experience with the provisioning and administration of database clusters
- Understanding of the strengths, weaknesses, and tradeoffs between different database engines and types
- Experience with various backup and data retention schemes, including practice in restoring after data loss or disaster recovery
- AWS RDS
- AWS Aurora