Software Dev Engineer III

  • Full-time
  • Technology CF Job Family: Software Engineering
  • Group Function: Tesco Technology

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.

Job Description

As one of the world’s largest retailers and the largest private employer in the United Kingdom (second largest after the UK government) Tesco serves millions of customers a week in our stores and online portal. Tesco Bengaluru is the only international technology and retail operations centre for Tesco worldwide – we make the Tesco experience better for millions of our customers and colleagues. Established in 2004 Tesco Bengaluru is pivotal to Tesco and we enable its business with our expertise in technology business operations property finance and commercial services. Tesco is currently in the process of moving to a Service Orientated Architecture in order to increase its business agility to increase its return on investment and to become the world’s leading Multichannel retailer.


Impact & Value
• Leads valuable features that are used by customers
• Leads Scrum ceremonies
• Suggests improvements to processes and methodologies to speed delivery
• Questions requirements and challenges where necessary
• Can identify value of tasks & always works on the highest priority items.
• Work effectively with stakeholders to communicate and translate their needs into improvements.
• Lead group discussions on design of initiatives within domain. And understand domain well enough to work with Product Managers to drive value
• Support production systems resolve incidents and perform root cause analysis.
• Debug/find complex problems and support/maintain the software solution.
• Share knowledge with the wider engineering community.
• Mentor and develop engineers in the team.
• Produce proof of concepts to evaluate new tools.

Programming
• Good Understanding of Java/J2EE programming language
• Good understanding of optimization algorithms (gradient descent hill climbing and other quantitative algo)
• Experience with Kafka with the heavy load
• Understands framework and enough of tool ecosystem of chosen language to implement end to end component with minimal assistance
• Comfortable producing and refactoring code without assistance
• Able to test drive features in programming language of choice
• Understands different major language paradigms (OOP/Functional)
• Understands presence of abstraction beneath language (JVM/CLR)
• Can reason about complexity of algorithms (time and space) and code (cyclomatic)
• Can debug code
• Can understand and resolve complex issues

Design
• Can Identify design patterns in code
• Can implement design patterns with guidance
• Comfortable translating small behaviour requirements into tasks & code
• Understanding of how high quality code can lead to rapid delivery
• Good understanding of domains and domain modelling
• Seeks out and uses appropriate abstractions
• Good understanding of DRY and basic code hygiene factors
• Good understanding of patterns for integration (events/services)
• Good understanding on how to leverage existing functionality outside immediate project
• Understands scope of project and when to move behaviour to other services
• Understands the importance of project instrumentation

Development Practice
• Good understanding of CI and CD.
• Writes tests to ensure CI/CD processes work
• Good understanding of BDD/TDD/Performance/Security/Smoke testing
• Commits code early and often
• Understands feature toggling
• Understands version control & branching strategies

Infrastructure
• Good working knowledge of one relevant operating system
• Understands one relevant Database technology
• Can script and automate within relevant environment
• Understand when to apply appropriate infrastructure technologies

Security
• Can perform a tool based security scan and articulate vulnerabilities
• Understands Oauth/Saml & identity models
• Basic grasp of secure coding and Write secure code by default

Behaviours & Collaboration
• Fully participates in team ceremonies
• Comfortable pair programming
• Can use whiteboard and other materials to convey designs and principles

Innovation
• Stays abreast of industry news from a variety of sources
• Can understand how industry developments may affect team

Core Technology Concepts
• Understands major HTTP components (UDP/TCP/IP/HTTP/REST)
• Understands core infrastructure components (servers networking load balancing)

Qualifications

optimization algorithms messaging system
Privacy Policy