- Java Development:
- Design, develop, test, and maintain Java applications and microservices.
- Write clean, scalable, and efficient code using Java (preferably Java 8+).
- Implement RESTful APIs, web services, and other integration services to support application functionality.
- Cloud Integration (Azure):
- Develop and deploy Java applications on Microsoft Azure cloud infrastructure.
- Leverage Azure services such as Azure App Services, Azure Functions, Azure Storage, Azure Service Bus, Azure Kubernetes Service (AKS), and Azure SQL Database.
- Integrate Java applications with Azure Active Directory and other Azure authentication mechanisms.
- Azure DevOps & CI/CD:
- Implement continuous integration and continuous delivery (CI/CD) pipelines using Azure DevOps.
- Automate deployments and configure release pipelines for Java applications in the Azure environment.
- Collaborate with the DevOps team to streamline deployment processes and optimize automation workflows.
- Database & Data Management:
- Work with Azure SQL Database, Cosmos DB, and other cloud data storage options for efficient data management and access.
- Develop and maintain database schemas, SQL queries, stored procedures, and data models.
- Performance Optimization:
- Ensure applications are optimized for scalability, performance, and cost efficiency on Azure.
- Monitor application performance using Azure Monitor and troubleshoot performance-related issues.
- Security & Compliance:
- Implement and adhere to best security practices in cloud applications.
- Secure data using Azure Key Vault and other encryption technologies.
- Ensure compliance with relevant standards (e.g., GDPR, SOC2) for cloud applications.
- Collaboration & Teamwork:
- Collaborate closely with product managers, architects, and other stakeholders to understand business needs and define application requirements.
- Participate in design and code reviews to ensure the quality and maintainability of the code.
- Work with a cross-functional team to build, test, and deploy applications.
- Experience:
- Minimum 3-5 years of experience in Java development, with strong hands-on experience in building and maintaining enterprise-level applications.
- 2+ years of experience in developing applications using Azure cloud platform.
- Experience with cloud-native application development and migration of on-prem applications to Azure.
- Technical Expertise:
- Strong knowledge of Java (Core Java, Java EE) and frameworks like Spring Boot, Spring MVC, and Hibernate.
- Proficient in RESTful API design and integration with external systems.
- Hands-on experience with Azure services, including Azure App Services, Azure Functions, Azure Storage, Azure SQL Database, and Azure Kubernetes Service (AKS).
- Experience with CI/CD pipelines using Azure DevOps or other similar tools (e.g., Jenkins, GitLab).
- Familiarity with microservices architecture and containerization (e.g., Docker, Kubernetes).
- Cloud Technologies:
- Experience working with Azure DevOps, Azure Functions, Azure Kubernetes Service, Azure Storage, and Azure Key Vault.
- Familiarity with cloud monitoring and alerting tools such as Azure Monitor and Application Insights.
- Database Knowledge:
- Strong experience with SQL and NoSQL databases.
- Experience in working with Azure SQL Database and Cosmos DB.
- Security and Best Practices:
- Knowledge of security best practices for cloud applications (e.g., encryption, authentication, access control).
- Experience with Azure Active Directory and OAuth for secure user authentication.
- Agile Methodologies:
- Experience working in an Agile development environment (e.g., Scrum, Kanban).
- Familiar with Agile project management tools such as Jira, Confluence, or Azure Boards.
- Cloud Certifications:
- Microsoft Certified: Azure Developer Associate or any other relevant Azure certifications are a plus.
- Containerization:
- Hands-on experience with Docker and Kubernetes for deploying Java applications on Azure.
- Java Frameworks & Tools:
- Familiarity with Spring Cloud and Spring Security.