At Tesco, we believe in the power of spending more time together, face to face, than apart. So, during your working week, you can expect to spend 60% of your time in one of our office locations or local sites and the rest remotely. We also recognise that life looks a little different for each of us. Some people are at the start of their careers, some want the freedom to do the things they love. Others are going through life-changing moments like becoming a carer, nearing retirement, adapting to parenthood, or something else. That’s why at Tesco, we always welcome a conversation about flexible working. So, talk to us throughout your application about how we can support.
Including, but not limited to:
Use your in-depth knowledge of JavaScript, TypeScript, React, Node and the ecosystem of tools to develop and implement scalable frontend systems
Profile and optimise code
Apply understanding of cohesion and architectural principles to create well structured, maintainable software
Identify patterns in code and refactor the code towards them where it increases understanding and/or maintainability with minimal guidance
Translate requirements into tasks & code
Develop high quality code that can lead to rapid delivery, ruthlessly pursuing continuous integration and delivery - CICD
Commit code early and often, demonstrating understanding of version control & branching strategies
Automate everything by default
Write secure code by default
Write maintainable code and observe basic hygiene practices
Implement relevant project instrumentation
Follow the best practices of continuous BDD/TDD/Performance/Security/Smoke testing
Work effectively with product stakeholders to communicate and translate needs into product improvements
Lead group discussions on system design 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 others around you
Produce proof of concepts to evaluate new tools
Must have
We are looking for people who have a passion for Technology. You will demonstrate experience of different platforms and technologies. We expect to see some or all the following:
5+ Years commercial experience as a Frontend Software Developer
Best-practices regarding all aspects of web development including design, semantic HTML mark-up, CSS, TypeScript, and related technologies
Exposure to a variety of JavaScript frameworks and libraries such as: React, Redux, React-Router and testing with React Testing Library Jest, Cypress, Playwright, Jasmine, Enzyme, Mocha.
Experience of using Node.js to create high traffic applications. Perhaps using Express.js, Sails, Koa or similar
Awareness and practice of UI performance best practices
Understanding and exposure to integrating REST API endpoints
Strong experience and understanding of industry standard web accessibility, web design & usability; to support sites cross browser/platform/device
A desire to write readable, maintainable, modular and extendable code
Exposure to the DevOps model
Experience in Lean and Agile environments and understanding of principles behind methodologies such as: BDD, ATDD and TDD
Nice to have
Everyone’s experience is different, and we understand we need to be realistic, however, we’d be especially keen to speak to you if you have experience with any of the following:
Bringing multiple viewport responsive and adaptive web designs to life
Modern JavaScript/TypeScript frameworks including Remix or Next.js
Exposure to state machines and statecharts. Bonus points if this is with XState
Developing web applications within the constraints of “non-standard” devices