SRE- Database Engineering
About the team:
- Database Reliability Engineering Team at company is looking for database Engineer to continue support and operation of it's online databases.
About the Assignment:
- This assignment is to support ongoing business continuity .
The Core Objectives:
- Existing Support
- Covering Basic Database support
Essential Experience / Criteria:
Desirable Experience / Criteria:
- MySQL 5 Yes
- PostgreSQL 5 Yrs
- MongoDB 2 Yrs
About the Team
- How do we ensure database performance, availability and security in a hyper-growth environment?
- What are efficient ways/best practices to operate critical and large database systems?
- As company is expanding into a Superapp, we are constantly optimizing our processes and best practices for databases. We are expanding our database fleet with the addition of multiple open sources databases and tooling.
Duties and Responsibilities
- Database Reliability Engineers (DBRE) are responsible for keeping database systems that support all user-facing services and many other Companies production systems running smoothly 24/7/365. DBREs are a blend of database engineering and administration gearheads and software developers that apply sound engineering principles, operational discipline and mature software development and automation, specializing in databases (MySQL in particular). In that capacity, DBREs are peers to SREs and bring database expertise to the SRE and Infrastructure teams as well as our engineering teams.
As a DBRE you will :
- Work on database reliability and performance aspects for Company as well as work on shipping solutions with the application teams.
- Analyze solutions and implement best practices for supported datastores(Primarily MySQL).
- Work on the observability of relevant database metrics and make sure we reach our database objectives.
- Work with peers(SREs, Application Engineers) to roll out changes to our production environment and help mitigate database-related production incidents.
- OnCall support on rotation with the team.
- Provide database expertise to engineering teams (for example through reviews of database migrations, queries and performance optimizations).
- Work on automation of database infrastructure and help engineering succeed by providing self-service tools.
- Plan the growth and manage the capacity of Company's database infrastructure.
- Design, build and maintain database infrastructure that allows Company to scale to assist hundreds of thousands of concurrent users.
- Support and debug database production issues across services and levels of the stack.
- Make monitoring and alerting alert on symptoms and SLOs, and not on outages.
- Document every action so your learnings turn into repeatable actions and then into automation.
- Review, analyze and implement solutions regarding database administration (e.g., backups, performance tuning)
- Work with Terraform, Chef and other tools to build mature automation (automatic setup new replicas or testing and monitoring of backups).
- Design and develop specifications for future database requirements including enhancements, upgrades, and capacity planning; evaluate alternatives and make appropriate recommendations.
- Have at least 5 years of experience running MySQL/PostgreSQL databases in large Environments
- Have at least 1 year of experience with infrastructure automation (Ansible/Terraform)
- Have solid knowledge of SQL and PL/SQL
- Have Solid knowledge of the internals of MySQL/PostgreSQL
- Have an urge to collaborate and communicate
- Have an urge to document all the things so you don't need to learn the same thing twice.
- Have a proactive, go-for-it attitude. When you see something broken, you can't help but fix it.
- Know your way around Linux and the Unix Shell.
- Have a passion for stable and secure systems management practices.
- Possess data modeling and data structure design skills.
- Knowledge of distributed databases (Cassandra/Couchbase)
- Knowledge of caching
- Awareness about application orchestration
- Awareness of cloud infrastructure (AWS/GCP/AZURE)