Role Proficiency
Leverage expertise in a technology area (e.g. Java Microsoft technologies or Mainframe/legacy) to design system architecture.
Outcomes
- Deliver technically sound projects across one / multiple customers within the guidelines of the customer and UST standards and norms based on user stories
- Guide and review technical delivery by internal teams at the program level
- Resolve architecture issues deliver and own architecture of application solutions spanning across multiple technologies for projects of the following nature - high revenue projects complex projects and large strategic maintenance projects
- Architect frameworks tools relevant for the program
Measures Of Outcomes
- Business Development (number of proposals contributed to); revenue contribution (COE)
- Delivery efficiency (Delivery)
- Audit reviews on reuse of technology
- Number of processes / frameworks/tools reused
- Number of Trainings Webinars Blogs interviews
- Number of white papers/document assets published / working prototypes
- Number of reusable frameworks/tools/artifacts created
- Technology certifications
- Customer feedback on overall technical quality (zero technology related escalations)
- Number of reviews and audits
- Domain certifications (e.g.: LOMA) (Delivery)
Outputs Expected
Knowledge Management & Capability Development:
- Publish and maintain a repository of solutions best practices and standards and other knowledge articles
- Conduct and facilitate knowledge sharing and learning sessions across the team
- Gain industry standard certifications on technology in area of expertise
- Support technical skill building (including hiring and training) for the team based on inputs from Project Manager /RTE’s
- Mentor new members in the team in technical areas
- Gain and cultivate domain expertise to provide best and optimized solution to customer (Delivery)
- Create architecture on-boarding/KT documents for the program
Requirement Gathering And Analysis
- Work with customer/business owners and other teams to collect analyze and understand the requirements including NFRs; define NFRs
- Analyze gaps/ and trade-offs based on current system context and industry practice while clarifying the requirements and by working with the customer
- Define the systems and sub-systems that define the programs
People Management
- Set goals and manage performance of technical specialists / team engineers
- Provide career guidance and mentor technical specialists
Alliance Management
- Identify alliance partners based on the understanding of service offerings and client requirements specific to program
- In collaboration with Architect 2 3 create a compelling business case around the offerings
- Conduct beta testing of the offerings and relevance to program
Technology Consulting
- In collaboration with the Solution Architects analyze application and technology landscape process and tools to arrive at the architecture options best fit for the client program
- Analyze Cost vs. benefits of solution options
- Support Solution Architects to create a technology/ architecture roadmap for the client
- Define architectural strategy for the program
Innovation And Thought Leadership
- Participate in internal and external forums (seminars paper presentation etc.) to showcase UST capabilities and insights under guidance of senior team members
- Understand clients existing business at the program level and explore new avenues to save cost and bring process efficiency
- Identify business opportunities to create reusable components/accelerators and reuse existing components and best practices
- Support the patent filing process for the IP assets created (applicable to some CoEs)
Sales Support And Project Estimation
- Support for developing RFPs and collaterals for proposals from a technical architecture estimation and risks perspective
- Conduct demos and arrange for the demos based on client profiles if required
- Anchor proposal development with cross-linkages across multiple competency units to arrive at a coherent solution proposal with focus on presenting unique value propositions and clear differentiators
Architecture Solution Definition & Design
- Develop and Enhance the architecture (application / technical / Infrastructure as applicable) meeting functional and non functional requirements; aligned to industry best practices
- Program Design (including data modeling application design infrastructure design team structure)and capacity sizing working with Program Release Train Engineer to meet the requirements and SLAs of target state and in-transition as applicable
- Identify Proof of Concept testing (POC) needs and conduct POCs as applicable
- Identify need for developing accelerators or frameworks and develop as applicable specific to the engagement
- Identify key technical metrics to measure the SLA / requirements compliance
- Define adopt and create required documentation on standards and guidelines
- Contribute to re-usable frameworks tools and artefacts library
Project Management Support
- Assist the PM/Scrum Master/Program Manager to identify technical risks and come-up with mitigation strategies
Stakeholder Management
- Monitor the concerns of internal stakeholders like Product Managers and RTE’s; and external stakeholders like client architects on architecture aspects. Follow through on commitments and achieve timely resolution of issues
- Conduct initiatives to meet client expectations
- Work to expand professional network in the client organization at the team and program levels
Business And Technical Research
- Analyze market trends / client requirements/ secondary research
- Identify new ideas and provide inputs to Solution Architects for developing blueprint / PoC
Brand Building
- Organize and participate in events like webinars boot camps seminar conference and client conference to showcase capability
- Identify opportunities with Solution Architects to cross-solutionize across project(s) and programs within or outside the BU
Asset Development And Governance
- Understand the plan for asset development
- Design assets or artefacts as per plan (if required)
- Conduct pilot run/review to validate the assets artefacts as feasible
- Track utilization of reusable assets / architecture components/blueprints across the organization
- Create case studies of program/project working with internal stakeholders
Skill Examples
- Use domain and industry knowledge in order to understand business requirements create POC to meet business requirements and contextualize the solution to the industry under guidance. Create architecture interact with SMEs at various stages of the development translate business requirements to system requirements and perform impact analysis of changes in requirements
- Use Technology Knowledge to create Proof of Concept (POC) / (reusable) assets under the guidance of the specialist. Apply best practices in own area of work and understand the IT strategy for the project. Create white papers under guidance help with performance troubleshooting and other complex troubleshooting. Define decide and defend the technology choices made; review solution under guidance
- Use knowledge of Technology Trends to provide inputs on potential areas of opportunity for UST. Provide inputs to the specialist on creation of technology roadmap for the client research on new products / trends / best practices
- Use knowledge of Architecture Concepts and Principles to create architecture catering to functional and non-functional requirements under guidance of the specialist. Re-engineer existing architecture solutions under the guidance of the specialist; provide training on best practices in architecture under guidance
- Use knowledge of Design Patterns Tools and Principles to create high level design for the given requirements. Independently evaluate multiple design options and choose the appropriate options for best possible trade-offs. Conduct knowledge sessions to enhance team's design capabilities; review the low level design / high level design created by Specialists for efficiency (consumption of hardware memory and memory leaks etc.) and maintainability of design
- Use knowledge of Software Development Process Tools & Techniques to identify and assess incremental improvements for software development process methodology and tools. Take technical responsibility for all stages in the software development process conduct optimal coding with clear understanding of memory leakage and related impact. Implement global standards and guidelines relevant to programming and development to come up with 'points of view' and new technological ideas
- Use knowledge of Project Management & Agile Tools and Techniques to support plan and manage medium size projects/programs as defined within UST. Identify risks and mitigation strategies
- Use knowledge of Project Governance Framework to support development of the communication protocols escalation matrix and reporting mechanisms for small / medium projects/ program as defined within UST
- Use knowledge of Project Metrics to understand relevance in project. Collect and collate project metrics; share it with the relevant stakeholders
- Use knowledge of Estimation and Resource Planning to create estimate and plan resources for specific modules / small projects with detailed requirements or user stories in place
- Use knowledge of Knowledge Management Tools & Techniques to leverage existing material and re-usable assets in knowledge repository. Independently create and update knowledge artefacts; create and track project specific KT plans. Provide training to others write white papers/ blogs at internal level write technical documents/ user understanding documents at the end of the project
- Use knowledge of Technical Standards Documentation & Templates to create documentation appropriate for the project needs. Create documentation appropriate for the reusable assets/ best practices/ case studies
- Use knowledge of Requirement Gathering and Analysis to support creation of requirements documents or user stories and high level process maps. Identify gaps on the basis of business process analyse responses to clarification questions to produce design documents. Create/review estimates and solutions at project level/program level create/review design artefacts update resourcing and schedule based on impacted areas identified; creating design specifically for the non-functional requirements
- Use knowledge of Solution Structuring to carve out simple solution/ POC for a customer based on their needs review the proposal for completeness
Knowledge Examples
- Domain/ Industry Knowledge: Basic knowledge of standard business processes within the relevant industry vertical and customer business domain
- Technology Knowledge: Demonstrates working knowledge of more than one technology area related to own area of work (e.g. Java/JEE 5+ Microsoft technologies or Mainframe/legacy) customer technology landscape multiple frameworks (Struts JSF Hibernate etc.) within one technology area and their applicability. Consider low level details such as data structures algorithms APIs and libraries and best practices for one technology stack configuration parameters for successful deployment and configuration parameters for high performance within one technology stack
- Technology Trends: Demonstrates working knowledge of technology trends related to one technology stack and awareness of technology trends related to least two technologies
- Architecture Concepts and Principles: Demonstrates working knowledge of standard architectural principles models patterns (e.g. SOA N-Tier EDA etc.) and perspective (e.g. TOGAF Zachman etc.) integration architecture including input and output components existing integration methodologies and topologies source and external system non functional requirements data architecture deployment architecture architecture governance
- Design Patterns Tools and Principles: Applies specialized knowledge of design patterns design principles practices and design tools. Knowledge of documentation of design using tolls like EA
- Software Development Process Tools & Techniques: Demonstrates thorough knowledge of end to end SDLC process (Agile and Traditional) SDLC methodology programming principles tools best practices (refactoring code code package etc.)
- Project Management Tools and Techniques: Demonstrates working knowledge of project management process (such as project scoping requirements management change management risk management quality assurance disaster management etc.) tools (MS Excel MPP client specific time sheets capacity planning tools etc.)
- Project Management: Demonstrates working knowledge of project governance framework RACI matrix and basic knowledge of project metrics like utilization onsite to offshore ratio span of control fresher ratio SLAs and quality metrics
- Estimation and Resource Planning: Working knowledge of estimation and resource planning techniques (e.g. TCP estimation model) UST specific estimation templates
- Working knowledge of industry knowledge management tools (such as portals wiki) UST and customer knowledge management tools techniques (such as workshops classroom training self-study application walkthrough and reverse KT)
- Technical Standards Documentation & Templates: Demonstrates working knowledge of various document templates and standards (such as business blueprint design documents and test specifications)
- Requirement Gathering and Analysis: Demonstrates working knowledge of requirements gathering for ( non functional) requirements analysis for functional and non functional requirement analysis tools (such as functional flow diagrams activity diagrams blueprint storyboard) techniques (business analysis process mapping etc.) and requirements management tools (e.g.MS Excel) and basic knowledge of functional requirements gathering. Specifically identify Architectural concerns and to document them as part of IT requirements including NFRs
- Solution Structuring: Demonstrates working knowledge of service offering and products
Additional Comments
JD for Senior Python Engineer/ Solution Architect Responsibilities:
- Participate in agile software development, prototyping and code reviews with a small team of developers
- Design and implement the complex python back-end application and data pipeline
- Provide supervision and guidance to development teams
- Continually research the current and emerging technologies and propose changes where needed
- Inform various stakeholders about any issues with the current technical solutions being implemented
- Communicate directly with enterprise architects, developers, and clients.
- Assess the business impact that certain technical choices have
- Design, implement and/or use RESTful web services
- Write testable, well-thought-out code within the Python ecosystem
- Deploy applications using Dockers and Kubernetes
- Deploy applications in cloud-based servers.
- Performance testing software under load to ensure reliability and scalability
- Monitor timelines and progress to ensure that team members are adhering to these specifications.
- Be a good team player
- Must have spoken and writing skills in English Requirements:
- 10+ years of experience as a Python developer/Solution Architect and/or server-side coding
- Attention to detail and an ability to build reliable, scalable, and flexible software Mandatory Skills:
- Prior experience working on a scalable cloud-based application
- Very Strong knowledge and experience with Python. Expert in python class, collection, NumPy, pandas, etc
- Very Strong knowledge and experience with SQL, RDMS, Data modeling, and DB design.
- Must have experience in designing, implementing, and using RESTful Web Services with Service�Oriented Architecture
- Must Have experience in developing applications using Microservice
- Should Have experience with Kubernetes/OCP
- Must have good hands-on experience working in Unix/Linux platforms.
- Solid understanding of version control principles, preferably using Git/BitBucket
- Must have working experience use of logger.
- Good knowledge and experience in working with cloud services - AWS/Azure
- Good knowledge and experience with deploying applications using Dockers and Jenkins Good to Have skills
- Good to have knowledge and experience deploying applications on a cloud instance a plus
- Good to have experience with Kafka and Redis
- Good to have experience in handling streaming data.
- Good to have knowledge and experience with authentication methods using OKTA or third-party apps.
- Good to have some experience with core Java.
Desired Skills and Experience
Python,Data Engineering,Devops