Senior Software Engineer


Premium Job From Future Plc

Recruiter

Future Plc

Listed on

15th July 2020

Location

Bath

Salary/Rate

Excellent

Salary Notes

Excellent

Type

Permanent

Start Date

ASAP

This job has now expired please search on the home page to find live IT Jobs.

Senior Systems Engineer

Description

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.

Job Purpose

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.

Key Responsibilities

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.

Requirements

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

Have full web-stack capability - from document database (Redis, Mongo, Solr/Lucene) and relational database (MySQL - PostgreSQL) to JavaScript to HTML/CSS

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

Benefits

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. 

You are currently using an outdated browser.

Please consider using a modern browser such as one listed below: