Role Overview
The DevOps Engineer role plays a critical role in designing, developing, and maintaining infrastructure and automation processes to ensure smooth deployment, scalability, and security of enterprise applications. The role involves working with virtualized environments, cloud services, automation tools, and open-source technologies to manage and enhance Development, QA, and Production environments.
Primary Responsibilities
- Develop and Deploy: Design, develop, and deploy application and security components for new lab projects using shared web hosting, virtualized cloud computing providers, and collocated servers.
- Environment Setup: Work with internal research teams to set up and maintain Development, QA, and Production environments.
- Environment Maintenance: Create and maintain ad-hoc application environments for project teams.
- Automation Improvement: Identify opportunities to develop and enhance automation processes to improve efficiency.
- System Monitoring: Monitor the health and performance of production and QA environments to ensure operational excellence.
- Troubleshooting: Troubleshoot and debug build issues, ensuring timely resolution.
- Reporting and Metrics: Collect and report operational metrics for SLA reporting and capacity planning.
- Collaboration: Work closely with cross-functional teams to provide, receive, and incorporate feedback for continuous improvement.
Education And Experience
- Educational Requirements: Bachelor degree in Computer Science, Software Engineering, or related IT fields.
- Experience: 5+ years of experience in Operations, DevOps, or a similar role.
- Automation Expertise: Proven experience with task automation using open-source tools, custom scripts, or commercial solutions.
- Linux Systems Administration: Experience in administering Linux systems and server infrastructure in production environments.
- Build and Testing Systems: Expertise in managing automated build, continuous testing, and integration systems in production.
- Development Background: Hands-on experience with programming languages such as Java, Python, Perl, or SQL.
Skills And Knowledge
- Virtualization: Strong understanding of virtualization environments (e.g., VMware, OpenStack, KVM).
- Version Control: Proficiency with distributed version control systems (e.g., Git, Stash).
- Automation Tools: Experience with automated build and deployment tools (e.g., Jenkins, Chef).
- Open Source Technologies: In-depth experience working with open-source platforms like Apache, Tomcat, Nginx, Node.js.
- Cloud Services: Extensive knowledge of hosted and cloud-based services (e.g., AWS/EC2, private cloud).
- Database Administration: Proficient in installing and administering MySQL or NoSQL databases.
- Networking Security: Strong understanding of network security, databases, and cloud systems.
Key Responsibilities
- Participate in strategic project planning meetings and provide insights on infrastructure requirements.
- Develop, build, install, and configure software solutions to meet business needs.
- Assist with all stages of data testing and ensure the smooth deployment of new modules, upgrades, and fixes.
- Perform routine application maintenance tasks, deploying fixes and updates efficiently.
- Troubleshoot and resolve issues in applications and infrastructure, ensuring minimal disruption to service.
- Implement customer-requested integrations and deliver solutions that enhance operational efficiency.
- Build tools to minimise error occurrence and improve overall customer satisfaction.
- Maintain a balanced approach to prioritise requests from operations, development, and product teams.
Additional Competencies
- Team Spirit: Strong interpersonal skills and a collaborative mindset to work effectively across teams.
- Problem-Solving: Ability to troubleshoot complex issues and deliver innovative solutions.
- Communication: Excellent communication skills, both written and verbal, with the ability to explain technical concepts clearly.
- Flexibility: Capable of handling high-pressure work situations while maintaining flexibility in your approach.
- Continuous Learning: Stay up-to-date with the latest industry trends and tools to drive continuous improvement in agile development environments.
Qualifications
- Hands-on experience with network security, cloud infrastructure, and databases.
- Strong knowledge of scripting languages, system administration, and mass system deployments.
- Solid understanding of operating system administration, programming languages, cloud platform deployments, and network protocols.
- Bachelor’s Degree in Computer Science, Engineering, or a related field.
Skills: teams,security,network security,automation,version control,database administration,linux systems administration,cybersecurity,programming languages (java, python, perl, sql),databases,linux,devops,automation tools,virtualization,cloud,infrastructure,application,cloud services,networking security