JOB DESCRIPTION: Analyze technical requirements and design new components to meet functional, performance and availability requirements. Guide team development efforts towards successful project delivery. Provide technical leadership to teammates through coaching and mentorship. Maintain high standards of software quality within the team by establishing good practices and habits. Identify and encourage areas for growth and improvement within the team.Collaborate with other software developers, business analysts and software architects to plan, design, develop, test, and maintain web- and desktop-based business applications built on Microsoft technologies. Develop, refine, and tune integrations between applications. Play role of scrum master as wellRequired Skills: Extensive experience with JavaEE (JEE, J2EE), JavaScript, HTML5, CSS3, jQuery, and Bootstrap. Proficiency in the Spring Framework and ReactJS. Strong background in working with relational databases, including SQL, PostgreSQL, Oracle, or MySQL. Familiarity with MVC (Model-View-Controller), JDBC (Java Database Connectivity), and RESTful web services. Proven experience in developing web applications using at least one popular web framework such as JSF, Wicket, GWT, or Spring MVC. Experience with test-driven development (TDD). Knowledge of Tomcat, Apache, Vue.js, and Angular is a plus. Experience with Google Cloud Platform (GCP); familiarity with AWS or Azure is also beneficial. Understanding of accessibility standards. Comprehensive knowledge of object-oriented and service-oriented application development. Familiarity with design patterns, including dependency injection, factory method, and concurrency patterns. Proficiency in multi-threading, debugging, performance profiling, and optimization. Experience with unit testing and code versioning tools like Git. Knowledge of agile development methodologies, particularly Scrum.