UST is looking for a Java Microservices architect who will be required to work on a modernization project.
As a Java Microservices architect at UST, this is your opportunity to
Translate functional requirements to design
Work with technical SMEs to understand their requirements and ensure these are met
Define best practices and standards for the microservice implementation
Identify and define implementation patterns
Lead activities to build accelerators and tools to increase the quality of deliverables.
Define new development frameworks, libraries, utilities etc
Work with cross functional teams to facilitate the development of the product.
Ensure the quality of deliverables of the teams
You bring:
More than 10 years of IT experience
Demonstrable experience in Core Java (1.8 or higher) and Spring framework (Core, AOP, Batch, JMS).
Expert in J2EE, Spring boot, Web Services (SOAP/REST), JMS and Oracle RDBMS
Must have experience in deploying using CI/CD tools
Working experience on Kubernetes, Docker
Strong experience in developing on Cloud native architectures.
Expert in providing API contracts and definitions in Open API specifications using Swagger
Experience using Gradle, Junit, Sonarqube, etc
Excellent knowledge of design patterns and its usage in projects
Must have worked on Test Driven Development approach
Experience in developing on microservices based architecture
Experience in developing and deploying in cloud provider platforms
Good to have:
Experience developing enterprise application using Agile methodologies
Knowledge on enterprise integration patterns using enterprise service bus, API Gateway etc
Knowledge on using Kibana, Splunk, Grafana, Kafka.
Experience in defining new frameworks, utilities, library etc
Experience in performance monitoring and Payment industry would be an advantage
Role Proficiency:
Leverage expertise in a technology area (e.g. Big Data Cluster) and responsible for Architecture for small to mid size projects.
Outcomes:
Design and develop the framework; be the technical owner for a project in one technology area
Guide and review technical delivery by internal teams
Resolve design issues and deliver/own design for a complex module for projects of the following nature: architecture enhancements small sized development and maintenance projects
Review design and code ensuring adoption of industry best practices
Measures of Outcomes:
Number of reusable components / processes developed
Number of times components / processes reused
Delivery efficiency (Adherence to UST defined principles)
Contribution to technology capability development (e.g. Training Webinars Blogs)
Customer feedback on overall technical quality (zero technology related escalations)
Number of white papers/document assets contributed to
Relevant technology certifications
Business Development number of proposals contributed to as applicable)
Feedback from Project Team/Program Management on project support
Outputs Expected:
Solution Definition & Design:
Define Architecture for small/mid-sized type of projects
Design the technical framework and implement the same
Identify and conduct design of complex sub-components /module in collaboration with project team architects and client SME
Present the detailed design documents to relevant stakeholders and seek feedback
Undertake project specific Proof of Concepts activities to validate technical feasibility with guidance from the Application Architect
Implement best optimized solution and resolve performance issues
Support the team in the design of functional modules and review deliverables
Conduct code reviews
Requirement gathering and Analysis:
Understand the functional and non-functional requirements
Collect non-functional requirements (such as response time throughput numbers user load etc.) through discussions with SMEs and business users
Identify technical aspects as part of story definition especially at an architecture / component level
Project Management Support:
Share technical inputs from Agile/project planning perspective with SCRUM Master / Project Manager
Help SCRUM Masters / Project Managers to understand the technical risks and come-up with mitigation strategies
Help developers overcome technical challenges
Technology Consulting:
Analysis of technology landscape process and tools based on project objectives
Business and Technical Research:
Understand application architecture and its criticality to: analyze and assess tools (internal/external) on specific parameters
Understand application architecture and its criticality to: Support Architect/Sr. Architect in drafting recommendations based on findings contained within Proof of Concept
Understand application architecture and its criticality to: analyze and identify new developments in existing technologies (e.g. methodologies frameworks accelerators etc.)
Understand application architecture and its criticality to: document the new developments (e.g. report white paper national/ international publications) to build team capabilities.
Project Estimation:
Provide support for project estimations for business proposals and support sprint level / component level estimates
Articulate estimation methodology and module level estimations for more standard projects with focus on effort estimation alone
Proposal Development:
Contribute to proposal development of small to medium size projects from technology/architecture perspective
Knowledge Management & Capability Development:
Conduct technical trainings and webinars to impart knowledge to relevant application development/ project teams
Create collaterals (e.g. case study business value documents summary etc.)
Post in blogs / interviews to share expertise
Gain industry standard certifications on technology and architecture consulting
Contribute to knowledge repository and tools
Creating reference architecture model reusable design patterns and mining reusable components from the project
Partner with UST Gamma to create curriculum assessments; etc.; conduct training
Create KT Packages for new team members
Testing Support:
Suggest unit test automation strategies using appropriate frameworks
Process Improvements / Delivery Excellence:
Identify avenues to improve project delivery parameters (e.g. productivity efficiency process security etc.) by leveraging tools automation etc.
Understand various technical tools used in the project (third party as well as home-grown) to improve efficiency productivity
Audit:
Conduct cross project technical audits and reviews across multiple accounts as required to check adherence to architecture design and coding best practices
Skill Examples:
Use domain/ industry knowledge to understand business requirements. Create POC to meet business requirements under guidance
Use technology knowledge to analyse technology based on client's specific requirement analyse and understand existing implementations. Work on simple technology implementations (POC) under guidance guide the developers and enable them in the implementation of design into working software in the technology
Use knowledge of Architecture Concepts and Principles to provide inputs to the practitioner towards building component solutions and deploy the solution as per the architecture under guidance
Use knowledge of Design Patterns Tools and Principles to create low level design under guidance from the Architect for the given business requirements Review low level design created by team for maintainability (error handling alerting etc.) of design define technical checklists for design and coding
Use knowledge of Software Development Process Tools & Techniques/Scrum tools to increase productivity and develop efficient code. Constantly check for reusability of codes design and develop complex assets and provide technical consultancy related to these areas
Use knowledge of Project Management Tools and Techniques to provide inputs in project management activities (e.g. reporting reviewing documents audit compliance reports providing status). Raise concerns within own area of work in a timely manner and implement the same under guidance
Use Project Governance Framework to facilitate communication with the right stakeholders and Project Metrics to help them understand their relevance in project; and to share inputs on project metrics with the relevant stakeholders for own area of work
Use Estimation and Resource Planning knowledge to help estimate and plan resources for specific modules / small projects with detailed requirements in place
Use Knowledge Management Tools & Techniques to participate in the knowledge management process (such as Project specific KT). Consume and contribute to the knowledge management repository
Use knowledge of Technical Standards Documentation & Templates to understand and interpret the documents provided
Use Requirement Gathering and Analysis knowledge to analyse requirements (functional/ non -functional) and functionality raise clarifications/ambiguities create requirement documents (such as traceability matrix bridge documents etc.) under supervision. Provide inputs/ create estimates and solutions (based on the size of the project) create design documents identify impacted areas based on the change requests understand the data and model the requirements based on requirements
Use Solution Structuring knowledge to understand the proposed solution. Provide inputs to create draft proposals/ RFP (including effort estimation scheduling resource loading etc.)