Senior Cloud Engineer

Patients Know Best
### TL;DR: why should you apply

Social mission, flexible work schedule, supportive team, real opportunity to make impact.

### The company
Patients Know Best is developing a personal health records service that is changing the way people manage their health, making their life easier and opening up a global market in the process. We’ve built a platform to help patients and clinicians share medical data online that is being used in the UK and abroad.
We are a fully distributed team, everyone is working remotely. The core values of our team:
* we are here to make people’s lives better: everyone at PKB is here to make a positive impact in the world
* full transparency: all information is made available to everyone (unless there’s a really good reason not to)
* flexibility, trust and outcome-focus: we care about the results of your work, not how and when you achieve it
* support: everyone is encouraged to ask questions and help each other
* continuous improvement on all levels: we iterate on software, but we also iterate on * infrastructure, organisation, culture so that we’re a better company every year that builds a better product every year
### Our stack
PKB services are hosted on Google Cloud Platform.
* Infrastructure is managed with Terraform.
* Our JVM-based back-end services are deployed to Kubernetes clusters
* Data is stored in Postgres (both GCP-managed and self-hosted), Cloud Storage, BigQuery, etc.
* Monitoring is done with Prometheus and Grafana
* Business intelligence & reporting is based on BigQuery, G Data Studio, G Pub/Sub
### About the role
This is a high-impact role that comes with lots autonomy and requires a self-driven, collaborative person.
You will be the first person who is fully focused on cloud infrastructure. You will be designing the cloud architecture, deployment pipeline and development environment. You will be able to build your own team as the company grows if you need further people.
The role requires broad skills: you should be able to
* analyse the current state of the platform
* prioritise work to achieve the best return on the development resources we invest
* participate and lead implementation efforts
* identify the proper metrics and measures to track the stability and performance of of the system
* collaborate with other development teams to help them achieve their goals and improve their efficiency
A few specific examples:
* Better CI/CD: we have tons of tests -- it would take almost a day to run all of them on a common laptop. This is great for QA, less great for development experience.
* Zero trust/BeyondCorp-like company infrastructure: designing a scalable, robust path forward to secure and deploy our internal tooling
* Improving the monitoring of JVMs, clusters, applications
* Architect the optimal storage setup for multi-terabyte relational and key-value data.
### Requirements
You don’t necessarily have to be proficient in all of these, but the more you know the better.
* outstanding written communication skills and good verbal communication skills
* experience with remote work
* hands-on experience with CI/CD, e.g. testing and deploying dependent microservices
* knowledge of Kubernetes, Terraform, e.g. managing secrets, resources, networks
* Google Cloud Platform
* JVM ecosystem, e.g. profiling, monitoring, tuning
* networking
* databases, e.g. various replication methods, monitoring, PITR recovery
* coding/automation experience: our primary need is automation, not administration
### Benefits
Supportive and smart colleagues, flexible work, opportunity to make a big societal impact, 25 days holiday, competitive salary.