Postgres Database Administrator (DBA) - great scaling opportunities! at ChannablePosted on: 05/13/2021
Location: Utrecht (ON-SITE)
****What will your role be?**** You will be contributing to the improvement and scaling of our data infrastructure and the smooth operation of our tool. You will be primarily responsible for our core Postgres databases, which power the main services that Channable is built on. You can rely on your colleagues from the DevOps team and our development teams, who have a deep appreciation for relational databases, and Postgres in particular. You will review and advise them in their schema designs and help us find simple and elegant solutions. Summarized, your tasks will include (but will not be limited to) the following: * Be a resident SQL and Postgres expert at Channable; * Administrate our Postgres databases on a daily basis; * Set up replication and backups for new databases; * Prepare and execute major version upgrades of our databases; * Debug and troubleshoot slow SQL queries and other performance issues; * Prepare and execute major version upgrades of our databases; * Review data models and advise our dev teams on schema-design questions; * Manage our DB infrastructure as code (that can be reviewed and version-controlled); * Hardening and securing our databases against attacks and abuse; * Improving and maintaining our monitoring and alerting systems for our databases; * Developing new tools that help us improve and run our infrastructure. If you want to read more about our development adventures, check out our tech blog: <https://tech.channable.com/> You can also take a look at some of our open-source work at <https://github.com/channable> to get a feeling of how we work together and what our code looks like. ****Who are we looking for?**** Ideally, you have extensive experience working with relational databases professionally (preferably Postgres). You are a SQL expert who can write and debug complex queries with ease. You can read a query plan and find the bottlenecks within it (even if the data model itself turns out to be the problem). You can help us scale our TB+ Postgres instances to 10k requests/second and beyond while keeping the latency to low milli-seconds. You enjoy pushing the system to its limits and thinking about architectural improvements that we could be making to our database schemas. You are a team player and you can identify yourself with [our core values](https://jobs.channable.com/). In more concrete terms, we would like you to have the following: * Extensive experience working with relational databases, preferably Postgres; * Advanced knowledge of SQL (DDL, DML, ACID, transactions, MVCC, etc.); * Familiar with practical concerns, like connection-pooling, physical and logical replication, backups, upgrading between major versions; * Experience scaling a relational database in both size and the number of requests/s; * Decent knowledge of Linux and its system administration tools; * Security-awareness and familiarity with concepts like defense-in-depth and the principle of least privilege; * Database modeling and architecture skills; * Team-player who can communicate clearly both orally and in writing; * Committed to high engineering standards. And then there are some things that are ‘nice to have’: * Knowledge of Postgres internals (e.g. how MVCC is implemented); * Background in computer science and/or good understanding of data structures and algorithms; * Experience in managing infrastructure with either GCE, AWS, or Azure; * Hands-on experience with distributed systems; * Programming skills in one or more languages (preferably in Python); * Familiarity with infrastructure as code tooling, such as Ansible and Terraform. Candidates of all levels are encouraged to apply. Our preference is to hire a candidate with at least a few years of experience, but we’re also open to applications from recent graduates. ****Practical requirements**** * EU citizenship or a work permit, preferably already living in The Netherlands; * Available for at least 4 days a week, preferably full-time.