We aren’t looking for a ‘Rock Star’ or a ‘Ninja’. We aren’t looking for a ‘Super Star Developer’ either. We want a team player; someone who is tenacious about getting things done as part of a team in an environment that expects creativity and quality delivery. Be a rebel but be part of our rebel alliance.
Skills and experience
Essential
Layout and presentation skills in HTML, CSS and related technologies
Expertise in JavaScript with a minimum of 5 years’ experience – ES6; Babel JS
Experience of modern web frameworks and libraries, in particular React JS
Single Page Applications (SPA) – Create React App / Next JS / Gatsby; React Router / Reach Router; Redux & Redux-Saga
Unit Testing – Jest; React Testing Library / Enzyme; Snapshot Testing
Web Accessibility – WCAG; Axe
Web application user interface design skills and experience
A thorough understanding of web concepts: HTTP, REST, web services, etc
Experience working on Agile projects, particularly Kanban or Scrum
Tenacious technical problem solver
Good communicator
Demonstrable experience of working with version control, build tools, code-quality and testing tools.
Desirable
Experience with Government Digital Service (GDS)
Experience with Design Systems – Storybook; Styled Components /Emotion
Experience of test automation – Cypress; Puppeteer
Experience in any of the following is useful: Typescript; ESLint; Standard JS /Prettier; JSON Schema; Sketch
Experience of developing for deployment to the public cloud (e.g. AWS, AWS Amplify, Azure, etc.)
Experience using the Atlassian suite (Jira, Confluence, etc.)
Working knowledge of best practices: version control, unit testing, CI and documentation
Comfortable using the command line to support application development and deployment – GIT; Bash scripts
Experience with developing and deploying with container technologies, in particular Docker.
Responsibilities
Develop solutions that meet the needs of users by considering the user at every step of the delivery process; from understanding the need to designing the solution and delivery
Work as an integral member of a small, remote team
Agree and deliver on sprint commitments
Design and implements secure software components
Participate in the iterative user needs analysis and design phases
Ensure that code is well-tested in development and to take part in systems integration testing where required, to meet the agreed level of quality (Jest)
Participate in peer review processes
Supporting the team through the full release cycle
Participation in development support for the resolution of bugs, provision of hot fixes and support of the production system as required by application operations
To follow and enhance the organisation’s software engineering practices and processes.
We make cool stuff, and we need you to help us make that stuff cool! Surevine gives its people a platform to develop their individual talents into strengths in an environment which expects creativity and is obsessive about innovation.

