#”Clojure(Script)?” Developers

Overview

Reporting to our CTO, you will be helping to build Yapster - working on both the client app and the back-end services. We are looking for 1-2 smart and capable developers to join our team and help us build the product faster and more robustly. Each day will present new challenges, requiring continual learning on the job.

Package:

  • Annual salary of up to £60k

  • 28 days annual leave

  • Flexible working as standard

  • Personal development budget

  • Fun office in the heart of Soho and regular social events

About Yapster:

Yapster’s mission is to empower people working in roles traditionally underserved by productivity-boosting enterprise software. We’re already working with some of the best names around - think Ann Summers, Caffe Nero, Krispy Kreme, and Next - to do just that.

After closing a significant round of private investment at the end of last year, we’re gearing up for rapid growth through 2019. With your help, our mobile messaging platform will be used and loved by millions of frontline workers across the world in the coming years.

Based in the heart of Soho, we’re a friendly, fun team united by a passion for building a first class product and company culture. You can expect to work alongside brilliant people and join a fast-paced culture in which everyone relishes getting ‘stuck in’.

The dev team:

Yapster’s dev team is currently 6 engineers (including the CTO). We are self-motivated, enthusiastic and bring a wealth of different experience - we are welcoming of new viewpoints and the increased problem-solving capability they bring to our development process. We are currently quite un-siloed and each of us can, and do, work on any part of the Yapster application (front-end, back-end, Android, iOS, web). We are mostly working remotely with a weekly office-day in London - this has advantages for optimising flow and minimising interruptions - but we are also wanting to establish a more office-based dev presence, so if you prefer to work from our office that’s also an option.

Major Responsibilities / Accountabilities:

  • Yapster platform development: Mostly Clojure and Clojurescript, developing features on the Yapster app and backend, bugfixing etc.

  • Integration & connector development: Yapster provides various integration points, and you will be extending these, and specifying and developing new connectors

Technology stack

Yapster consists of the mobile and web apps, an API and streaming and batch backends. It’s built on modern storage and messaging components, there is code-sharing between front and back-ends, and pervasive schema-checking. Almost everything is implemented in either Clojure or ClojureScript, with a few dashes of JavaScript, Java and Swift.

The Yapster app is available on iOS, Android and browser platforms, and is written in ClojureScript with Reagent and re-frame. We use Apache Cordova to deploy a native app to iOS and Android.

The back-end has a REST API implemented in asynchronous Clojure with Yada, there are stream and batch processing components built on Kafka+Kafka Streams. We use Apache Cassandra for persistence and Apache Kafka for persistent messaging and gnatsd to feed our WebSockets. The back-end is deployed to Kubernetes on AWS.

Required skills and experience - technical:

  • Clojure || ClojureScript (both is a bonus!)

  • Linux, Docker

  • Good understanding of functional programming paradigm

  • Familiarity with web apps, HTML and CSS (but not visual design)

  • Happy to pull apart other people’s code to find out why something isn’t working as expected - unstoppability

Required skills and experience - personal:

  • Good written and oral communications skills

  • Able to work with little direct supervision (though there will be plenty of supervision available, it won’t always be co-located)

  • Able to work effectively in a team environment where team members may not be co-located

  • Self motivated and proactive

  • Excellent problem-solving skills

  • Interested in better ways of doing things, yet remaining aware of the realities of delivering features to customers

  • Flexible approach to day to day tasks and coping with a challenging workload

Desirable skills and experience - but can be learned on the job:

  • Asynchronous programming techniques

  • Data modelling and operational experience with Apache Cassandra

Desirable education/certifications:

  • A demonstrable understanding of computer architecture and operation - whether acquired through formal education or otherwise isn’t so important.

Diversity policy:

We aspire to build a team that properly reflects the communities we serve and welcome applications from people with diverse perspectives and backgrounds.

How to apply

Please send your CV to hr@yapster.info with ‘Software Developer Application’ in the subject line.