# Nikolay Rodionov
```
St. Petersburg, Russia

- phone: +79996690458
- email: nicrodionov@gmail.com
```
---
## About me
![photo](../photo/bad-cv.jpg)

I'm an engineer with 3++ years of hands-on experience in different IT areas: from writing e2e auto-tests in JS to setting up a Kubernetes cluster from scratch on bare metal. 
Just over a year ago, I've completely understood that being a system engineer is what I truly like to do.

A short list of things I love doing
- Setting up, managing, and supporting K8s clusters
- Writing scripts to automate manual actions (Go, Perl, Bash, or Ansible)
- Linux administrating
- Working with containers
- Setting up CI/CD (Gitlab-CI, GitHub Actions)
- Resolving incidents and troubleshooting problems
- "Everything as code (from QA to Infrastructure)"

## Expirience
### Itigris: _devops engineer/qa automation_
> 07.2019 - until present
I have started as a QA automation and then have moved to the system engineering
1. As a QA Automation
   - Creating a codebase for E2e tests (**Java**, **NodeJS**) from scratch.
   - Creating and supporting e2e and integration tests **Gitlab C**I pipeline with dynamically starting **Selenoid** server
   - Automating basic actions with **bash**
   - Working a lot with **Docker**, **docker-compose**, and **Dockerfiles**
   - And a bit of SQL quering (**Postgres**)
2. As a System Engineer
   - Writing scripts (**Go** and **Bash**)
   - Supporting and setting up several **k8s** clusters (**AWS EKS**) 
   - Supporting services running in **docker** on **ec2** instances
   - Supporting **ec2** instances too
   - Troubleshooting incidents (**k8s**, **nginx**, **aws**)
   - Disaster recovery (**k8s**, **docker**)
   - Maintaing the process of "microservicing" the old monolith
   - Deploying services written in Java, JS and Python
   - And a bit of SQL administrating (**Postgres**)
   - Setting up an infrastructure with **Terraform**
### Etersoft:  _engineer_
> 03.2017 - 06.2019 officially (and until present as a side project)
I became as a "handyman" and was learning how to do anything in this company.
- Lots of **Linux**, containers (**docker**, cri-o), and virtualization (VirtualBox, Proxmox)
- A bit of networking (**IPtables** and UFW)
- A bit of **Kubernetes** (setting up and supporting little bare-metal clusters from scratch)
- Setting up virtual machines with **Vagrant** (VirtualBox and a bit **Docker**) and **Ansible**
- Setting up **Nginx** and **Envoy**
- **Bash** and **Perl** scripts for automating basic actions
- Create a codebase for E2e tests (**NodeJs** and the plain **Selenium**) from scratch.
- Create and support e2e tests **Gitlab CI** pipeline with a small static selenium server
- A bit of frontend development (**ReactJS**) so I have a basic understanding of HTML and CSS too
- A bit of SQL (**MySQL**)

## Skills 
- Kubernetes 
  - Kubeadm
  - EKS 
  - Docker, Containerd, Cri-O
  - Kubectl, Helm, Kustomize
  - Ingress Nginx, Istio
  - Rook-Ceph
  - Keel, Kube-Monkey
  - Zalando Postgres
- AWS 
  - EC2
  - RDS
  - S3
  - Route53
  - EKS
  - Elasticache (redis)
- Coding
  - QA automation (JS, Java)
  - Backend development with Go (GRPC and Rest API)
  - Scripting (Go, Perl, Bash)
  - Frontend development (ReactJS and Elm)
  - Just coding (Haskell, Go, Perl, NodeJS)
- Others
  - Linux, MacOS
  - Docker
  - Ansible, Terraform, Vagrant
  - VirtualBox, Proxmox
  - Nginx, Envoy
  - Prometheus, grafana
  - ELK
  - Postgres, MySQL