Java Developer (Java, Agile, Microservices, TDD)
£500 - £580 a day
Senior Developer - Java
3 months initial
As Software Developer you'll be knowledgeable, experienced and passionate about technology, enjoy pairing with other smart people and use agile methodologies to ensure your projects and team mates succeed to add value to the client's products and services. As a team member within software engineering you will:
Be seen as an active mentor within the team that can offer advice and guidance around design, architectural decisions and code quality
Develop excellent quality software using agile techniques such as Test Driven Development and Pair Programming
Take an active role in Story definition, assisting QA's and business stakeholders with Acceptance criteria
Drive best technology and software development practices into the team with passion and enthusiasm
Participate in regular showcases of new work to the product owners and business stakeholders
Strive for continuous improvement within the team and the department
For the role, we are looking for you to demonstrate the following skills and experience:
Experienced ability in Java (Groovy/Grails experience also highly desirable)
Have experience and ability with SQL Databases, ESB's, Message Brokers and Document Stores
Have experience in automated continuous delivery and deployment, and automated testing
Have knowledge and experience of a wide range of best of breed open source and commercial technologies
Experience of software development for resilient, high capacity, high traffic, high availability web-based services/systems, including configurable Micro-services
Have a good understanding of software performance tuning, security, scaling and resilience.
Work as part of the team to support and maintain the live product.
Have delivery experience within an agile project specific experience in TDD, Pair Programming
Have a track record of getting the job done to a high standard
Be able to demonstrate an enthusiasm and aptitude for helping others learn new skills and practices
Participate in agile ceremonies including -daily stand-up meetings, planning games, showcases, and retrospectives.
Collaborate with the Product Owner / Technical Analysts and testers to create user stories, validating acceptance criteria, providing information such as cost (estimates) and technical risk.
Work with the testers to identify and ensure acceptance criteria are satisfied.
A passion for Agile methodologies and concepts such Lean, and Kanban as well as XP practices including pair programming, TDD, BDD, & DDD
Proven delivery experience of high volume, high availability, large-scale backend system
Java, IntelliJ IDEA (Mac)
Testing tools (Cucumber) & mock frameworks (mockito) - or equivalent
Spring, Junit and dropwizard
A background in Continuous Integration and Delivery practices
Knowledge of other JVM based languages (Groovy, Scala, etc)
Interest and experience of dev ops
Experience with logging, monitoring and alerting tools, e.g. Splunk, Logstash, Kibana, App Dynamics, Elastic Search, Grafana etc
Experience with MongoDB or other No SQL databases
Micro Services Architecture
Shell scripting - Linux Bash
Have an understanding of how the web works including familiarity with web security and attack countermeasures
Active participation in relevant technology communities (EG Meet-ups)
Posted by Experis, 13 Mar