As a Senior Java developer you will be developing software product features for in-house and customer products whilst working in an Agile environment. You will also be expected to collaborate across departments in the design and evolution of software solutions, and ensure software quality through extensive testing (unit, integration, functional, performance and regression) with a focus towards automation.
Areas of responsibility
- Building and extending Continuous Integration (CI) pipelines and toolchains.
- Writing product and support documentation.
- Maintaining and extending skills by reading and training as well as being prepared to grow into a position whereby new techniques, tools or learnings can be shared with team members.
Desired Skills & Experience
- Bachelor’s Degree in Computer Science or related field, or the equivalent in experience.
- 5+ years commercial experience developing enterprise class web applications in a microservice architecture using Java (including Java 8), ideally from a software house or start-up company.
- 3+ years of experience developing application using Spring Framework (any of the following: Spring Core, Cloud, Boot, MVC, Data, Security, Batch).
- Excellent oral and written communication skills.
Core Competency Requirements
- Extensive experience in building high availability multi-threaded applications in microservice architecture with RESTful APIs supporting multiple versions.
- Extensive experience with SQL (MySQL or PostgreSQL) and NoSQL (MongoDB or Cassandra) databases.
- Extensive experience with cloud infrastructure and deployment tools, particularly AWS and Dockers
- Deep knowledge and extensive experience with object-oriented programming and design patterns.
- VMs and provisioning tools (Vagrant or Chef or Puppet or Ansible)
- JPA and ORM frameworks (e.g. Hibernate) and JMS messaging (ActiveMQ or RabbitMQ or Kafka).
- Agile (Scrum, Kanban) and TDD (JUnit, Mockito) environment.
- Providing architecture designs as well as highly technical project documentation.
- Very good understanding and ideally experience with using and configuring CI tools: Git, GitFlow, Maven, Jenkins, Sonar, Jira
- Understanding of Elasticsearch, Logstash, Kibana and Grafana
- Interested in using, and ideally contributing to, open-source frameworks.
- Experience with:
- Angular/React frameworks.
- Native Mobile development.
- Electron (Atom Shell).