Tech Stack
AWSCloudGoGoogle Cloud PlatformKubernetesPostgresPythonTerraform
About the role
- Design, construct, install, and maintain large relational databases
- Maintain the integrity and security of the database, including backups and recovery procedures
- Implement and manage disaster recovery and failover systems
- Monitor database performance, implement changes, and apply new patches and versions when required
- Optimize queries for performance
- Collaborate with development teams to optimize database usage
- Set up and maintain database replication, clustering, mirroring, and other high availability strategies
- Use and understand tools like pgbouncer and modern monitoring systems
- Stay updated with the latest database technologies and best practices
Requirements
- Experience with PostgreSQL is mandatory
- Proficiency in PostgreSQL setup, replication, upgrade, monitoring and performance tuning
- Hands-on experience with PgBouncer
- Ability to read and write complex and very complex queries
- Experience with backup and recovery procedures, including PITR
- Strong knowledge of database design, documentation, and coding
- Familiarity with database management tools and performance tuning techniques
- Strong problem-solving and communication skills
- Familiarity with programming/scripting languages like bash, Python, Go
- Experience with DBaaS on cloud platforms such as GCP or AWS (would be a plus)
- Certification in database management or equivalent training (would be a plus)
- Experience in migrating large databases between cloud platforms (would be a plus)
- Familiarity with modern DevOps practices such as Kubernetes, Terraform, Helm (would be a plus)
- Experience in real-time data streaming technologies such as Debezium/Flink (would be a plus)