JOB SUMMARY
Proficiency: Understands customer requirements, streamline DevOps practices and translate them into reference architecture for DevOps (CI/CD) and automation components by managing multiple scrum teams.
Key Responsibilities
1. Interprets the DevOps Tool/feature/component design to develop/support the same in accordance with specifications
2. Adapts existing DevOps solutions and creates own DevOps solutions for new contexts
3. Codes, debugs, tests, documents and communicates DevOps development stages/status of DevOps support issues
4. Selects appropriate technical options for development such as reusing, improving or reconfiguration of existing components
5. Optimises efficiency, cost and quality of DevOps process, tools and technology development
6. Validates results with user representatives; integrates and commissions the overall solution
7. Assesses current state of DevOps maturity and advises clients on improving maturity and DevOps roadmap
8. Assess readiness of clients to adopt DevOps practices, advising clients on appropriate change approaches and technology choices
9. Looks for patterns of struggle and experiments with new designs and new ways of applying existing designs to solve problems
10. Guides DevOps leads and engineers and observe how the processes are working in practice
11. Works towards reducing variations in practice by challenging status quo and tweaking processes and tools
12. Resolve architecture issues and deliver / own architecture of application solutions spanning across multiple technologies for projects of the following nature - high revenue projects / complex projects / large strategic maintenance projects
13. Manage multiple stakeholders and handle their expectations
14. Contribute to business development and organizational activities
15. Support Architect/Sr. Architect in drafting recommendations based on findings of Proof of Concept
Typical performance measures:
1. Quality of Deliverables
2. Defect injection at various stages of lifecycle
3. SLA/KPI for onboarding projects or applications
4. Percentage achievement of specification/completeness/on-time delivery
5. # of reusable components / processes developed
6. Delivery efficiency (Adherence to UST defined principles)
7. Contribution to technology capability development (e.g. Training, Webinars, Blogs)
8. Customer feedback on overall technical quality (zero technology related escalations)
9. # of white papers/document assets contributed to
10. Feedback from Project Team/Program Management on project support
11. Error rate/completion rate at various stages of SDLC/PDLC
12. Uptime/System reliability metrics (if the design is not meeting with agreed SLA's)
13. # of domain certification/ product certification obtained
14. Adoption rates of CI/CD tools, DevOps practices (efficiency improvement rate)
Performance Areas:
Automated components
• Deliver components that automat parts to install components/configure of software/tools in on
• premises and on cloud
• Deliver components that automate parts of the build/deploy for applications
Configured components
• Configure tools and automation framework into the overall DevOps design
Scripts
• Supervise/Develop automation scripts (like Powershell/Shell/Python scripts) that automate installation/configuration/build/deployment tasks
Training/SOPs
• Create Training plans/SOPs to help DevOps Engineers with DevOps activities and to onboard users
Measure Process Efficiency/Effectiveness
• Deployment frequency, innovation and technology changes
Operations:
• Change lead time/volume
• Failed deployments
• Defect volume and escape rate
• Meantime to detection and recovery
Solution Definition & Design:
• Define Architecture for the small/mid-sized type of project
• 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 the deliverables
• Conduct code reviews
Project Estimation:
• Provide support for project estimations on business proposals and support sprint level / component level estimates
• Articulate estimation methodology, module level estimations for more standard projects with focus on estimation effort alone
Training/SOPs
• Create Training plans/SOPs to help technical deal with already existing CI/CD Pipelines and components; onboarding users
Measure Process Efficiently/Effectiveness
• Measure and pay attention to efficiency/effectiveness of current process and make changes to make them more efficient/effective
• Facilitate development processes and operations
• Architecting overall comprehensive DevOps practice effectiveness
Required Qualifications
Skill Examples:
1. Design branching and merging strategies
2. Defining DevOps tool stack
3. Designing build/release plans
4. Defining monitoring strategy/service provisions/middleware configuration
5. Integrate with code quality analysis tools like SONAR
6. Scripting skills (Javascript, Python, Linux, PowerShell)
7. Infrastructure automation skill (ansible/terraform)
8. Quality automation skills(selenium)
9. Experience of build deploy pipeline for polygot tools Database automation, Java, Python, Perl
10. Creating build plan in Bamboo/Jenkins/GITLAB and necessary scripting to implement build Setting and managing Jira projects and Git/Bitbucket repositories
11. Skilled in Automated Build and Deployment and tools like Maven, Ant.etc
12. Skilled in Automated Monitoring(Splunk)
13. Skilled in containerization tools like Docker
14. Monitoring, reviewing and managing technical operations
Knowledge Examples:
1. Knowledge of Config/Build/Deploy processes and tools
2. Knowledge of infrastructure planning, testing and development
3. Knowledge of IAAS - Cloud providers (AWS, Azure, Google etc.) and their tool sets
4. Knowledge of the application development lifecycle
5. Knowledge of Quality Assurance processes
6. Knowledge of Quality Automation processes and tools
7. Knowledge of multiple tool stacks not just one
8. Knowledge of Branching/Merging strategies
9. Knowledge about microservices and containerization
10. Understanding of rapid technology changes and concepts
11. Knowledge of software security compliance (GDPR/OWASP) and tools (Blackduck/ veracode/ checkmarxs)