Job Description
Job Overview
We are 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
- Back-End Development: Design, develop, and maintain high-performance and scalable Java-based applications and backend services using Spring Framework.
- Microservices Architecture: Develop and maintain microservices-based applications, ensuring high availability, scalability, and fault tolerance.
- Docker & Containerization: Work with Docker to containerize applications, ensuring smooth deployment and scalability in cloud environments.
- Messaging & Event-Driven Architecture: Integrate Apache Kafka for building real-time data pipelines and event-driven architectures to handle large volumes of data.
- API Development: Develop and expose RESTful APIs for front-end consumption and integrate with third-party systems.
- Code Quality & Best Practices: Ensure high code quality through test-driven development (TDD), code reviews, and following best practices in coding standards, security, and performance optimization.
- Collaboration: Collaborate with cross-functional teams (DevOps, front-end, QA, and project managers) to ensure seamless development and deployment.
- Performance Optimization: Identify bottlenecks and optimize the performance of the backend services for high throughput and low latency.
- Deployment & CI/CD: Help implement and manage CI/CD pipelines, ensuring smooth integration, testing, and deployment of applications.
- Mentorship: Provide technical leadership and mentoring to junior developers, ensuring they follow best practices in Java development and microservices architecture.
Required Skills or Experience
Skills and Qualifications
- Proven Experience: Minimum of 6 years of experience as a Java back-end developer, with a focus on developing enterprise-scale, high-performance applications.
- Spring Framework Expertise: Strong experience with Spring Boot, Spring Cloud, Spring Security, and other Spring-related technologies.
- Containerization & Docker: Hands-on experience with Docker to containerize applications and deploy them in cloud environments.
- Kafka Integration: Experience with Apache Kafka for building real-time, event-driven architectures and managing message-driven applications.
- Microservices Architecture: Strong experience in designing and implementing microservices, including integration with databases, APIs, and external systems.
- Database Experience: Experience with relational databases like MySQL, PostgreSQL, MS-SQL, Oracle and NoSQL databases such as MongoDB, Cassandra, or Redis.
- API Development: Solid understanding of RESTful API design and development.
- Version Control: Experience with version control systems, especially Git.
- Agile Methodology: Experience working in Agile/Scrum teams with continuous delivery and iterative development.
- Testing Frameworks: Experience with unit testing frameworks like JUnit, Mockito, and integration testing tools.
Preferred Qualifications
- Cloud Platforms: Experience with cloud platforms like AWS, Azure, or Google Cloud.
- CI/CD Tools: Familiarity with Jenkins, GitLab CI for automating the deployment pipeline.
- Other Messaging Systems: Knowledge of other messaging and event streaming systems such as RabbitMQ or Apache Pulsar.
- Distributed Systems Knowledge: Understanding of distributed systems, CAP theorem, eventual consistency, and other fundamental concepts.
- Containers & Orchestration: Experience with Kubernetes for container orchestration and management.
Personal Attributes
- Problem Solving: Strong analytical and problem-solving skills to tackle complex backend challenges.
- Leadership: Able to mentor junior developers, lead development teams, and ensure smooth execution of backend projects.
- Collaboration: Strong communication and collaboration skills to work effectively with cross-functional teams.
- Self-motivated: Ability to work independently, manage your time effectively, and be proactive in solving issues.
- Adaptability: Willingness to adapt to changing technologies and business needs.
Note
Please note, employers receive numerous applications per posting and will only shortlist the most qualified candidates. Also
Jobsinghana.com is not involved in any decision made by an employer/recruiter and therefore does not guarantee that applications sent
will result in a candidate being shortlisted/selected for that position.
|