➢ Individuals within the DevOps Engineer role work closely with clients and IT team members to understand the departmental stakeholder requirements that drive the analysis and design of quality technical solutions. DevOps Engineers are involved in the full life cycle of an application. ➢ DevOps Engineers are team members of an agile development process. They are responsible for the design and implementation of applications' build, release, deployment, and configuration activities. Other responsibilities include working with internal business partners to gather requirements, prototyping, architecting, implementing/updating solutions, building and executing test plans, performing quality reviews, managing operations, and triaging and fixing operational issues.
➢ DevOps Engineers must be able to adjust to constant business change; common types of changes include new requirements, evolving goals and strategies, and emerging technologies. DevOps Engineers require the ability to interact, develop, engineer, and communicate collaboratively at the highest technical levels with clients, vendors, partners, and all levels of MIT staff.
Work complexity:
➢ Works on moderate to complex tasks in support of one or more projects that require a singular area of expertise
➢ Works as a project team member, or independently on small projects
➢ Increased skill in multiple technical environments and knowledge of a specific business area.
Project Planning
➢ Participates and/or leads in project planning processes
➢ Creates and shares development estimates and operational requirements to enable accurate planning with realistic timelines
Development
➢ Performs script maintenance and updates due to changes in requirements or implementations.
➢ Sets up and maintains the test environments for both manual and automated testing.
➢ Develops/builds IT solutions to meet business requirements.
➢ Installs and configures solutions.
➢ Integrates solutions with other applications and platforms outside the framework.
➢ Develops interface stubs and simulators, as needed.
➢ Expert with GIT and Source Control Management
➢ Manages the Build
Standards
➢ May assist in defining DevOps and quality guidelines and standards.
➢ Adheres to standards and procedures.
➢ Reviews modules for quality assurance.
➢ Checks for compliance with all standards, policies and procedures
➢ Defines process for Check-In, Build, Procedures, Deployment and automated testing for each build and deployment
Deployment
➢ Builds automated deployments using configuration management technology.
➢ Deploys new modules, upgrades and fixes to the production environment.
➢ Documents and completes knowledge transfer to production support.
➢ Works with Release Management to ensure modules are production ready.
➢ Creates release notes, deployment plans, etc. verifies the functionality of components and services and ensures deployment meets client's expectations.
➢ Contributes to and reviews deployment plans; schedules the installation of new plans and performs ongoing routine application maintenance tasks.
➢ Assists in establishing requirements, methods and procedures for routine maintenance.
➢ May assist in production support.
➢ May troubleshoot existing information systems to identify errors or deficiencies and develops solutions.
➢ Build & continuous integration – refine & manage those processes
➢ Deployments – build a repeatable process to target different environments
Documentation
➢ Documents functions and changes to new or modified modules, test activities/results and other areas (e.g., error handling, backup/recovery procedures)
➢ Assists in the development of user guides and training documentation for systems.
➢ Ensures all applications are documented according to standards.
➢ Promotes effective use of information technology by educating users on system functionality.
➢ Fully document release procedures so that they're replicable
Other Responsibilities
➢ Responsible for creating branches for release, managing them, and helping developers back port bug fixes, or directing commits to the correct branch.
➢ On-board new engineers into source control infrastructure. This includes training, producing documentation procedures, and evaluating improvements to the infrastructure
➢ unify release process with what other teams use and cross-pollinate best practices from one team to another.
➢ Develop and maintain the common set of tools to automate everything as much as possible. This may involve development of scripts and websites, and to integrate outside tools as required.
➢ Qualification: - Degree or Masters in Computer Science or Information Systems is preferred.
➢ Experience: - 1. Proven 8 – 12 years of experience with Agile methodologies such as Scrum. 2. Proven experience with Microsoft Azure. 3. Proven experience with high availability and scaling with Azure. 4. Proven experience implementing DevOps practices using .NET stack. 4. Experience with TFS and Git. 5. Understanding of DevOps, Continuous Integration, Continuous Delivery and Infrastructure as Code. 6. Experience with PowerShell scripting. 7. Experience of coaching a team to develop and improve processes and in use of tools. 8. Experience with large-scale cloud-based web applications and zero-downtime configurations. 9. Experience with the entire software development lifecycle.