Remote Software Engineer with Kafka and MongoDB
Role details
Job location
Tech stack
Job description
-
Design and Development: Design, develop, and maintain secure, high-quality, and scalable software applications using Java, Spring Boot, and microservices architecture.
-
Cloud Integration: Leverage and integrate various AWS services (such as AWS Lambda, EC2, S3, RDS, SQS, SNS) to build cloud-native solutions and manage infrastructure.
-
Event Streaming: Implement and manage real-time data pipelines and event-driven systems using Apache Kafka (producers, consumers, streams, Connect APIs & using Kafka MongoDB connectors ).
-
Collaboration: Collaborate with cross-functional teams, including QA, DevOps, and product teams, to define system architecture, gather requirements, and deliver high-quality solutions.
-
Testing and Quality: Ensure software quality and security through best practices, participate in code reviews, and develop and maintain automated unit and integration tests.
-
Deployment and Operations: Utilize CI/CD pipelines and DevOps practices to automate deployment and monitor application performance and reliability using tools like GitHub Actions, Jenkins, AWS Code Pipeline, and Amazon CloudWatch.
-
Troubleshooting: Monitor system health and troubleshoot issues to ensure minimal downtime and optimal performance
Requirements
-
Experience: Relevant professional experience in software development, with specific hands-on experience in Java, Spring Boot, AWS, Kafka and with the MongoDB Atlas platform and MongoDB connectors
-
Programming Languages: Strong proficiency in Java and object-oriented programming (OOP) principles.
-
Frameworks & Tools:
o Java Ecosystem: Expertise in Spring and Spring Boot frameworks, Hibernate/JPA, and build tools like Maven or Gradle.
o Cloud: Hands-on experience with AWS services, including AWS Lambda, EC2, S3, and RDS. Also knowledge around networking required for integrations.
o Messaging: Experience with Apache Kafka and event-driven design patterns.
o DevOps: Familiarity with GitHub Actions, CI/CD toolsets (e.g., Jenkins), Git for version control, and monitoring tools.
-
Soft Skills: Strong problem-solving, analytical, and communication skills, with the ability to work effectively in a team environment following Agile methodologies
-
Education: A Bachelor's degree in Computer Science, Engineering, or a related field is typically required.