Right now, shipping a change to production means pulling the latest code on a single VPS and running the deploy steps by hand. It has worked, but it will not keep working as the tenant count grows. This role exists to fix that properly.
What you'll do
- Design and build real CI/CD for a Laravel application that currently has none — tests, automated deploys, rollback that actually works
- Own production infrastructure: nginx, PHP-FPM, MySQL, and the Supervisor-managed queue workers that process every billing charge and notification email
- Build proper monitoring and alerting — today, incidents get caught by hand and logged manually; you decide what "properly instrumented" looks like here
- Think ahead on the database-per-tenant model as tenant count grows: backup strategy, migration rollout across every tenant database, connection management
- Tune the stack for the traffic patterns that actually break things in practice — large file uploads, webhook bursts, background job throughput
- Turn hard-won incident lessons into infrastructure that makes the same class of mistake impossible, not just documented
What we're looking for
- Hands-on production experience with Linux, nginx and PHP-FPM — not just container orchestration one layer removed from the actual server
- Comfortable with MySQL operations: backups, replication basics, migration strategy across many databases
- Has built CI/CD pipelines from nothing, not just configured an existing one
- Can read a stack trace or a slow query log and find the actual root cause, not just the symptom
Nice to have
- Experience with multi-tenant SaaS infrastructure specifically
- Infrastructure-as-code experience (Terraform, Ansible, or similar)
- Familiarity with Stripe webhooks and payment infrastructure reliability
Remote, full-time. Use the Apply button below to send your CV and a short note on what you'd fix first.