Clojure[Script] Developer

Overview

Reporting to the CTO, you will be helping to build Yapster, working on the client app and the back-end services. We are looking for an amazing new hire to help us build the product quicker and more robustly. Every day will present new challenges, requiring fast-paced learning on the job.

Package:

  • Competitive salary

  • 25 days annual leave + your birthday off

  • Opportunities for flexible working

  • Quarterly team offsites

  • Fun office in Central London

About us:

Yapster is an investor-funded retail & hospitality tech start-up. Our mission is to empower people working in roles previously untouched by decent enterprise technology. With your help, our chat app will be downloaded, used and loved by millions of workers operating “on the shop floor” of the UK’s favourite High Street brands. Customers include Ann Summers, Caffe Nero and Krispy Kreme.

Based near Old Street, we’re a friendly, fun, and fast-growing team united by a passion for building a first class product and company culture. Our product is only as good as our team - you can expect to work alongside brilliant people and join a fast-paced culture in which everyone relishes getting ‘stuck in’.

Major Responsibilities / Accountabilities:

  • Software development: Working with Co-founder CTO to develop features on the Yapster app(s) and backend.

  • DevOps: Working with Co-founder CTO to reliably deploy and monitor the Yapster app and backend components.

Technology stack

Yapster consists of a mobile and web app, and the backend, together forming an asynchronous messaging platform. 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.

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

The back-end has a REST API implemented in asynchronous Clojure on Yada, and a stream-processing component built on Kafka+Onyx. We use Apache Cassandra for persistence and Apache Kafka for persistent messaging. The back-end is deployed to AWS in containers on DC/OS.

Required skills and experience - technical:

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

  • Linux

  • Good understanding of functional programming paradigm

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

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

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:

  • Async programming techniques

  • Data modelling with Apache Cassandra

  • An understanding of monads, streams and other functional programming concepts

Desirable education/certifications:

  • A demonstrable understanding of computer architecture and operation - whether acquired through formal education or otherwise isn’t 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.