Senior Backend Engineer

South Africa (Remote)

JourneyApps is looking for a senior software engineer to join our agile and cutting-edge engineering team. The JourneyApps platform is built on-top of a highly scalable, highly available micro-service architecture, and we are looking for experienced engineers that have strong skills in these areas. The candidate should have extensive experience deploying and managing modern tech stacks and be comfortable working in a highly versatile agile-based team. A big part of working at JourneyApps involves owning projects, championing the adoption and integration of new technologies, and being flexible and adaptable as the product evolves.

Technologies and skills required

Candidates should be experts and highly experienced in:

TypeScript
  • About 80% of the JourneyApps stack is Node.js based
  • Advanced build systems, project references, generics
Ruby
  • Preferred but not required
  • Ruby is used for some legacy services
  • Prefer experience with Mongoid and Resque
Kubernetes (Broad)
  • Need experience across the entire Kubernetes stack
  • Understanding of how all components 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
  • Monitoring & Atlas
  • 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

Team and work environment

  • Fully remote-first team
    • Engineers in SA (Cape Town)
    • Engineers in US (Denver, Colorado)
    • Engineers in UK (London)
  • Office in Techno Park, Stellenbosch, South Africa
  • Office in Denver, CO, USA
  • Flexible working hours
  • Output-driven: We favour people and output over process
  • Iterative-based approach to software development: ship and learn quickly
  • In-person company events during the year (meetups, lunch, activities)
  • Most engineers work on Mac or Linux

How to apply

Please email platform-careers@journeyapps.com with your resume and cover message.