Database Administrator

Job description

About Snapp

Snapp is the pioneer provider of ride-hailing mobile solutions in Iran that connects smartphone owners in need of a ride to Snapp drivers who use their private cars offering transportation services. We are ambitious, passionate, engaged, and excited about pushing the boundaries of the transportation industry to new frontiers and be the first choice of each user in Iran.

About the Team

We are responsible for maintaining databases within Snapp! We are often get involved when all the design decisions have been made and have to keep things up and running with the best performance at any time.


About the Role

We are looking for a Senior Database Administrator focusing on MariaDB or MySQL to join the DBA team at Snapp! We need high-level skills here to run engineering and deal with other teams that have even a bit of touch with our data. It would be best if you were responsible for the 2nd and 3rd levels of support and automation within the DBA team, reporting to the DBA team lead.


Responsibilities

  • Managing and maintaining RDBMS Databases including MariaDB, PostgreSQL DB
  • Writing SQL and stored procedures and query tuning on high transaction systems.
  • Use tools like MySQL Workbench and CLI for database tuning. Generate traces, execution plans, identify performance issues, deadlocks/contention and resolve them
  • Managing high availability (Replication, Clustering, ...) and troubleshooting in case of any issue
  • Develop strategies and implement solutions for managing backups, restoration, and replication
  • Collaborate to manage constraints and indexes
  • Proactive housekeeping/archiving and shrinking of databases
  • Manage production, QA, and development database environments
  • Maintain data integrity and security
  • Create detailed documentation including diagrams of database infrastructure
  • Generating various reports by querying from the database as per need
  • Set up and maintain database infrastructure for the company’s BI needs
  • Create and manage ETL (Extract-Transform-Load) development / data integration
  • Effectively coordinate and communicate with all the stakeholders

Requirements

  • Bachelors or Master’s degree in computer science or equivalent education
  • 3+ years’ experience in administering MySQL databases or similar forks (MariaDB, Percona)
  • RDBMS databases core concepts
  • Hands-on MariaDB and preferably PostgreSQL DBs
  • Familiar with document-based NoSQL dbs like MongoDB
  • Familiar with Linux and scripting (Bash or Python)
  • It would help if you were comfortable communicating in English
  • Perfect knowledge of backup and recovery and related tools
  • Excellent knowledge of data retention policy and data archiving
  • Very good experience with monitoring tools and optimizing the performance of the database
  • Experience in MySQL Clustering, Replication, and HA technologies including mirroring, log shipping and reading, failover cluster, and various replication technologies would be an advantage
  • Knowledge of other databases like PostgreSQL and MongoDB databases, and In-memory databases will be an advantage.
  • Proficient with related MySQL logs for monitoring and troubleshooting database activity and performance
  • An innovative approach to work, constantly looking for upgrading the system to more efficient and effective new technologies