Share this Job

Senior Software Engineer - Telecoms

Date: 04-Jan-2022

Location: UXBRIDGE, GB

Company: Telefonica S.A.

Location: Remote


giffgaff is a little different to your `normal` telecoms company. It`s a mobile business owned by Telefonica, but run by its members. Sounds interesting? It is. 
giffgaff is a fast growing mobile network. Our business model is unique - we take a highly collaborative approach with our members who help (and are rewarded for helping) across all areas of the business. Our vibrant online community, online platform and immense value proposition are key to our success. We do not have a retail footprint or expensive call centres, so we can pass these savings straight on to our members in a way that no other telecoms business does.
As a lean organisation, our team is built of people who are multi-skilled, highly motivated and flexible - if that sounds you like you we`d love to hear from you.


About the team:


As a technology company software engineering is at the heart of what we do here at giffgaff - our agile engineering teams build and support a set of applications and services that combined create our unique user experience on the giffgaff website, enable our internal teams to work in the most productive and efficient ways and enable a whole range of awesome features via modern APIs.


You will be part of the Telecoms team building and supporting an array of critical micro services that receive charging information from external sources which are then mutated and delivered to downstream systems for processing to support day to day activities of giffgaff business. 


In our team there is no senior or junior everyone’s opinions are respected. We all work together to get the job done and main focus on delivery!


About the role:


The quality and maintainability of our software is very important for us, we are looking for engineers with real world experience, especially in terms of the whole development lifecycle.


You will help us design and implement tightly focussed APIs, services and user interfaces and, together with your team, you will support them in production. We want you to share your opinions on how we are doing things - and help us get better! You’ll be embedded into one of our cross-functional product teams to work on a wide variety of creative technical solutions. Depending on the team profile you may be working on user facing applications, internal tools or processes, or APIs and services implementing our core business logic.


As part of the Telecoms team you are expected to get your hands dirty with array of technologies e.g. java, micro services, Domain-Driven-Design, AWS, docker, Kubernetes, Prometheus, Grafana, Agile etc... things that you expect from modern tech stack.


We like people who are “doers” with “can do attitude” and who are always willing to go that extra mile to make the tech stack even better. 


You are expected to pair programme on all stories and share your knowledge with others and most importantly help junior members of the team so that they can develop their skills.


You will have lot of opportunity to further your learning/career.


Key responsibilities:


  • 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 that are 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, tackling problems without giving up, and producing solutions that less-experienced engineers can use, maintain, and learn from
  • Know how to develop and follow a sense of purpose. Be willing to point out, own, and fix things that are broken about our company and in your own career track


Key skills:


Qualifications: Bachelor’s degree in computer science, programming, mathematics, or a related field or equivalent experience. Professional certifications in relevant technologies are expected.

Essential Skills: Reading & Writing Code, Debugging & Troubleshooting, IDE & OS Basics, Test Driven Development, Pair Programming, Clean Code & Refactoring, Version Control, CI / CD, Algorithms & Data Structures,DI / IoC, Mocks & Stubs, Alerting & 
Monitoring, Functional & Non-Functional Testing

Desirable Skills: SOLID Principles, Containerisation & Networking Basics, Twelve Factor App Design, Solution Architecture

Plus competency in 5 or more of the following:


Client-Side Engineering: CSS3, Cypress, ECMAScript (ES6+), HTML5, Jest, React & React Native, SASS, TypeScript

Server-Side Engineering: Java 8 with Maven & Spring, JUnit, NodeJS, PHP with Laravel or Zend, Python

Additional Technology: Apache & NGINX, AWS, Jenkins, DynamoDB, PostgreSQL, Redis & Oracle, Docker & Kubernetes, ElasticSearch & Kibana, Grafana & Prometheus, Kinesis





We’re looking to pay a great compensation package (depending on experience) for this position. We also offer plenty of extras to sweeten the deal, which could include things like bonuses, life assurance cover, health care and lots of flexible benefits.  
We also believe a great work-life balance is important, so we’re open to considering part-time and flexible approaches to working. Like to know more, feel free to raise it.  
Join us and we’ll encourage you to be bold every day. So take a deep breath, your career is about to go to exciting new places. 
If you have any questions around the role then please email who will be happy to help. 
Due to the potential conflict of interest, unfortunately we’re unable to accept applications for secondments from individuals not currently working for Tesco Mobile, but we welcome applications for permanent moves.