Job Summary: The Software Developer will be responsible for designing and enhancing application architecture for a data enrichment service.
This role focuses on the development of microservices, Kafka integrations, and CI/CD pipelines using technologies such as Spring Boot, Apache Camel, and Docker.
The ideal candidate will have hands-on experience with modern software development practices and cloud deployment.
Key Responsibilities: - Design and implement application architecture for data enrichment services.
- Develop and enhance microservices using Spring REST and Spring Boot frameworks.
- Build and manage Spring schedulers based on cron expressions to execute tasks at specified intervals.
- Integrate Kafka components for consuming messages and processing data across topics.
- Develop a core routing framework using Apache Camel for orchestration services to consume Kafka messages.
- Configure Kafka topics for logging and integrate with the EAGLE dashboard for troubleshooting issues.
- Utilize Docker containers for deploying Spring Boot applications into Kubernetes Pods.
- Implement and manage CI/CD pipelines using tools like GitHub, Jenkins, and Docker.
- Collaborate with cross-functional teams to ensure smooth software deployment and operations.
- Troubleshoot and resolve issues in the development and deployment environments.
Required Qualifications: - Proven experience with Spring Boot, Spring REST, and microservice architecture.
- Strong understanding of Kafka and experience with message-driven architecture.
- Hands-on experience with Apache Camel for routing and message orchestration.
- Familiarity with Docker, Kubernetes, and containerization for deployment.
- Experience with CI/CD pipelines using GitHub, Jenkins, and Docker.
- Excellent problem-solving skills and ability to debug issues across systems.
- Strong communication skills and ability to work in a collaborative team environment.
Preferred Qualifications: - Experience with cloud platforms such as AWS, Azure, or Google Cloud.
- Familiarity with monitoring and logging tools for troubleshooting in cloud environments.
- Experience in optimizing performance in distributed systems and microservices architectures.
- Knowledge of Agile development practices and version control systems (e.g., Git).
- Previous experience with Kubernetes for container orchestration and deployment management.
Education: Bachelors Degree