Candide Limited

Candide Limited

Bristol, ENG

Full-Stack Engineer

The Role
As part of Candide’s Marketplace division, you will work across both the seller and buyer experiences. Our seller tooling plays a pivotal role in allowing our partners to leverage our platform to build successful businesses. In addition, our heritage in botany uniquely positions Candide to build compelling buying experiences for those on the lookout for their next low-maintenance houseplant! You will work closely with our design, marketing, and product capacities right from the get-go favouring feedback from the customer over getting it right first time. We’ll learn together.

Our ideal candidate
We’re looking for enthusiasm, a passion for learning, and a desire to work in an agile, collaborative environment. We want you to be excited about shipping a product that delights plant and nature lovers around the world! We encourage you to apply even if you don’t meet all the below, but are excited to grow into a role with the company.

  • Strong full-stack development experience
  • JavaScript knowledge, especially using React, TypeScript and Node.js
  • Experience designing, implementing and running large web applications
  • Experience with SQL databases
  • Familiarity with microservices, Kubernetes, and a DevOps culture
  • Appreciation for automated testing, CI and CD
  • Experience with iOS/Android and React Native
  • A Bachelors or Masters degree in Computer Science, Engineering or a related field with a strong math component

Our technology
Our entire stack is written in TypeScript. The front-end apps use React and React Native, backed by a GraphQL API. We have a growing number of microservices written in Node.js communicating through RESTful APIs and Google PubSub, running on Kubernetes in Google Cloud Platform. We use PostgreSQL by default and other databases (e.g. ElasticSearch and Redis) where relevant. As much as possible, our infrastructure is defined using Terraform. We use CircleCI for continuous integration and deployment, deploying to our development environment on successful push, and to production several times a day using our Slack bot (The Robotanist). We aim for a functional style of programming with a focus on continuous testing, integration and delivery, while working hard to avoid knowledge silos and reduce dependencies. We like types and tests to help us produce working and maintainable code, making use of immutability and pure functions where practical. Our focus on continuous integration and continuous delivery allows us to rapidly iterate, deploying new versions of our microservices many times each day. Our robust testing and monitoring allow for stress-free deployments and to discover, debug and fix problems in production. We use Elasticsearch and Kibana for logs, Prometheus and Grafana for metrics, Jaeger for distributed tracing, and Apollo Engine for our GraphQL API. We have automated smoke tests which run against production in addition to the tests which run in CI.

Engineering culture
We’re a full-stack, agile dev team producing several user-facing products – including the mobile app, a bespoke CMS web app. Every team member enjoys autonomy and is exposed to working on the full stack, but specialises where they have a particular area of interest. It’s likely you’ll deliver entire features in vertical slices all the way from databases, deployments, services and ultimately to the front-end. We work in multi-disciplinary teams to turn business goals into product features. We highly value our collaborative no-blame culture and encourage everyone to share ideas on how we can improve our processes, technology and product. You’ll find us attending local meetups, including CodeHub hack nights, SW Mobile, Bristech, Bristol JS, Bristol SRE, Bristol Cloud Native & DevOps, Cloud Native Wales, Bristol Machine Learning, and ProductTank Bristol. Come and say hello!