Software Engineer
Role details
Job location
Tech stack
Job description
enabling them to have access to our shiny new broadband offering, featuring no long contracts, fast, dependable full fibre and symmetrical speeds to name a few awesome features. We strive for an outstanding member experience in all areas of giffgaff, so we are looking for a passionate and enthusiastic software engineer who cares about the quality of their work and how the software and services they create will positively impact members. We're constantly looking for ways to improve and evolve how we solve problems, driven by new, modern practices and challenging the status quo. You will work in a cross-functional team with like-minded people to ensure this product is successful and sustainable. We work with many teams at giffgaff, including various partners and associates we rely on, to ensure we're active and engaged with our engineering community, improving our ways of working and maintaining a high standard and quality of products we create. Our tech stack:
-
Server-side: Java 21, Maven, Spring Boot, JUnit.
-
Client-Side: Typescript, Next.js, React and various React ecosystem tools and libraries
-
Infrastructure: AWS, Kubernetes, Terraform, Kafka, DynamoDB, PostgreSQL, Redis, ElasticSearch, Kibana, Grafana, and Prometheus. However, you should be comfortable using a variety of frameworks, languages, and tools and be happy to learn new skills when the need arises., * Work with a full-stack attitude within a self-organising, cross-functional product engineering team, using extreme programming practices, notably pair programming and test-driven development.
-
Build, support and maintain automated, fault-tolerant, scalable products and solutions continuously delivered into our production environment.
-
Leverage your experience and skills to assist your team in establishing the best architecture for your products and services.
-
Be technically curious, proactive and able to produce solutions your colleagues can use, maintain, and learn from.
-
Know how to develop and follow a sense of purpose. Identify improvements in the software that you use and build. Accept feedback and adapt to your team and the company's current priorities.
Requirements
-
Test Driven Development, Pair Programming, Clean Code & Refactoring, System Design
-
Observability, "you build it you run it" attitude
-
Product mindset
-
Good communication, giving and receiving feedback Desirable skills:
-
Event-Driven Architecture; SOLID principles; microservices; micro-frontends
-
Experience in payments/financial systems