Personal details

Marcus C. - Remote DevOps engineer

Marcus C.

Based in: 🇵🇹 Portugal
Timezone: Lisbon (UTC+1)

Summary

I am a DevOps Engineer and sometimes double as a Backend Developer.

I have expertise micro-services architecture, service discovery, configuration and change management, pipeline as code, infrastructure as code, bash scripting, monitoring and logging, containerisation and container orchestration, software quality assurance (using BDD approach), JavaScript, NodeJS, React, etc.
I am a tech enthusiast who loves to engage with solving problems and brainstorm with other engineers. Beyond solving problems, I love to make remarkable impact on products and teams.
I am a go-getter and a creative thinker. I am passionate about delivering highly efficient results.

Work Experience

DevOps Mentor
CODEMENTOR | May 2020 - Present
Python
SQL
Node.js
MongoDB
PostgreSQL
Selenium
GitHub
Nginx
RabbitMQ
Ansible
GitLab
Docker
React
JavaScript
Kubernetes
Terraform
Grafana
Prometheus
NestJS
Cypress
GitLab CI/CD
AWS (Amazon Web Services)

General Roles and Projects:

  • • DevOps, NodeJS, and Bash scripting mentorship.
  • • Mentored on provisioning a highly available kubernetes cluster on EKS, using terraform.
  • • Mentorship on setting up monitoring systems comprising Prometheus, Grafana, and Loki.

- Re-wrote a Bash Script legacy codebase (1000+ lines of code used for 5 command line modules) to JavaScript, and created a NodeJS command line tool that serves the same purpose as the bash script. This helped to improve the maintainability of the codebase.

- Re-factor a multi-environment terraform project from using a dedicated directory per environment to using terraform workspaces to separate environments. This greatly increased maintainability, and eradicated code repetitions.

- Create Gitlab runner and setup reusable Gitlab pipeline used for microservice CICD.

- Setup a highly scalable ECS cluster for microservice applications using terraform.

- Mentor DevOps Engineers using an efficient learning roadmap and feedback system.

- Use terraform infrastructure as code to provision AWS services such as ECS Fargate, AWS cloudMap, SNS, SQS, ECR, S3, etc for microservice applications.

- Setup a strategic combination of fargate and fargate-spot instances to scale the services effectively and minimise costs.

- Write JavaScript functions to retrieve adequate report from Cypress and Postman test automations, and send reports to Microsoft Teams channel.

- Write Bash scripts to manage task definitions outside of terraform codebase, to prevent a mismatch between application versions that are deployed from the application’s CICD pipeline and that of Terraform.

- Perform DevSecOps tasks with sonarqube through static code analysis of Java and NodeJS applications.

- Create database groups and designate user access level.

DevOps Engineer
OPIE SOFTWARE | Oct 2021 - Jan 2023
Node.js
Ansible
Docker
Kubernetes
Terraform
Prometheus
GitLab CI/CD
AWS (Amazon Web Services)

- Create terraform modules and setup a highly scalable infrastructure for microservices applications.

- Setup AWX ansible to effectively manage the execution of ansible playbooks on GitLab repository.

- Create ansible playbooks for configuration and change management on multiple servers.

- Write Python and JavaScript lambda functions to clean up redundant AWS resources.

- Setup cloudwatch alarms to monitor infrastructure metrics and user activities, such as logins without MFA.

- Setup AWS Guardduty organisation using terraform, for intrusion and threat detection to monitor all accounts in the AWS organisation.

- Write Python lambda function that converts EBS volumes from GP2 to GP3, for efficiency and cost optimization purpose.

- Write Python lambda function that converts unencrypted EBS volumes to encrypted EBS volumes.

- Refactor Ansible provisioning script so that new EBS volumes are always encrypted.

- Write Python lambda function that turns off public access on hundreds of S3 buckets in the AWS accounts of the organisation.

- Create Ansible playbooks for deleting all resources owned by a client after contract is terminated.

Personal Projects

Customer PortalIconOpenNewWindows
2019
Node.js
Cucumber
TypeScript
WebRTC
React
JavaScript
Redux
Phenix provides a high quality live and real-time video streaming service with less than 0.5 seconds latency across the globe.
2020
Node.js
JavaScript
Vscode api
VSCODE extension that automatically helps you to add files and folders to .gitignore (based on your specifics in vscode settings.json) and creates a symlink between ".env" and ".env.example" files. So, you’re sure your secrets are never pushed to Github or other source controls.