Job responsibilities - Team leadership and DevOps:
Lead and project manage initiatives such as:
- Addressing tech debt.
- Big technical (development and other) epics.
- General process changes and fine-tuning.
- Validate and verify technical designs or big architectural changes that the team proposes: ensure that the cost/benefit for these is appropriate and that they are pragmatic given constraints and desired timescales.
- Own and lead our “Continual Improvement” process: help drive efficiency and productivity by helping track appropriate metrics, identifying areas for improvement and helping implement them.
- Work with the team on continuously improving our our end-to-end SDLC
- Manage our “Change Request Process” and in some cases implement the requested changes.
- Oversee our Knowledge Base (in Confluence) and ensure the team creates and updates appropriate technical and process documentation (or create it yourself where appropriate).
Perform DevOps tasks such as:
- Managing our GitHub repositories.
- Managing GitHub actions and workflows.
- Ensuring our branching strategy is followed by the team.
- Lead incident management when outages or other issues with our infrastructure occur.
Assist with maintaining and enhancing our AWS estate including:
- EC2 Instances.
- The Linux OS within EC2 instances: typical management of Linux server OS including management/configuration of systems (services, log rotation, etc.), disk space, CloudWatch agent, regular updating and patching, etc.
- Databases (relational and nosql).
- Kubernetes cluster (validating and applying manifests and general cluster maintenance).
- Cloud networking (VPCs, subnets, security groups, etc.).
- ECR repositories.
- IAM, access policies and permissions.
- Automated backup scheme.
- CloudWatch log groups, metric filters, dashboards and alerts.
- Ensuring cost efficiency and robust cost control.
General team HR management including
- Leading the recruitment process (for technical personnel)
- Frequent 1-to-1s with your team
- Ensuring your team remains happy, engaged, and motivated
Performance Management: Conduct performance reviews, set objectives, and manage professional development for team members
Desired Experience and Qualifications
- You have accumulated considerable knowledge and hands-on experience of technology leadership, through a strong relevant engineering degree and at least 10 years of relevant professional experience.
- You have 3+ years of experience leading teams to efficiently develop high-quality software (preferably with Java and Spring Boot).
- You have 5+ years of experience with AWS and Kubernetes and you are able to hands-on manage a simple AWS estate consisting of several instances, several relational databases (RDS), several Kubernetes clusters (EKS) and all typical related assets (VPC, security groups, S3 buckets, etc.).
- You are very familiar with Agile development processes such as Scrum and Kanban.
- You are very familiar with GitHub and you have substantial experience of hands-on managing GitHub repositories and creating/maintaining GitHub workflows.