Description:
    
This role will develop software for our core products. You will have a solid background in Java programming and understand key database techniques. You will have a good understanding of enterprise systems and how non-functional requirements contribute to the success of the product. Another key concept is Continuous Improvement and how we make software delivery better on a day to day basis.
What You Will Do:
 
	- Design, develop and test large scale enterprise Java applications
 
	- Work within an Agile team of Product Owners, Senior Engineers, Engineers, Quality Engineers and DevOps
 
	- Work alongside the Product team to help define requirements and acceptance criteria
 
	- Work with Quality Engineers to define the testing approach
 
	- Contribute to the definition of NFRs comprising performance, security and maintainability
 
	- Assist in the technical roadmap planning to ensure we can deliver features alongside addressing technical debt and associated workstreams
 
	- Have a strong focus on iterative software development, adding incremental value to the product
 
	- Support live incidents within the normal sprint cycle
	  
Who You Are:
 
	- Demonstrable experience of 2-5 years in Java programming
 
	- Good knowledge of Core Java, Spring, Spring Boot and Hibernate
 
	- Some experience working with messaging systems (e.g., Kafka, ActiveMQ)
 
	- Experience with JavaScript, AngularJS, and HTML5 is desirable
 
	- Solid understanding of databases and confident SQL skills
 
	- Familiarity of database design principles
 
	- Some experience in Automated Testing spanning unit, integration and functional testing
 
	- Experience with Continuous Integration tools (e.g., Jenkins, GitLab CI)
 
	- Some Agile Project Management tooling experience (JIRA e.g.)
 
	- Excellent analytical and problem-solving skills
 
	- Strong communication and teamwork skills
 
	- A degree in Computer Science, or a related subject is beneficial