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