SmartyGrants Delivery Position Description: Lead Java Developer
About the role As a Lead Java developer you’ll be integral to our team, developing new features and supporting the existing platform, while supporting and growing the development capability within the team. Key responsibilities: • Working with the BAs, support and training team, and IT Delivery Manager to understand the requirements of a new feature • Taking those requirements and completing a technical design, considering the existing patterns, required technologies and development processes • Technical designs to determine and consider technical requirements including performance, security, supportability and testability. • Leading a small team of developers to implement and test new features • Ensureing that developers adhere to technical requirements and designs • Increasing the automated test coverage of the platform while building and/or maintaining the codebase • Performing code reviews and coaching other developers in the team, improving the overall quality of the codebase and capability within the team • Fixing bugs and assist the support team when called upon • Identifying opportunities to automate and streamline our development processes • Participating in planning and decision-making and other tasks as required
Essential skills •
Strong Java (ideally Java 8+, Spring MVC 4, Hibernate 4/5)
• •
Strong front-end skills (HTML, CSS, Javascript, jQuery, VueJS, Bootstrap) Atlassian BitBucket (or other git-based source repositories, flows, branching practices, etc) TDD with JUnit, Selenium and other testing frameworks Understanding of software design principles and patterns Java build tools (Ant/maven or Gradle) Problem solving and attention to detail Time management, organisational skills and excellent written and verbal communication skills A belief in and commitment to our Manifesto.
• • • • • •
Highly Desirable Skills • • • • • • • • •
Hibernate/SQL query optimisation Experience troubleshooting Linux/Java application stability and performance Team/technical leadership experience Familiarity with Docker/Docker-compose AWS Console and APIs (EC2, ELB, Lambda, RDS, S3, etc) Postgres or other relational databases Experience with agile development methods Security best-practices Experience with performance testing
Key Details Area: SmartyGrants Development team Manager: Jessica Rutherford, Director SmartyGrants Delivery