Principle Software Development Engineer

Location: London, United Kingdom

Salary: Competitive

Contract: Permanent & Full-time

Description

About the role

Tesco are committed to making the business a more Engineering-led technology business akin to that of revered software houses and as such are restructuring our organizational capability. As a result, Tesco now require a number of Technologists with a software engineering heritage to join the business and reshape the way that development is executed and delivered across the global business.

Principal Software Development Engineer are the creative minds developing the software applications that make life easier for customers. They are responsible for the entire development and support process for a software program with a Data driven , API first & DevOps mind-set. They produce high quality working software that add value to the customers. Their applications make previously complex tasks simple with the impact ranging from saving time, effort or money to re-defining normal.
You will be responsible for

  • Apply my in-depth knowledge of multiple programming languages, associated frameworks and the tool ecosystem to create elegant solutions to problems.
  • Adopt new languages and new paradigms applying them to the problem domain where they deliver significant benefit.
  • Test drive features in applicable programming language and be comfortable with the TDD cycle.
  • Shape the wider application landscape.
  • Apply distributed programming models (e.g. Actor frameworks) appropriately.
  • Model multiple domains, articulating contexts & boundaries and articulate the rationale behind them.
  • Expert at translating requirements into tasks & code.
  • Develop high quality code that can lead to rapid delivery. Ruthlessly pursuing continuous integration and delivery. Committing code early and often, with an understanding of version control & branching strategies.
  • Implement continuous live testing.
  • Implement infrastructure as code.
  • Apply my understanding of elastic scale and build highly available systems.
  • Build manageable code and observe basic hygiene practices.
  • Follow the best practices of continuous BDD/TDD/Performance/Security/Smoke testing.
  • Work effectively with my product stakeholders to communicate and translate their needs into improvements in my product.
  • Lead group discussions on design within appropriate bounded context
  • Support production systems, resolve incidents and perform root cause analysis.
  • Debug/find complex problems and support/maintain the software solution.
  • Share knowledge and influence with the wider engineering community.
  • Mentor and develop those around me.
  • Raise the bar of the organisation.
  • Produce proof of concepts to evaluate new tools

You will need

Must Have

  • BE / B.Tech /M.Tech in Computer Science related field with15+ years of experience with Java as stack preferably
  • Minimum 8+ years of experience building large scalable systems
  • Strong experience inarchitecting and building multi-tiered, Full stack & distributed systems.
  • Knowledge ofNew & Emerging Technologies to design distributed & highly available for performance.
  • Deep retail industry expertise to drive a connected store enterprise architecture
  • Extensive experience within related advisory services, management/technology consulting.
  • Experience in identifying and successfully architecting digital disruptions including quantified business outcomes.

Preferred

  • Experience in large scale video surveillance or sensor based technologies, solutions, and services, is a plus with ability to understand current system technologies
  • Preferable but not mandatory to have Security Industry Specific Certifications for VMS, Access Control and Video Analytics