Key responsibilities:
- Work closely with business stakeholders to gather requirements and translate them into effective technical solutions.
- Guide and mentor a team of Java developers, fostering their professional growth and ensuring high-quality deliverables.
- Oversee the design, implementation, and management of enterprise applications using Java/J2EE.
- Supervise the development and maintenance of Java-based services and applications.
- Manage and prioritize backlog items while coordinating efforts between onsite and offshore teams.
- Lead discussions on software architecture, design, and development strategies.
- Implement and maintain coding standards, best practices, and architectural guidelines.
- Oversee performance monitoring, optimization, and troubleshooting of Java applications.
- Stay informed about the latest trends in the Java ecosystem and propose enhancements to existing systems
- Safeguard application security and ensure compliance with industry standards and regulations.
- Offer technical guidance and support for production issues, ensuring timely resolution.
Requirements:
- Proficient in build tools like Maven and Gradle, as well as version control systems such as Git.
- Proficient in front-end technologies such as JavaScript, Angular, or React.
- Extensive knowledge of Java, J2EE, Spring, and Spring Boot, focusing on enterprise application development.
- Experience in developing RESTful and SOAP web services.
- Advanced proficiency with Object-Relational Mapping (ORM) frameworks such as Hibernate and JPA.
- In-depth knowledge of application servers, including Tomcat, JBoss, and WebSphere.
- Solid comprehension of microservices architecture and its practical application.
- Strong understanding of database technologies, including both SQL and NoSQL.
- Familiarity with cloud services, preferably AWS or Azure.
- Understanding of containerization and orchestration tools like Docker and Kubernetes.
- Experience with Continuous Integration and Continuous Deployment (CI/CD) practices and tools.
- Strong grasp of software architecture patterns and design principles.
- Knowledge of DevOps practices and methodologies.