Java Developer (Java, Agile, Microservices, TDD)
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
- RESTful APIs
- 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)
This job was originally posted as www.jobsite.co.uk/job/959916478