Senior Software Engineer
This job has now expired please search on the home page to find live IT Jobs.
Senior Systems Engineer
About the Team
Technology & Engineering is a globally distributed central team focussed on delivering an innovative, modern, scalable and reusable proprietary tech stack. We work on a service oriented architecture model to support the business' online operations and growth ambition.Our incredible tech stack also enables content creation, management and distribution for magazines.
Our technology & engineering philosophy is service oriented architecture with single responsibility service. We work on a principle of 60% design and 40% implementation with modular development to promote reuse, ease for scale and lean in terms of operational cost
Our architecture design, engineering and development solutions are based on consensus; eliminating split brain and promoting ownership. We encourage small rapid iteration approach to existing products and leverage learning to increase our level of success at the next stage. Optimisation is key and necessary until the point of diminishing return
As a global team, communication and collaboration is as important as any of the above in order to deliver successfully.
We are currently recruiting for 2 Senior Systems Engineers to join our team. The role can be based in Bath or remotely in the UK.
As a Senior Systems Engineer, you will be a key member of the Systems Engineering team working extremely closely with the Site Reliability Engineering (SRE) team as well as the Tech Leads in order to ensure successful on-going development of existing and new core and critical web services. You will ensure that technical solutions are of the highest possible standards.
You will manage development in one of the product areas including:
Work with the Systems Engineering team to produce and agree specifications for amending or adding new functionality to primarily single responsibility web services and web applications and to produce realistic development plans for the product (including estimates and dependencies).
Extensively collaborate with the Site Reliability Engineering (SRE) team in order to enhance existing web services through development and work toward delivering efficient support and maintenance practice which includes systems deployment and monitoring and improve overall development process for developers within the Technology & Engineering department.
Provide technical leadership for product support to other developers across the department ensuring that problems are resolved in a methodical and timely manner and that progress is communicated effectively to all relevant parties - in particular to liaise with the Web Operations teams when resolving problems.
You will be the system owner of one or more critical and core web services and/or systems and assist the SRE team with on-call support when and where appropriate.
Ensure that the deliverables of program design, coding, testing, documentation and implementation are undertaken in line with the specification and that they are completed on time and to a high quality.
Design and code from the specifications, using agreed standards and tools to achieve a well-engineered result.
Document all work in accordance with agreed standards.
Plan and test developments to ensure that the product functions as expected
Meet regularly with the other web and systems developers, project and product managers and across the Technology & Engineering department to ensure that the technical product designs and implementation are of a consistent standard and technical solution choices are in line with the technical development strategy, as informed by the Chief Technology Officer and the Systems Engineering team.
Maintain an awareness of developments in the industry and participate in the sharing of knowledge and ideas across the teams.
Treat all customers and colleagues with respect and to demonstrate a commitment to Future's Equal Opportunities Policy.
Please note, occasional out of hours working may be required during peak trading periods.
What do I need to succeed?
You are a passionate and self-motivated worker; you're able to work with others to analyse complex problems specifically around scalability, optimisation, resiliency and redundancy.
You actively encourage collaboration to design the best solutions.
You are an expert in PHP and write beautiful, SOLID, optimised code
You have proven track record on successfully delivering web services and/or web applications
You are able to communicate technical information to non-technical people as needed
Essential Knowledge, Skills & Experience:
Strong consumer facing web product development experience using OOP/OOD
Experience of developing for scalable redundant and resilient web products
Strong understanding of distributed systems and messaging services
Hands-on experience of designing and implementing custom web services and APIs
Experience of integrating with internal and external web services and APIs
Experience in automated deployment and automated regression testing.
A systematic, disciplined and analytical approach to problem solving - paying close attention to detail
Be able to competently plan, schedule and monitor your own and others' work
Be familiar with, and be able to use as directed, all applicable tools, methods, procedures and standards
Have an excellent understanding of;
Service orientated architectures
Event driven/asynchronous architectures
Test Driven Development
Continuous integration and deployment practices using CI
Containerisation via Docker, Kubernetes
Web servers - NGINX
NoSQL and traditional databases
Good software engineering practices including source code versioning and code testing
Desirable Knowledge, Skills & Experience:
Open to learning new languages & technologies
Experience of one or more of the following languages: Golang, Python, Java, Node, Typescript
Experience of Microservice architectures
Experience of web and data caching
Experience operating global services at scale
Experience with NoSQL technologies
Experience with RESTFul services
Experience writing applications optimised for observability (tracing, metrics, structured logging)
Experience with Lambda/Serverless architectures
Familiarity with JIRA
What will I get in return?
As well as our standard benefits, we have a number of awesome perks available to our staff including:
Unlimited paid time off (yes you read that right!)
We offer structured career development to all of our people ensuring they have the skills and experience to grow. Our CTO, Kevin Li Ying joined us as a Programmer!
A share in our success- every member of staff receives a profit pool bonus at the end of our financial year
Free food (monthly munchies, bagel Fridays, fresh fruit & snacks and coffee and tea on tap)
Central office locations with cool open plan working spaces as well as plenty of flexibility to work remotely
Free digital magazine subscriptions and access to back copies of our print magazines and bookazines
Discounted gym membership and onsite health & wellbeing (yoga at lunch anyone?!)
Annual Future conference - get together with your colleagues to celebrate success and look forward to what's next
Regular staff socials arranged by our wonderful Community & Culture committees
Huge opportunities to learn and develop whether through professional qualifications, exposure to incredible business projects or informal lunch & learns, hosted by your colleagues
Interested in this position?
We are happy to get in touch with you! You can send your application by using the "Apply" button.