9 months ago
We are looking for experienced Node.js developers to help to take our Services to the next level. You will work closely with other Software Developers and Architects across multiple platforms and technologies in Sainsbury’s Food Commercial Team to create a powerful set of micro-services that is consistent, highly usable, reliable and performant.
What I need to do
* Write well-structured beautiful clean code.
* Assist in architecting systems and applications.
* Design smart ways of storing and displaying complex data.
* See writing automated tests as a benefit, not a chore.
* Be an active contributing part of an agile development team.
* Participate in regular retrospectives help surface what’s not working so we can fix it, and what we’re doing right so we can improve on it.
* Define your career path and embrace the opportunity to grow and learn.
* Benefit from working in a multi-disciplinary team, that uses modern software and product development techniques, and values continuous improvement.
* Take an enthusiastic approach to Unit testing (including mocking and behavioral testing); including good Continuous Integration & Continuous Delivery pipelines.
How I will succeed
* Good knowledge of Node.js development and open to learning other languages. (Don't worry we will help you learn)
* Proven communication skills and interest in working in multi-cultural environment
* A good foundation in Agile development practices
* A real passion for tackling interesting work and challenging problems
* Software design is as important to you as writing the code
* Good use of version control (Git)
* You are open to new ideas and ways of working
* You have a “can do” attitude and are a self-starter
What I need to know
* Demonstrable experience of Node.js and its libraries and frameworks
* Advanced understanding and experience of:
* Both architecture and infrastructure and why it’s important to be aware of both
* DevOps and why it’s beneficial to development teams
* Using various tools such as JIRA, Confluence and GitHub
* Functional programming and its advantages and disadvantages in large scale applications
* Unit testing (including mocking and behavioral testing) and Continuous Integration
* Version control systems such as GIT and Continuous Integration pipelines and why we use them
* Relational and non-relational databases and when to use them
* Service oriented architecture and the benefits of taking a micro services approach to development
* Framework agnostic development, knowing when to use frameworks and when not to
* Experience of building and/or working with RESTful services
* Caching (both at application and platform level), why and when to use caching
* The following a beneficial but not essential:
* Experience of pair programming and/or mob programming
* Production experience of retail systems and/or similar
* An interest in serverless development, such as AWS Lambda or Azure functions
What I need to show
* Communication and Influencing:
* Able to present opinions to peers
* Proactive communication
* Analytical Thinking:
* Gathers data from range of stakeholders, distils quickly
* Aptitude to Learn:
* Mentors/coaches less experienced
* Team Work:
* Builds strong internal/external relationships
* Builds bridges where none existed
* Leadership and Mentoring:
* Understands what motivates team
* Commitment and Planning:
* Takes ownership & accountability
* Keeps appropriate people well informed of plans, progress, etc.
Resources available to me
* Line manager providing on-going support through 121’s, SMART objectives as well as a personal development plan
* Agile coach providing on-going support in terms of Agile ways of working
* Wider development team providing support and guidance to help you grow as a software engineer
What decisions I can make
* Contribute to how the team works and decisions that are made
* Own and implement tasks undertaken through to delivery