As a full stack Software Engineer, you will form a core part of delivery. You will work with your Technical Lead to build innovative, scalable and robust solutions that will help the company deliver on core strategic initiatives throughout the business. You will use your experience to help us continue to build out our set of microservices that will then be consumed by other delivery teams at the company. You will not be afraid to get your hands dirty, and will be comfortable delving into some of the deepest, darkest parts of our codebase. You will pair with other Engineers within your team and across other teams to solve challenging technical problems. You will be focused on maintaining our Engineering Principles and always work towards the highest standards. You will participate in Agile ceremonies and contribute to planning and sizing of upcoming work.
If you think you have some or all of the below skills or experience we'd really love to hear from you:
- You've built scalable and robust applications in a variety of languages (GoLang / Node.js / Ruby would be ideal)
- Understanding of AWS including API Gateway, EC2, Lambda, SNS, SQS, Kinesis, Cloudwatch, Cloudtrail
- Experience architecting and building Serverless solutions to real world problems. Bonus points for being able to say why you took a Serverless approach!
- Experience taking a Monolithic application and breaking it up into microservices
- Understanding of Bounded Contexts, Anti-Corruption Layers, Domain Driven Design, high cohesion and low coupling and Choreography over Orchestration
- Experience with containers and container orchestration layers (Rancher, Kubernetes, ECS, Docker Swarm)
- A good cross-section of Engineering skills & tooling: git workflows, databases & caching (MySQL, Redis, DynamoDB, Aurora, MongoDB, Cloudfront)
- Experience with Continuous Integration, Continuous Delivery, TDD, PACT, Agile, Lean and other engineering & delivery practices
- Endlessly passionate about automation (of all the things!)