Senior Backend Engineer: PowerSync
Global Remote
JourneyApps is looking for a senior software engineer to join our agile and cutting-edge engineering team. JourneyApps products are built on-top of a world-class, highly scalable, highly available microservice architecture, and we are looking for experienced engineers that have strong skills in these areas. The JourneyApps infrastructure serves as a multi-product foundation, and two products are currently running on it: JourneyApps Platform and PowerSync.
The ideal candidate should have extensive experience deploying and managing modern tech stacks and be comfortable working in a highly versatile agile-based team (agile as in agilemanifesto.org, not the commercialized corporate definition of agile). A big part of working at JourneyApps involves owning projects, championing the adoption and integration of new technologies, and being flexible and adaptable as our products evolve.
Technologies experience/skills required:
Candidates should be experts in:
- TypeScript
- About 80% of stack is Node based.
- Advanced build systems (tsc/Webpack/Babel), project references, generics.
- Kubernetes (broad)
- Need experience across the entire Kubernetes ecosystem and how various components in the ecosystem work and fit together
- Ability to architect, provision and manage workloads running on Kubernetes infrastructure
- Docker
- Best practices for building, running and maintaining containers
- Kafka
- Understanding of Kafka primitives (partitions, topics, producers, consumers)
- Understanding of event-streaming and its application within a system (notification events vs event sourcing; when to use what)
- MongoDB
- We use a mix of self-hosted and Atlas
- Monitoring, replication, oplog, audits, caching
- Transactions
- Performance tuning
- Cloud computing - AWS & Azure
- Working with networking policies, security groups, routing
- Working with cloud compute (VMs, Lambda, ECS)
- IAM security best practices
- Infrastructure as Code (IaC) - Terraform, Pulumi, etc.
- Networking experience (broad)
- VPC, security groups, isolation
- SSL
- Experience with distributed systems
- Streaming, back pressure
- Distributed data sets, isolation of data, isolation of concerns
- Good inter-service communication practices
Nice-to-have skills:
- Ruby
- Required now and then for legacy services
- Mongoid, Resque
Working conditions and working environment:
- Fully remote-first team
- Engineers in South Africa (Cape Town)
- Engineers in US (Denver, Colorado)
- Engineers in Germany (Frankfurt)
- Offices in Stellenbosch and Denver
- Flexible working hours
- Output-driven; we favor people and output over process
- Iterative-based approach to software development: ship and learn quickly
- In-person company events every month (meetups, lunch, activities)
- Most engineers work on Mac or Linux
How to apply
Email us at join@journeyapps.com