Head of Software Development

Category: Information Technology

Location: Bengaluru, KA, India

India


Head of Software Development

Bengaluru, KA, India

Add to basket Share Apply

Company Description

Tesco Bengaluru: We are a multi-disciplinary team creating a sustainable competitive advantage for Tesco by standardising processes, delivering cost savings, enabling agility, providing cutting-edge technological solutions and empowering our colleagues to do ever more for our customers. With cross-functional expertise in Global Business Services and Retail Technology & Engineering, a wide network of teams and strong governance we reduce complexity thereby offering high quality services for our customers. Tesco Bengaluru, established in 2004 to enable standardisation and build centralised capabilities and competencies, makes the experience better for our millions of customers worldwide and simpler for over 4,40,000 colleagues.
Tesco Technology consists of people from a number of different backgrounds, but having a common purpose to serve our shoppers a little better every day with our retail technological solutions. We shared a common interest in harnessing innovations in technology to enhance their shopping experience at Tesco stores. Whether making products, software or systems, our teams focuses on various aspects from taking strategic ownership of the architecture to delivering technological solutions such as design, testing, deployment, infrastructure, operation and security of the systems to ensure agile, smooth and safe operations. These help us to deliver the maximum business impact. Teams refine their internal processes to best fit their own needs, working to build core capabilities in application and services. We collaborate globally across teams to build end-to-end customer-facing solutions, as well as to share knowledge, experience, tools and techniques.
At Tesco, inclusion means that Everyone?s Welcome. Everyone is treated fairly and with respect; by valuing individuality and uniqueness we create a sense of belonging.
Diversity and inclusion have always been at the heart of Tesco. It is embedded in our values: we treat people how they want to be treated. We always want our colleagues to feel they can be themselves at work and we are committed to helping them be at their best.
Across the Tesco group we are building an inclusive workplace, a place to actively celebrate the cultures, personalities and preferences of our colleagues ? who in turn help to build the success of our business and reflect the diversity of the communities we serve.

Additional Information

Important Notice: 

On behalf of Tesco Bengaluru, we must caution all job seekers and educational institutions that Tesco Bengaluru does not authorise any third parties to release employment offers or conduct recruitment drives via a third party. Hence, beware of inauthentic and fraudulent job offers or recruitment drives from any individuals or websites purporting to represent Tesco. Further, Tesco Bengaluru does not charge any fee or other emoluments for any reason (including without limitation, visa fees) or seek compensation from educational institutions to participate in recruitment events. 

Accordingly, please check the authenticity of any such offers before acting on them and where acted upon, you do so at your own risk. Tesco Bengaluru shall neither be responsible for honouring or making good the promises made by fraudulent third parties, nor for any monetary or any other loss incurred by the aggrieved individual or educational institution. 

In the event that you come across any fraudulent activities in the name of Tesco Bengaluru, please feel free report the incident at recruitment_compliance_india@tesco.com 

Job Description

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 number of Technologists with a software engineering heritage to join the business and reshape the way that development is executed and delivered across 

 

 

As a Head of Software:

  • Lead the strategy for developing Retail Store Productivity Solutions using cutting edge hardware and software technology solutions.
  • Help identify and evolve valuable features that need to be developed and used by colleagues.
  • Suggest improvements to processes and methodologies to speed up delivery.
  • Question requirements and challenge where necessary
  • Identify the value of tasks & always work on the highest priority items.
  • Consistently lead the delivery of valuable features
  • Continually look for process improvements
  • Propose new ways of doing things.
  • Suggest novel ways to fulfil requirements.
  • Help elaborate requirements where necessary.
  • Demonstrate the skills of a Software Development Engineer (II) plus:
  • Establish and maintain the right team and processes to continually deliver quality solutions.
  • Build consensus within the team on the approach to the solution.
  • Ensure impediments are removed.
  • Be accountable for ensuring that the team delivers on their commitments.
  • Demonstrate the skills of a Software Development Engineer (II) plus:
  • Deal with the delivery of solutions to problems with a significantly increased level of complexity (technical or organizational)

 

Technology Understanding

  • In-depth understanding of the ability to understand the interaction between devices, operating systems and software.
  • Able to experiment with Computer Vision and Image Processing related technologies and frameworks like Tensor Flow.
  • Understand the roadmap of Technologies like Android Kotlin
  • Ability to understand and integrate with Enterprise Services and Solutions
  • Understand how to leverage Networks and Wireless Infrastructure to optimize data transmission over the network.

 

Programming

  • Demonstrate in-depth knowledge of IDE, language, and toolset in the language of choice.
  • Implement a project representative of their teams from scratch without assistance.
  • Demonstrate excellent understanding of language & framework and a good working knowledge of the abstraction layer underneath.
  • Profile and optimize code.
  • Understand threads, threading model and concurrent programming.
  • Comfortably test drive any feature/comfortable with TDD cycle
  • Demonstrate a good knowledge of other programming languages & paradigms and when to apply them.
  • Comfortably debug/find complex problems.

 

Design

  • Identify and apply appropriate design patterns to problems.
  • Comfortably develop large features
  • Understand Idempotence
  • Understand boy scout principle, leaves code in a better state than when arrived.
  • Demonstrate a good understanding of cohesion, SOLID and how to apply.
  • Understand the importance of domain model and can coherently model a problem domain within a given context.
  • Anticipate medium term (3-6 month) vectors of change and designs and abstracts accordingly.
  • Understand and appreciate the simplicity and the value of removing code.
  • Understand design patterns such as CQRS and eventual consistency.
  • Understand how to design for performance at all levels.

 

Development Practise 

  • Automate everything by default.
  • Build a CI/CD pipeline.
  • Automate security scanning and performance testing as part of the build.

 

Infrastructure

  • Demonstrate a good grasp of multiple operating systems.
  • Demonstrate a good grasp of scripting techniques.
  • Demonstrate expertise in one database & a good grasp of multiple data storage paradigms and when to apply other technologies.
  • Understand and can automate PaaS technologies.
  • Understand when to apply appropriate infrastructure technologies.

 

Security

  • Write secure code by default.
  • Use tools to perform deep security probes.
  • Understand server hardening.

 

Software Methodologies

Demonstrate expertise in two or more leading software development methodologies.

Adapt and tailor the delivery methodology to reflect the needs of the problem at hand.

Implement improvements to software delivery methods within the department.

 

Behaviours & Collaboration

  • Demonstrate a methodical, self-organized and action-oriented approach.
  • Be a good listener, sensitive and empathetic to the needs of the team.
  • Be responsive and help remove impediments for the team in a timely manner.
  • Manage dependencies.
  • Organize with good written and verbal communication skills.
  • Mentor and develop those around them.
  • Manage stakeholders.
  • Take responsibility and be able to justify the decisions made by the team.
  • Seek help and guidance when appropriate.
  • Able to confidently and competently share your knowledge with users, customers, team members and other stakeholders.
  • Collaborate with own team members.
  • Comfortably deal with more stakeholders/of increased seniority
  • Deliver solutions that have dependencies on more underlying teams/components.
  • Comfortably lead and mentor teams containing individuals with more experience
  • Confidently and competently represent the department with any software delivery related matter.
  • Collaborate with own team members and wider engineering teams.

 

People & Team management

  • Demonstrate experience at optimizing teams to deliver solutions to complex problems at a pace.
  • Prove how to measure and improve the rate and quality of code delivered within teams.
  • Champion continuous improvement within the department
  • Demonstrate experience at managing teams that produce robust, agile code in the face of an increased level of complexity (e.g., due to the requirements, NFRs, vectors of change, domain, etc.)

 

Innovation

  • Make space for their whole team to innovate.
  • Stay abreast of industry news from a variety of sources.
  • Understand how industry developments may affect team.
Back to top