Overview
JOB DESCRIPTION
Experience : 7 - 9 Yrs
Location : Bengaluru
Designation : Lead Software Engineer
Job Description
We are seeking a highly skilled Lead Software Engineer with a minimum of 5 years of experience to join our team. As a Lead Software Engineer, you will play a crucial role in designing, developing, and deploying scalable and resilient microservices-based solutions, with a focus on IoT (Internet of Things), Kafka, and AWS technologies. You will work closely with cross-functional teams to architect and implement innovative solutions that leverage the latest technologies to meet business objectives.
Key Responsibilities
1. Design, develop, and deploy microservices-based applications using Java and related technologies.
2. Architect scalable and resilient solutions for IoT applications, leveraging Kafka for real-time data streaming and event-driven architectures.
3. Design and implement APIs using AWS API Gateway for seamless integration between microservices and external systems.
4. Utilize AWS services such as Lambda, DynamoDB, and MemoryDB to build serverless applications with high availability and scalability.
5. Collaborate with frontend developers, DevOps engineers, and product managers to understand requirements and translate them into technical designs and implementation plans.
6. Implement best practices for security, performance, and reliability, ensuring compliance with industry standards and regulations.
7. Optimize application performance, troubleshoot issues, and conduct root cause analysis to identify and resolve technical challenges.
8. Mentor junior developers, conduct code reviews, and provide technical guidance to ensure code quality and consistency across the team.
9. Stay updated with the latest trends and advancements in Java development, microservices architecture, IoT, Kafka, and AWS technologies.
10. Participate in Agile development methodologies, including sprint planning, daily stand-ups, and retrospectives.
Qualifications
1. Bachelor’s degree in computer science, Engineering, or related field. Master’s degree preferred.
2. Minimum of 7 years of professional experience in Java development, with a focus on building microservices-based applications.
3. Strong proficiency in Java programming language and related frameworks such as Spring Boot.
4. Experience with Kafka for building real-time streaming data pipelines and event-driven architectures.
6. Solid understanding of microservices architecture principles, design patterns, and best practices.
7. Experience with containerization technologies such as Docker and orchestration tools like Kubernetes.
8. Knowledge of IoT architectures, protocols (e.g., MQTT, CoAP), and device management.
9. Excellent problem-solving skills and ability to work independently or as part of a team in a fast-paced environment.
Good to Have:
1. AWS certifications such as AWS Certified Developer.
2. Experience with other programming languages such as Rust or Python.
3. Familiarity with NoSQL databases such as MongoDB or Cassandra.
4. Knowledge of DevOps practices, CI/CD pipelines, and infrastructure as code tools.
5. Understanding of security best practices for designing and deploying cloud-native applications.
6. Experience with stream processing frameworks such as Apache Flink or Spark Streaming.
7. Understanding of edge computing and distributed systems.