Job Description

A reputable ICT organization is looking for an experienced Senior Java Back-End Developer with expertise in the Spring Framework, Docker, and Kafka to help build and maintain our distributed, high-availability backend systems. The ideal candidate should have a strong understanding of microservices architecture and be comfortable with both the development and deployment of cloud-native and on-premise applications.

Key Responsibilities:

  • Design, develop, and maintain high-performance and scalable Java-based applications and backend services using Spring Framework.
  • Develop and maintain microservices-based applications, ensuring high availability, scalability, and fault tolerance.
  • Work with Docker to containerize applications, ensuring smooth deployment and scalability in cloud environments.
  • Integrate Apache Kafka for building real-time data pipelines and event-driven architectures to handle large volumes of data.
  • Develop APIs for front-end consumption and integrate with third-party systems.
  • Ensure high code quality through test-driven development (TDD), code reviews, and following best practices in coding standards, security, and performance optimization.
  • Collaborate with cross-functional teams (DevOps, front-end, QA, and project managers) to ensure seamless development and deployment.
  • Identify bottlenecks and optimize the performance of the backend services for high throughput and low latency.
  • Help implement and manage CI/CD pipelines, ensuring smooth integration, testing, and deployment of applications.
  • Provide technical leadership and mentoring to junior developers, ensuring they follow best practices in Java development and microservices architecture.

Required Skills and Qualifications:

  • Must have a minimum of 6 years of experience as a Java back-end developer, with a focus on developing enterprise-scale, high-performance applications.
  • Must have strong experience with Spring Boot, Spring Cloud, Spring Security, and other Spring-related technologies.
  • Hands-on experience with Docker to containerize applications and deploy them in cloud environments.
  • Experience with Apache Kafka for building real-time, event-driven architectures and managing message-driven applications.
  • Strong experience in designing and implementing microservices, including integration with databases, APIs, and external systems.
  • Experience with relational databases like MySQL, PostgreSQL, MS-SQL, Oracle and NoSQL databases such as MongoDB, Cassandra, or Redis.
  • Solid understanding of RESTful API design and development.
  • Experience with version control systems, especially Git.
  • Experience working in Agile/Scrum teams with continuous delivery and iterative development.
  • Experience with unit testing frameworks like JUnit, Mockito, and integration testing tools.

Preferred Qualifications:

  • Experience with cloud platforms like AWS, Azure, or Google Cloud.
  • Familiarity with Jenkins, GitLab CI for automating the deployment pipeline.
  • Knowledge of other messaging and event streaming systems such as RabbitMQ or Apache Pulsar.
  • Understanding of distributed systems, CAP theorem, eventual consistency, and other fundamental concepts.
  • Experience with Kubernetes for container orchestration and management.

Personal Attributes:

  • Strong analytical and problem-solving skills to tackle complex backend challenges.
  • Ability to mentor junior developers, lead development teams, and ensure smooth execution of backend projects.
  • Strong communication and collaboration skills to work effectively with cross-functional teams.
  • Ability to work independently, manage your time effectively, and be proactive in solving issues.
  • Willingness to adapt to changing technologies and business needs.

 
Job Type
Full-Time Regular