We are seeking a talented and experienced Java Developer with expertise in Continuous Integration and Continuous Deployment (CI/CD) practices, as well as proficiency in AWS cloud services and Jenkins automation. The ideal candidate will be responsible for designing, developing, and maintaining Java-based applications while also contributing to the implementation and improvement of CI/CD pipelines. This role requires strong Java programming skills, a solid understanding of CI/CD concepts and tools, as well as hands-on experience with AWS and Jenkins. Additionally, the ability to work collaboratively in an agile environment is crucial.
Key Responsibilities:
1. Java Development:
- Design, develop, and maintain high-quality Java applications.
- Implement clean, efficient, and maintainable code following best practices and coding standards.
- Collaborate with cross-functional teams to define and deliver new features and enhancements.
2. CI/CD Implementation:
- Design, configure, and maintain CI/CD pipelines for automated build, test, and deployment processes.
- Integrate CI/CD tools and services into the development workflow, with a specific focus on Jenkins automation.
- Automate deployment procedures to various environments, ensuring consistency and reliability.
3. AWS Expertise:
- Utilize AWS cloud services to optimize application deployment, scalability, and performance.
- Implement infrastructure as code (IaC) using AWS CloudFormation or similar tools.
- Leverage AWS services such as EC2, S3, Lambda, and RDS to support application development and deployment.
4. Version Control:
- Utilize version control systems (e.g., Git) effectively to manage source code and collaborate with team members.
- Ensure code repositories are well-organized, properly documented, and adhere to branching strategies.
5. Testing and Quality Assurance:
- Write unit tests and participate in code reviews to maintain code quality.
- Integrate automated testing into CI/CD pipelines to ensure robustness and reliability of applications.
6. Monitoring and Maintenance:
- Monitor CI/CD pipelines and identify opportunities for optimization and improvement.
- Troubleshoot build failures, performance issues, and other pipeline-related issues as needed.
7. Documentation and Knowledge Sharing:
- Document CI/CD processes, configurations, and best practices.
- Share knowledge and expertise with team members through training sessions, presentations, and documentation.
Required Skills and Qualifications:
- Bachelor’s degree in Computer Science, Engineering, or related field.
- Strong proficiency in Java programming language and frameworks (e.g., Spring, Hibernate).
- Experience with CI/CD concepts, practices, and tools such as Jenkins, GitLab CI/CD, Azure DevOps, or similar.
- Hands-on experience with containerization and orchestration tools like Docker and Kubernetes.
- Familiarity with AWS cloud services and infrastructure management.
- Solid understanding of software development lifecycle (SDLC) methodologies, agile practices, and DevOps principles.
- Excellent problem-solving skills and attention to detail.
- Effective communication and collaboration abilities within a team environment.
Preferred Skills:
- Experience with infrastructure as code (IaC) tools like Terraform or Ansible.
- Knowledge of microservices architecture and related technologies (e.g., RESTful APIs, service discovery).
- Familiarity with code analysis and code quality tools (e.g., SonarQube).
- Understanding of security best practices in application development and deployment.