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
Generic Skills & Competencies
Critical Work Functions and Key Tasks
• 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
• 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
• 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
• 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