DevOps Engineer
gwayerp
Job Description
1. Environment Management
Support and maintain the different application environments used by GwayERP, including:
- Development
- Testing / QA
- Staging
- Trial / Demo
- Production / Client environments
Responsibilities include:
- Maintaining environment availability.
- Checking server health.
- Managing application services.
- Managing Docker containers.
- Managing environment configurations.
- Supporting developers with environment-related issues.
- Identifying configuration inconsistencies.
- Keeping environments properly documented.
The candidate will progressively improve the structure and reliability of these environments.
2. Local Server & Linux Administration
Work hands-on with our local/on-premises infrastructure.
Responsibilities include:
- Ubuntu/Linux server administration.
- User and permission management.
- SSH configuration.
- Server resource monitoring.
- Disk and storage monitoring.
- Network configuration.
- Firewall configuration.
- Service management.
- Log analysis.
- System updates and patching.
- Troubleshooting server-related issues.
The candidate should gradually develop the ability to independently troubleshoot common Linux infrastructure problems.
3. Docker & Container Management
Work with Docker-based application environments.
Responsibilities include:
- Creating and maintaining Docker containers.
- Managing Docker Compose configurations.
- Managing container networks.
- Managing Docker volumes.
- Managing application configuration.
- Monitoring container health.
- Troubleshooting container failures.
- Managing application logs.
- Maintaining Docker images.
- Cleaning unused resources safely.
- Following standard containerization practices.
The candidate should progressively learn how to design consistent and reusable Docker environments rather than maintaining containers manually.
4. CI/CD & Jenkins
Support and improve the organization's CI/CD processes using Jenkins, Git and GitHub.
Responsibilities include:
- Understanding existing Jenkins pipelines.
- Maintaining Jenkins jobs.
- Supporting automated builds.
- Managing deployment pipelines.
- Troubleshooting failed builds.
- Troubleshooting deployment failures.
- Managing build artifacts.
- Supporting automated application deployments.
- Maintaining Jenkins credentials securely.
- Gradually improving deployment automation.
The long-term objective is to reduce manual deployment activities and make deployments:
Repeatable → Reliable → Automated → Traceable
5. Deployment Automation
Work with developers to improve the way GwayERP applications are deployed.
The candidate will help establish a standardized deployment process such as:
Code → Build → Release → Deploy → Verify
Responsibilities include:
- Understanding application deployment requirements.
- Preparing deployment scripts.
- Automating repetitive deployment tasks.
- Supporting application updates.
- Maintaining deployment configurations.
- Performing deployment verification.
- Supporting rollback procedures.
- Maintaining deployment documentation.
The candidate should continuously identify opportunities to eliminate unnecessary manual steps.
6. Preparing for High-Volume Deployments
GwayERP are expected to be deployed to an increasing number of customers.
The infrastructure is being prepared for a future requirement of approximately:
20–30+ deployments per day
The candidate will work with senior technical team members and developers to understand this requirement and progressively improve the deployment architecture.
Responsibilities include:
- Identifying deployment bottlenecks.
- Automating repetitive deployment tasks.
- Improving deployment speed.
- Improving deployment reliability.
- Standardizing client deployment procedures.
- Supporting parallel deployment where appropriate.
- Maintaining deployment records.
- Learning and implementing suitable DevOps practices fo