We are looking for hardworking Software Development Engineers to help design, develop and deploy software for our solutions.
The successful candidate will be able to build high-quality, innovative and fully performant software in compliance with the best practise coding standards and technical design. Help to drive better working practices and become a valued member of the engineering department.
Key accountabilities and measures
- Collaboratively solves problems; communicates technical decisions through tech-talks and white-boarding sessions
- Learns quickly and makes steady progress without the need for significant feedback from more senior engineers
- Shows engagement when architecting and developing new software
- Shows engagement with the wider engineering community. Hosts Dojo's lunch and learn sessions and is seen as someone who interacts with the wider engineering community.
- Helps other specialists to produce clean, quality code through strong engagement in code reviews and pair programming
- Takes full ownership of the tasks in his/her backlog and is also beginning to show signs of taking accountability for the entire team's backlog.
- Actively engages with the product teams to make the product better, and to understand ambiguous requirements
- To be seen as helpful, by both engineers and product
- Strong software design. Encouraged to know a wide array of software design patterns in depth, display a strong understanding of algorithms and data structures, and able to show multiple real-life examples of applications of this knowledge.
- Consults business partners on the best approach for delivering complicated features, both in how it can be split and sequenced, and in terms of potential improvement to the functional requirements
- Beginning to show signs of continuously mentoring less experience members of the team. Not just giving a hand here and there, but genuinely trying to upskill their peers.
- Knows when to challenge the team to be pragmatic
- Experience building and delivering distributed web applications
- Experience with build automation tools (Webpack, nodemon)
- Strong experience with testing frameworks and libraries such as Jest, Mocha, Chai or Webdriver.io
- Experience working within a Continuous Delivery environment
- Experience working within an Agile environment such as Scrum or Kanban
- Experience with NodeJS
- Experienced working within a cloud environment, and is comfortable provisioning IaaS and PaaS services within such an environment
- Understanding of containerisation (Docker, Kubernetes)
- Familiarity with ES6 / CSS3 syntax's
- Ability to mentor and provide constructive feedback to the team
- Proficiency with TDD & BDD
- Good understanding of the good software design principles (e.g. OO, DRY, SOLID)
- Experience with full-stack development and DevOps
- Experience with distributed version controls systems like Git
- Experience with pair programming
- CI tools (Concourse, Jenkins)
- Understanding of Accessibility standard methodologies
- Experience with using templating engines (Handlebars)
- Experience with Express
- Experience working with Cloud base environments (Azure, Kubernetes, AWS)
- Good SEO knowledge
- Contributions towards open source software or coordinate or speak at software-related meetup groups
M&S is ready to push boundaries to lead the industry into a greener, speedier, more inspiring digital era. That's why we're revolutionising how we work and offering our most exciting opportunities yet. There's never been a better time to be part of our team. Marks & Spencer aims to be an inclusive organisation, trusted and admired by our colleagues, customers and suppliers. Join us and make an immediate impact. We are committed to an active Inclusion, Diversity and Equal Opportunities Policy, which starts with our recruitment and selection process and we are happy to talk smart/flexible working.
We will ensure that individuals with disabilities are provided reasonable accommodation to participate in the job application or interview process, to perform essential job functions, and to receive other benefits and privileges of employment. Please contact us to request accommodation.