.**Responsibilities**:- The Software Architect must have a broad technical background with extensive experience in designing, deploying, and supporting distributed software solutions.- Generate internal white papers on standard design and approaches- Collaborate with the development team and product to design software solutions- Perform code contributions, code reviews, and maintain high coding and quality standards.- Research innovative software technologies, best practices, and current industry trends, and facilitate their adoption by the team.- Ensure quality and efficiency of the product architecture and the source code.- Mentoring junior developers and new team members.- Complete all work items including legal clearances, regulatory requirements, product certifications, and ensure that the software meets industry standards.- Interact with stakeholders such as technical project manager and product manager as appropriate to discuss product functionality, performance, plans and field support escalations.- Identify and resolve problems, gaps, and challenges in the software engineering processes.- Perform other related duties as assigned.**Areas of Expertise & Special Skills**:- Bachelor's degree in computer science or related field.- 10+ years professional experience in software development.- 5+ years of experience building and supporting cloud based microservice systems.- In-depth understanding of cloud computing technologies (such as AWS, Azure, or Google Cloud) and experience with cloud-based architecture patterns (such as serverless computing, containerization (dockers) and Kubernetes)- Strong experience in designing and implementing microservice-based solutions, including API design, distributed systems, and event-driven architectures.- Excellent communication and collaboration skills, with ability to work effectively with cross-functional teams, stakeholders and customers- Ability to convert technical specifications from the design team or third-party vendors into software implementation.- Strong analytical and Java programming skills.- Technical skills in software development technologies and tools such as socket communication, DI, CI, Spring Boot, XML/JSON, Java, JavaScript, Docker, Dagger2, maven.- Problem determination and debugging, attention to detail, teamwork, and excellent communication skills.- Knowledge of software development concepts/methodology/life cycle, especially Agile methodology- Proficiency with code versioning tools like Git- Proficiency with Windows- and Linux-based operating systems, including software installation, light administration, and simple scripting.- Fluency in English**Preferred Skills**:- Knowledge of Swagger and REST design- Working knowledge of network communication using sockets and HTTPS.- Experience with retail technologies and payment processing.- Knowledge of cloud computing technologies, Azure.- Knowledge of SQL and non-relational databases such as MongoDB