Popsa is a design-led, engineering focussed company that uses machine learning to help people rediscover their best experiences and turn them into beautiful printed products.
We grew about 500% in 2018 and we’re now shipping over half a million photos a week to 50 countries around the world.
This position is a great opportunity for experienced software engineers with a background in the likes of Go, Python, PHP or Node.js looking to apply their existing skillset and learn and use Go in a production environment.
Our Platform Technology Stack
- Most of our backend code is written in Go with some Python and Node.js used where they're the right tool for the job.
- We’re entirely hosted on AWS and make extensive use of many of their services (over 30 at last count!)
- 15+ containerised microservices running in ECS (we’re open to exploring moving to Kubernetes in the future if appropriate). Our services talk protocol buffers over HTTP and are discovered with Consul.
- Dozens of event driven serverless functions running on Lambda, some running as APIs behind API Gateway and others as Step Functions
- Dockerised batch compute workflows
- NoSQL databases (predominantly DynamoDB and ElasticSearch)
- Serverless analytics data lake backed by S3 using Athena (PrestoDB)
- Terraform and Serverless Framework to manage our infrastructure as code
Read more about our platform technology stack here.
Some other blog posts you might find interesting too:
You and the Role
This is a central role and the work you’ll be doing will touch every aspect of the business. The Popsa platform doesn’t just power our mobile apps, but numerous internal business applications and custom integrations with our industrial print partners (some of this runs on a fleet of Raspberry PIs!), as well as a burgeoning data platform which will feed further into our growth strategies.
Our Head of Engineering Alex likes to describe our platform as an iceberg - the bit customers encounter is just the tip above the water - underneath is a dynamic event-driven structure that enables us to be a lean business that can iterate and experiment rapidly.
You will gain a unique perspective of a high growth business and have an opportunity to shape the landscape of our backend APIs, data pipelines and strategies, infrastructure automation and many more engineering goals.
You Should Apply If
- You're impact driven and eager to have a real positive impact on the company, product, users and very importantly your colleagues as well
- You have a self-starter mindset; you proactively identify issues and opportunities and tackle them without being told to do so
- You’re keen to learn more about and play around with new technologies
- What we’re doing here at Popsa excites you!
Desired skill set:
- Strong competency with a language such as Go or Python; the majority of the Platform backend is written in Go, but we’re flexible and you'll have the opportunity to learn on the job as well as making use of your existing skillset.
- You structure code for scalability, performance and testing
- Experience writing and consuming RESTful and RPC APIs; you'll be designing and building new APIs for our mobile and web clients and integrating with new partners and suppliers
- You know and appreciate automated testing
- Experience with Linux-based operating systems
- Experience with container technologies
- Production database experience, bonus points for experience with both SQL and NoSQL databases
- Experience of continuous integration and continuous deployment
- Experience with AWS services such as EC2, ECS, DynamoDB, S3, SNS, SQS and Lambda, as well as tools such as Terraform and Serverless
- Experience designing, building and managing distributed event-driven * services
- Knowledge or experience of data engineering; tooling, processes, architectures, libraries
Salary is negotiable and dependent on level of skill and experience; feel free to be honest and state your desired remuneration level.
Most importantly, you will also get to own part of the business. Popsa has a share options scheme that is open to all employees. We'll tell you all about it as part of the interview process.
Got a Question?
If you have any questions about this role or anything about Popsa please feel free to email us at email@example.com and either our CTO Tom or Head of Engineering Alex will get back to you. Want to have a phone call or drop into our office? Just let us know in your message.