Senior Java Developer
Reporting to the Development Manager a Senior Developer has the following responsibilities:
- Work with analysts, IT professionals and other developers to coordinate large-scale development projects and meet deadlines.
- Make high-level system design decisions on both legacy application architecture and green-field projects.
- Under the guidance of the Technical Lead design and develop application architecture that is scalable, reliable, available and manageable.
- Define interactions between application packages, databases, and middleware systems in terms of functional coverage.
- Highlight possible technological risks that could hinder the growth and/or operation of the product suite.
- Mentor Developers to assist them with their learning and personnel development working with the Technical Leads to identify deficiencies in skills.
- Guide team members in various coding methodologies, patterns & practices, testing practices, and tools that complement the software architecture.
- Promote Test Driven Development practices within the team, ensuring that Unit Test and Acceptance Tests are implemented to confirm that acceptance criteria (i.e. system behaviours) are met.
- Work with the Technical Lead to develop deployment strategy and enforce technical standards and tooling.
- Degree in CS or related topic
- OCA/P Examination Passed
- Minimum 2 years in a senior developer role.
- Java 8, Tomcat, AWS (but we will train / certify), InteliJ, (small circa 5%) UI JS and Angular. Junit, Selenium, Cucumber, Go CI/CD (like Jenkins)
Skills / Attributes
- Programming in Java, working with SQL.
- Ability to work in a self-organising Agile environment.
- Understanding of quality development (unit tests, integration tests).
- Flexibility in working throughout the technology stack.
- Excellent communication skills throughout the complete development team structure
- Awareness of the challenges of processing large-scale data sets.