Full Stack Software Engineer
MyLife Digital, One company, dedicated to enabling organisations and their consumers to gain value from their data. Through a highly functional platform, MLD will improve the supplier-consumer value exchange by better managing the data owners’ permissions, in line with the evolving privacy regulations. Combined with its domain expertise and data simplification solutions, MLD offers organisations an almost limitless opportunity for deeper insight to improve performance and business outcomes.
MLD is transforming, and we need creative thinkers to help us achieve our ambition of being the leading engineering team in the South West. Using the best available technologies, we deliver highly available, population-scale services used by organisations and individuals. We embrace agile development practices, foster a genuine DevOps culture with continuous delivery, and work hard to develop an open, trusting environment where engineers are empowered to initiate change and improve processes. Quality, security and privacy of personal data are paramount to everything we do. We are always seeking motivated and creative team members to help us lead the organisation through rapid innovation and continuous improvement. You’ll learn new skills, be part of a growing team, and see your work make a real difference.
As a Full Stack Software Engineer, you will work within our cross-functional, agile team to develop the challenging new features of our personal data platform. Building on the existing capabilities of our secure and resilient platform APIs, you’ll develop innovative new features and the supporting APIs that they require. You’ll be quick to understand new features and technologies, and constantly challenge the rest of the team to deliver better products for our users. You will report directly to the Director of Engineering, and work closely with other Software Engineers, DevOps and Product Owners as required within a flexible team structure.
- Create and enhance rich client UIs and supporting API services to implement user stories in a timely manner.
- Own the product development, story breakdown and coordination for complex features, providing accurate feedback of progress and issues.
- Use the Continuous Deployment Pipeline and other processes top ensure reliable deployment of change through to production environments.
- Frequently refactor product and test code to continuously improve code quality in low risk, tested increments.
Quality and Security Engineering Practices
- Follow TDD best practise to create well-tested, well-structured code that efficiently delivers value to users, and is easy to understand and maintain.
- Complete changes to the team’s agreed quality standards and definition of done (including consideration of the impact on quality, architecture, operations, users and other stakeholders.)
- Seek review from suitably skilled team members to actively improve the quality of your own changes and implement valid suggestions with humility and an openness to learning from others experience.
- Peer review code changes for other team members, suggesting structural, design, and quality improvements that impact the ease of understanding and maintainability.
- Act as a trusted approver for code reviews to ensure changes are secure and production-ready.
Actively Contribute to Team Performance and Improvement
- Report progress within the team with honesty and transparency, raising risks and issues in a timely manner.
- Actively contribute to story planning, retrospectives, root cause investigations, workshops and design sessions.
- Commit to team decisions, even when you personally disagree.
- Encourage commercial awareness and challenge the team to find innovative ways to add value.
- Ensure that recognition is given for achievements in the team.
- Ensure the sprint team is focusing on efficient delivery, and actively seeking improved solutions to meet the organisations business goals.
- Encourage continual improvements in engineering standards and processes.
- Adhering to company privacy, security and quality standards
Experience and Skills
- Confident in delivery of REST based APIs built with node.js and ExpressJS, deployed as microservices in a PaaS environment.
- TDD knowledge. Ability to write tests using Mocha/Jasmine/Jest.
- Thrives in fast paced, challenging working environment
- Collaborative working in cross functional teams
- Coaching and mentoring other engineers
- Thorough expertise with secure coding practices in web environments.
- Diagnosing difficult problems in complex, distributed, high throughput systems
- Good understanding of the browser landscape including security practices.
- Previous experience working with cloud technologies desirable