Design and Develop key system and application architecture
Plan and Estimate Key components, system and application development
Implement software systems and modules for various components and applications
Work closely with project management, product management, and QA teams. This role requires strong collaboration and strong technical leadership skills in articulating complex technical infrastructure and concepts.
Diagnose and troubleshoot system issues in production and external customer-facing environments
Support department and organization teams in executing implementation projects aligned with management goals and business objectives
Must keep up with new technology trends and evaluate them on an ongoing basis
Bachelor' Degree or equivalent in Computer Science, or related field
8+ years’ experience developing with Java Technologies
Experience with and strong understanding of Algorithms
Multi-threaded server-side development
Experience in Java performance tuning, debugging and memory profiling
Strong working knowledge of:
OOD, Design Patterns,
Distributed messaging, JMS,
Spring, Spring Boot, Spring MVC,
Hibernate, JPA, Spring Data, etc.
Experience in Microservice design and Cloud computing
Proficiency with database development concepts (SQL, PL/SQL, etc.)
Strong experience in design and system architecture; must possess technical documentation skills to present design artifacts.
Ability to work independently and productively under pressure, and effectively multi-task
Strong interpersonal skills and ability to work well in a team environment.