As a Software Engineer at SnapScan, you will own, create and maintain solutions
related to our service-oriented architecture, as well as our mobile apps and websites.
You will work on highly-available, resilient systems that more than 1 million users and
60,000 merchants across the country have come to depend on daily.
You will have the opportunity to work across our full product stack: mobile
applications, merchant portal, back-end services, and technical integrations and
infrastructure. Integrations include new features and products that build on the
existing ecosystem to enable, for example, new payment options and methods for our
users, or more accurate and efficient onboarding of new merchants.
You will work within a team, but will, ultimately, be responsible for making your stuff
work. We value a get-things-done approach. You (and your team) will have autonomy
to choose and implement tools and frameworks that best allow you to solve the
problem at hand.
What You’ll Do
● Work with the product manager to gather requirements and estimate
development time for new solutions
● Expose services through APIs to our mobile apps and merchant portal to
support new features
● Peer review code to ensure that we maintain the integrity and quality of our
code base
● Build and maintain technical integrations with 3rd parties
● Maintain infrastructure by automating things through Ansible & Terraform
● Worry about the correct operation of our services, optimising them for
performance, scalability, security, correctness and robustness
● On-call support rotation once you are comfortable with our platform (this is less
scary than it sounds as we have near-zero downtime)
Our Culture
We value openness, psychological-safety and proactiveness. You will have plenty of
opportunity to learn and grow with us.
We have always maintained that having fewer, highly skilled and invested engineers
delivers stronger results than would be delivered by bigger teams. You will join a
small, highly-leveraged technical team that has buy-in and autonomy to solve
problems using whatever tools are fit for purpose.
Our Stack
While familiarity with our stack would make it quicker for you to get going, it is more
important that you are comfortable with the concepts, rather than specific
technologies.
The most relevant components are:
● CI for all the things
● Rails apps/services running on AWS (EC2 and ECS)
● PCI-compliant AWS infrastructure, automated via Terraform
● Postgres databases (choice of DB matters at scale)
● Angular, Typescript, Cordova, Objective-C (iOS) and Java (Android) for our
cross-platform mobile app
● React and Typescript for our internal back office portal