Senior Java Back-End Developer
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
Full-Time Regular