Typescript Engineer

About Candide Candide is a technology, data, and services company. Its mandate is to consolidate all technology and data assets across our privately-held hospitality group of companies – Babylonstoren (Cape Winelands, South Africa), The Newt in Somerset (Somerset, UK), Vignamaggio (Tuscany, Italy) and other sister estates in Europe. The team’s current responsibilities include technology, product and digital design services, software engineering, data management, warehousing, data analysis and reporting, website development, app development, and supporting hospitality platforms and technology. Our international team is based in Paarl, South Africa (at Babylonstoren), in Somerset, UK (at The Newt in Somerset), and at offices in Bristol, UK.

About the job We’re looking for all-rounder Senior Software Engineers (Typescript) based in Cape Town to join our growing technology team at Candide. Candide builds innovative digital products and platforms for Babylonstoren, The Newt in Somerset and seven other premium hospitality businesses in South Africa, The UK, Italy, The Netherlands, Greece, and elsewhere.

We are looking for candidates with a real passion for their craft and constantly exploring, learning, and improving their skills. We’re a fast-growing company looking for smart, innovative, autonomous, and creative people to join us! This is a senior position, so we expect you to hit the ground running, producing solid, high-quality code from day one. Ideally, you will have at least 5 - 10 years of work experience.

The role You will initially be joining our team to assist in revamping our world-first Commerce Engine and driving our client’s growth before collaborating with our UK branch to improve a series of mobile apps and other projects. The work will be incredibly varied. You will be expected to work on all aspects of our technology stack, from apis, databases, deployments, services, third-party integrations and customer-facing front-ends. Helping Candide deliver these projects will mean you might travel and work on-site with clients in South Africa, the UK, Italy, The Netherlands and other destinations to see how well our systems stand up to real-world stresses.

Our technology Our entire stack is written in TypeScript. The front-end apps use Angular and React Native, backed by a GraphQL API. We have a growing number of microservices written in Node.js, running serverless in Google Cloud Platform. We use RDBMS stores by default and other services (e.g. ElasticSearch and Redis) where relevant. As much as possible, our infrastructure is defined using Terraform. We use Gitlab for continuous integration and deployment, taking advantage of feature branch deployments to verify behaviour and promoting to production several times a day. We like types and tests to help us produce working and maintainable code, using immutability and pure functions where practical. Our focus on continuous integration and continuous delivery allows us to rapidly iterate, deploying new versions of our services many times each day. Our robust testing and monitoring allow for stress-free deployments and discovering, debugging and fixing problems. We use GCP’s tools to monitor logs, create alerts, visualise metrics and analyse request traces across our microservices. We have automated smoke tests that run against production in addition to the tests in CI.

What we’re looking for We’re looking for engineers who are good communicators and thus can empathise and translate requirements into actionable backlog items. In addition, a learning mindset is essential since we regularly encounter new problems we have no idea how to solve. Finding out what the crux of an issue is and then owning it until resolution is reached is our everyday.

We want to hear from you if you have:

  • Strong full-stack development experience using TypeScript and Node.js
  • Good Angular and/or React skillset
  • Experience designing, implementing and running large web applications
  • Experience with SQL databases
  • Familiarity with microservices and a DevOps culture
  • Appreciation for automated testing, CI and CD
  • Bonus: Experience with iOS or Android and React Native Note: We encourage you to apply if you have any experience or interest in the below.

Commerce Platform Stack (currently):

  • TypeScript
  • NestJS / Express (with Mikro-ORM, GraphQL)
  • Angular (with Angular Material, NGXS, Apollo GraphQL)
  • GCP (CloudSQL - MySQL, Redis, CloudRun, Stackdriver, etc.)
  • GitLab (source code, CI/CD)
  • Jira / Confluence (documentation, sprint planning)
  • CloudFlare (DNS, CDN)
  • Cloudinary (Image and video CDN and transformation)
  • Terraform (infrastucture as code)

What you’ll get from us

  • Hybrid working (we get together at least twice in our brand-new offices each week)
  • Daily catered lunch
  • Access to new Recreation Centre, Gym, Swimming Pool (heated), Studios at Babylonstoren
  • A nights stay, dinner and breakfast @ Babylonstoren for you and your partner
  • Your choice of equipment
  • Training budget for whatever you need to do your job more effectively
  • Flexible working hours (core hours 10 am - 4 pm)
  • Anonymous mental health support. If you need it, we want to help you
  • Quarterly socials and team building.
  • International travel and/or visa sponsorship for the UK after 2 years.
  • Significant discounts at Babylonstoren, The Newt in Somerset, and other estates worldwide (e.g. 50% off hotel stay, 30% off spa, wine, products, and everything else).

Application process

A successful application typically involves: - A short phone/zoom introductory interview with a possible paired programming exercise. - An on-site interview at one of our offices with a few engineers. - A standard psychometric evaluation, either onsite or virtual.

How to apply

Please email your CV and any other supporting information to [email protected].