Required Skills:
• University degree in Computer Science or a related field.
• 4+ years of software development experience.
• Good knowledge and/or experience of:
o GIT flows/streams
o Maven or Gradle
o Spring Boot
o Kafka
o NoSQL Databases (MongoDB, ElasticSearch etc).
o Continuous Integration/Continuous Delivery (Bitbucket, AWS CodePipeline)
o RESTful APIs
o Coding Standards and Guidelines
o OOP, SOLID Principles, Design Patterns, Enterprise Integration Patterns
o Unit tests (JUnit) and integration tests (BDD)
• Development experience in a Unix/Linux environment.
• Strong communication and interpersonal skills.
• Ability to work both collaboratively and with limited supervision.
• Knowledge of software testing practices.
Desirable Skills:
• Project Management Tools, such as Jira, Trello, Confluence, Airtable
• Agile Methodology, such as Scrum, XP, Kanban
• Knowledge and/or experience of:
o High performance, high availability systems
o Domain-Driven Development
o Microservices Patterns and Architecture
o Container Application Development, such as Docker and Docker Compose
o Development of cloud services (AWS, EC2)
o Event-Driven Architecture
o Backend-Driven Development
o Event Sourcing
o Software Architecture (EER, UML)