DevOps Engineer

The DevOps Engineer is responsible for the design and implementation of applications’ build, release, deployment and configuration activities, and is a team member for the agile development process. He/She builds the continuous integration and continuous deployment pipeline and prioritizes development items in the pipeline. He develops Proof-of-Concepts to evaluate feasibility of the software application and tools for the development team, and develops suitable application and tools. He determines specifications and features for the next iteration of software application development based on user needs and feedback, continuously integrates code changes, and conducts various automated testing to ensure the software application remains functional. He also performs continuous deployment through automating the deployment process, and manages the releases of software application versions and features. He works with internal business partners to gather requirements, prototyping, architecting, implementing and/or updating solutions, building and executing test plans, performing quality reviews, managing operations, and triaging and fixing operational issues. He works in a fast-paced environment and must be able to adjust to constant business change, evolving goals and strategies, and emerging technologies. He is proficient in programming languages required by the organization, and is familiar with continuous integration and deployment tools, relevant platforms, automated testing tools, and configuration management tools. He is also knowledgeable of crypto primitives, authentication protocols and authorization standards. The DevOps Engineer is innovative and analytical in nature, possessing strong communication and interpersonal skills to engage with stakeholders. He is a team player with the ability to perform independently with minimal guidance, and thrives in a dynamic environment. He is also a resourceful and self-motivated individual.

Skills and Competencies

Technical Skills & Competencies

Agile Coaching
Proficiency Level
"Coach teams in the conduct of Agile practices and the implementation of Agile methodologies and practices in the organization"
4
Agile Software Development
Proficiency Level
"Adopt Agile software development methodologies to develop, improve and deploy software applications"
3
Applications Development
Proficiency Level
"Plan the application development process, program applications and secure features, applying suitable debugging techniques to resolve complex errors "
4
Applications Integration
Proficiency Level
"Oversee end-to-end process of application integration, determining suitable middleware and testing procedures and resolving issues that arise"
4
Applications Support and Enhancement
Proficiency Level
"Analyse application performance statistics and user feedback, resolving bugs as required, and review application change requests"
3
"Establish internal protocols for application support, and evaluate viability of application enhancements and change requests in collaboration with developers"
4

Generic Skills & Competencies

Computational Thinking
Proficiency Level
Develop and create computational models, tools and techniques to implement new solutions and apply to other problems.
Advanced
Problem Solving
Proficiency Level
Anticipate potential problems beyond the current scope and apply higher order problem solving tools and techniques to turn problems into opportunities.
Advanced
Lifelong Learning
Proficiency Level
Engage in collaborative learning by discussing one’s learning with others and soliciting feedback to continually improve oneself.
Intermediate
Communication
Proficiency Level
"Communicate information with others to respond to general inquiries and to obtain specific information. "
Basic
Teamwork
Proficiency Level
Facilitate work team activities, provide assistance and support needed by team members and promote ownership and commitment among team members to work goals to improve team performance.
Intermediate

Critical Work Functions and Key Tasks

Assess user needs and requirements

• Determine software application and feature enhancement requirements based on business needs and user feedback 
• Gather, analyse and document client needs and business requirements 
• Draft technical and functional specifications 
• Formulate solutions, alternatives and design specifications that supports business and technical objectives 
• Analyse client operations to understand strengths and weaknesses to uncover opportunities for improvement

Develop applications and tools for development teams

• Translate business and technical requirements to test cases, test scenarios and scripts 
• Build IT solutions to meet business requirements and develops reusable components 
• Install and configure software solutions 
• Integrate solutions with other applications and platforms 
• Develop program codes and logic for existing and/or new software applications and tools 
• Perform script maintenance and updates to accommodate changes in requirements and/or implementation 
• Build automation frameworks for the deployment, management, and monitoring of software applications and features 
• Review software modules for quality assurance 
• Set up and maintain test environment for manual and automated testing

Perform continuous integration of application features and enhancements

• Determine specifications and features for the next iteration of application development 
• Build automated deployments using configuration management technology 
• Automate security and risk management processes to enable continuous and consistent integration 
• Deploy security algorithms, protocols and self-healing features into the system infrastructure to reduce security breaches
• Develop requirements, methods and procedures for routine maintenance 
• Perform security vulnerability and relevant automated testing to ensure the software application remains functional
• Troubleshoot existing information systems to identify errors or deficiencies and develop solutions

Perform continuous deployment of enhanced applications

• Build automated deployment using configuration management technology 
• Deploy new modules, upgrades and fixes to the production environment 
• Perform continuous monitoring of applications and its features 
• Perform automated and/or load tests to address issues 
• Evaluate existing applications and platforms and propose recommendations for improving performance by conducting 
gap analysis, identifying feasible alternative solutions, and assisting in the scope of modifications 
• Document and complete knowledge transfer to production support

Get yourself a new skill

In this Path

Coming soon...