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