What are the responsibilities and job description for the Java AWS Lead Developer position at eSolutionsFirst?
About the Role:
We are seeking a highly skilled and experienced Java AWS Lead Developer to join our growing team. You will play a critical role in designing, developing, and deploying robust and scalable applications on the AWS cloud platform. You will lead a team of developers, providing technical guidance and mentorship, while also contributing hands-on to the development process. This role requires a deep understanding of Java (specifically Java 8 and beyond), AWS services, and best practices for cloud-native development, including serverless architectures.
Responsibilities:
We are seeking a highly skilled and experienced Java AWS Lead Developer to join our growing team. You will play a critical role in designing, developing, and deploying robust and scalable applications on the AWS cloud platform. You will lead a team of developers, providing technical guidance and mentorship, while also contributing hands-on to the development process. This role requires a deep understanding of Java (specifically Java 8 and beyond), AWS services, and best practices for cloud-native development, including serverless architectures.
Responsibilities:
- Lead a team of Java developers, providing technical guidance, code reviews, and mentorship.
- Design and develop high-performance, scalable, and secure applications using Java (including leveraging Java 8 features like Lambda expressions and Streams) and AWS services.
- Architect and implement cloud-native solutions leveraging AWS serverless technologies (e.g., Lambda, API Gateway, DynamoDB) and containerization (e.g., ECS, EKS).
- Develop and deploy AWS Lambda functions for serverless application components.
- Collaborate with architects, product owners, and other stakeholders to define requirements and deliver solutions that meet business needs.
- Implement and maintain CI/CD pipelines for automated build, testing, and deployment.
- Ensure code quality and adherence to best practices through code reviews and static analysis.
- Troubleshoot and resolve complex technical issues.
- Monitor application performance and identify areas for optimization.
- Stay up-to-date with the latest AWS services and Java technologies.
- Contribute to the development of technical documentation and knowledge sharing within the team.
- Participate in Agile ceremonies, including sprint planning, daily stand-ups, and retrospectives.
- Bachelor's degree in Computer Science or a related field.
- 8 years of experience in Java development.
- 5 years of experience working with AWS services, including but not limited to:
- EC2, S3, RDS, Lambda, API Gateway, DynamoDB, CloudWatch, IAM, VPC.
- Strong understanding of Java frameworks and technologies, such as Spring Boot, Hibernate, and RESTful APIs.
- Proficiency in Java 8 (or later versions) features, including Lambda expressions, Streams, and other functional programming concepts.
- Experience with developing and deploying AWS Lambda functions.
- Experience with containerization technologies like Docker and Kubernetes (ECS, EKS).
- Proficiency in building and deploying applications using CI/CD tools (e.g., Jenkins, GitLab CI, AWS CodePipeline).
- Experience with Agile development methodologies.
- Excellent problem-solving and communication skills.
- Ability to lead and mentor a team of developers.
- AWS certifications (e.g., AWS Certified Developer - Associate, AWS Certified Solutions Architect - Associate).
- Experience with serverless architectures.
- Knowledge of microservices architecture.
- Experience with performance tuning and optimization of Java applications, including Lambda functions.
- Familiarity with DevOps practices.
- Experience with testing frameworks (e.g., JUnit, Mockito).