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
- Expert-level knowledge of Java with 5+ years of experience
- Experience of developing enterprise-grade, high performing scalable applications
- Expert knowledge of the Spring Boot framework (including spring data, spring security) and JEE containers
- Comfortable using AWS and Linux to support application development and deployment
- Thorough understanding of application security and secure coding practices
- Proficient in application design and architecture
- Knowledge of a variety of persistence technologies, to include SQL and NoSQL
- Experience of designing and using Restful APIs and core HTTP concepts
- Tenacious technical problem solver
- Good communicator
- Experience of working in Agile teams
- Demonstrable experience of working with version control, build tools, code-quality and testing tools
- Strong knowledge of JavaScript and the surrounding ecosystem (NodeJS, Webpack, Babel, ES6, TypeScript)
- Experience with Single Page Apps (e.g. React) including state management (e.g Redux / XState)
- Strong core knowledge of HTML & CSS
- Familiarity with web accessibility guidelines and a desire to bake in accessibility by default
- Frontend unit testing – Jest, React Testing Library, Enzyme
Desirable
- Strong working knowledge of application integration points: e.g. SSO, SAML, LDAP, SSL/TLS
- Demonstrable passion for working with Open standards / Open Source
- Experience with container technologies such as Docker & Kubernetes
- Experience building traditional client/server style frontends and know that a SPA is not always necessary or appropriate
- Experience with one or more CSS methodologies such as BEM, CSSinJS, Tailwind
- Experience building or working with a design system
- Experience with frontend snapshot testing and it’s pros and cons
RESPONSIBILITIES
- Continually critique and improve how the team delivers
- Architect secure software systems
- Design and develop reliable and secure software components
- Debug, solve and communicate technical problems
- Consider the user at every point in development
- Always be learning