Software Development Engineer II

Key Information

Hours: 36
Salary: Competitive
Location: Farringdon, London EC1R 5AR United Kingdom
Apply By: 31/08/2017

We offer excellent benefits that help make Tesco a great place to work. These include but aren’t limited to:

- An annual bonus scheme which you can achieve up to 3.5% of base salary.

- Privilegecard (including a 2nd card for a family member) after 6 months service with 10% off most purchases at Tesco.

- A retirement savings plan - 4%-7.5% contribution rate

- Life Assurance - 5 x contractual pay

- Buy As You Earn Scheme

- Save As You Earn Scheme

- Deals & Discounts through Tesco including Tesco Mobile & Tesco Bank

- Deals and Discounts through many other external businesses

About The Job

The Software Development Engineering team are responsible for the full software development lifecycle. They work with Product Managers to help shape the backlog and future direction of the products we build. They implement and test features to a very high quality and support the product or service in testing and live environments.

This role is for an exciting new open source project for creating event driven microservices using the Event Sourcing and CQRS patterns

Writing services in an event driven style provides several advantages including capture of all business data, loose coupling between services and provides a great model for implementing stateful business processes between services. The intent is to get new and updated services live more quickly. One of the goals of the project is to allow our service teams to write services by concentrating on the business and process logic and to spend less time in boilerplate such as database access and setting up frameworks.

Our Software Development Engineers can pursue 2 distinct career paths as an individual contributor or alternatively a management route.

Main Responsibilities

Whilst specific responsibilities will be dependent upon the changing needs of the Tesco business, the following provides an overview of the role’s key responsibilities and measures:

  • Address problems at their route cause and solve problems for the long-term, balancing complexity against business value.
  • Build and deploy solutions to customers for problems of significant scope and complexity.
  • Contribute to the evolution of our software engineering practices, recommending changes in development, maintenance and system standards.
  • Impart knowledge to users, customers, and other team members.
  • Build solid working relationships with relevant personnel across Tesco.
  • Consistently seek out new languages and tools that will help to improve working practices across multiple teams.
  • Perform code reviews, suggesting best practice improvements.
  • Educate, review and help other engineers to grow their capability
  • Design and build new tools that make the organisation more efficient, impacting the way the entire organisation operates.

This role will best suit an individual who enjoys working as part of a team, is well organised, pragmatic and a lateral thinker with an inquisitive mind who is motivated to make change for the better and, most importantly, puts our customers first.

Ideal Candidate

You’ll need to have demonstrated experience of:

  • Object-oriented design and data structures
  • Algorithm design, problem solving, and complexity analysis
  • Proficiency in at least one modern programming language such as Java, Go, Rust, Clojure, F#
  • Experience of frameworks such as Vertx
  • Experience with relational and non-relational DBs
  • Experience with Cloud Infrastructure AWS
  • Experience with Ansible (or similar like Chef or Puppet) and Maven (or similar like Ant or Gradle)
  • Experience in tools such as: Jira, Jenkins and Git(Hub)
  • Writing readable, maintainable, modular and extendable code
  • Experience in full development life cycle; design, coding, test, build, QA, deployment and maintenance
  • Exposure to the DevOps model
  • Experience in Lean and Agile environments and understanding of principles behind methodologies such as: BDD, ATDD and TDD
  • A desire to lead, mentor, up-skill and inspire fellow engineers
  • Solid enterprise / commercial development experience
  • A strong team player with the ability to influence and lead stakeholders when necessary
  • Demonstrable ability to self-manage, be proactive, take ownership, build relationships and drive solutions through from inception to production

Personal

  • Flexibility, ability to plan and organise, responsiveness, creativity, self-starter
  • Able to build solid working relationships with peers and senior leadership
  • Ability to demonstrate strong written, verbal communication and presentation

About the Company

Our vision here at Tesco is to become every customer's favourite way to shop online, whether they are at home, out shopping, on the move, anywhere in the world.

We want our customers to be inspired and whatever they are looking for, we’re finding bigger and better ways to provide it.

Everything is underpinned by our continuous drive for the best tools and technology to deliver our vision. We’re driving innovation and transforming our Technology to become the world’s leading e-commerce business.

We need people who share our ambition to deliver for our customers; Passionate and confident people willing to take the initiative and drive us forwards. In return we offer excitement, a great team, an excellent benefit package, and significant career development opportunities.

Joining us means playing a part in defining; building and launching an ambitious roadmap of digital products that could affect the lives of millions of people over the years to come.

If that sounds exciting then we'd love to hear from you.