Software Engineer - PHP

12 Sep 2017
10 Oct 2017
Contract Type

In a nutshell

We are looking for an experienced PHP (Symfony) developer to help to take our food ordering services to the next level. You will work closely with other Software Developers and Designers across multiple platforms and technologies in Sainsbury's Commercial Digital Team to create a beautiful application ecosystem that is consistent, highly usable, reliable and performant.
What I need to do
  • Write well structured, commented, readable code
  • Assist in architecting systems and applications
  • Practice/encourage Test Driven Development
  • Be proactive in reducing technical debt
  • Be an active contributing part of an agile development team
How I will succeed

Have a positive attitude and keep moving forward even if things are not always perfect
What I need to know
  • Symphony Framework
  • Solid understanding of design patterns and OOP concepts
  • Good knowledge of working with ORMs, ideally Doctrine
  • Good knowledge of building and extending REST API
  • Service Oriented Architecture
  • PHPUnit, PHPSpec (including mocking)
  • Behavioural testing (Behat)
    Relational (PostgreSQL) and non-relational database (Redis)
  • Version control (Git)
  • Docker
  • AWS
  • Tools to document APIs (ideally Swagger)
  • Nice to have: Experience with Go and/or Python
What I need to show
  • Demonstrable experience in using PHP to deliver robust and scalable web applications
  • Show that you have a high level of understanding for a number of technical skills, attitudes and behaviours
  • Provide engineering advice for technical/architectural issues
  • Proactively seeking opportunities to improve your knowledge and abilities
  • Experience of building and working with RESTful services
  • Experience of working with relational and non-relational databases
  • Ability to mentor junior developers
  • Ability to convey and communicate ideas and opinion to peers
  • A positive attitude towards working within a team and being a team player
Resources available to me
  • Colleagues and managers
  • On-line training courses and conferences
  • Support teams
  • Hardware and Software
What decisions I can make
  • Influence decisions on solutions and development methodology
  • Follow through of tasks and resolution to issues