Update CV

This commit is contained in:
Nikolai Rodionov 2024-02-25 13:13:58 +01:00
parent c8df20a320
commit 6a4087e8cf
Signed by: allanger
GPG Key ID: 0AA46A90E25592AD

108
index.md
View File

@ -3,26 +3,26 @@ stylesheet:
- https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/5.5.1/github-markdown.css - https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/5.5.1/github-markdown.css
body_class: markdown-body body_class: markdown-body
css: |- css: |-
.markdown-body { font-size: 11px; } .markdown-body {
font-size: 9px;
}
.page-break { page-break-after: always; } .page-break { page-break-after: always; }
--- ---
# Nikolai Rodionov ## Nikolai Rodionov
``` ```
> Location: Hamburg, Germany > Location: Hamburg, Germany
> Email: allanger@zohomail.com (preffered) > Email: allanger@zohomail.com (preffered)
> Phone: 015223284008
> Github: https://github.com/allanger > Github: https://github.com/allanger
``` ```
*This CV is built in a CI pipeline, and uploaded to Minio Bucket, so you should be able to download the latest version here: <https://s3.badhouseplants.net/public-download/n.rodionov.pdf>*
--- ### About me
## About me I'm a DevOps engineer with 5++ years of hands-on experience with a decent amount of tools. One of the most important tools that I love and want to continue working with, is Kubernetes. At least, until I see a better alternative. I think that containers themselves are one of greatest inventions in development, and I'm trying to use them as long as it's possible. Also, I believe that every routine must be automated, because routing is a boring job that lets people lose focus and make mistakes.
I'm a DevOps engineer (or SRE if you wish) with 5++ years of hands-on experience with a decent amount of tools that are most probably used or going to be used in your company. One of the most important tools that I love working with and want to continue working with, is Kubernetes. At least, while I don't see any better alternative to it. I think that containers themselves are one of coolest inventions in development, and I'm trying to use them as long as it's possible. Also, I believe that every routine must be automated, because routing is a boring job that lets people lose focus and make mistakes. I think that there are several things that a DevOps engineer must be able to do:
I think that there are several things that a good SRE or DevOps engineer must be able to do:
- To build reliable and stable infrastructure - To build reliable and stable infrastructure
- Keep this infrastructure up-to-date - Keep this infrastructure up-to-date
- Keep all the source and instructions of this infrastructure clean and simple - Keep all the source and instructions of this infrastructure clean and simple
@ -31,90 +31,26 @@ I think that there are several things that a good SRE or DevOps engineer must be
Also, I think it's important that before implementing anything, an engineer has understood all the requirements and checked tools that can fulfil them. I often see, how people try to use a tool for its name but not for its functionality, and hence they have to do a lot of additional work and deal with compromises. And if nothing really can fulfil those requirements, you need not be afraid of writing something new *and open-source it*. Also, I think it's important that before implementing anything, an engineer has understood all the requirements and checked tools that can fulfil them. I often see, how people try to use a tool for its name but not for its functionality, and hence they have to do a lot of additional work and deal with compromises. And if nothing really can fulfil those requirements, you need not be afraid of writing something new *and open-source it*.
<div class="page-break"></div> ### Experience
## Experience
### Timeline
| Company | Position | Dates | | Company | Position | Dates |
|------------------|-------------------|---------------------| |------------------|-------------------|---------------------|
| **Giant Swarm** | Platform Engineer | 12.2023 - Until Now | | **Giant Swarm** | Platform Engineer | 12.2023 - Until Now |
| **Grandcentrix** | SRE | 02.2023 - 11.2023 | | **Grandcentrix** | SRE | 02.2023 - 11.2023 |
| **Klöckner-i** | DevOps Engineer | 01.2022 - 01.2023 | | **Klöckner.I** | DevOps Engineer | 01.2022 - 01.2023 |
| **Itigris** | DevOps Engineer | 07.2019 - 12.2021 | | **Itigris** | DevOps Engineer | 07.2019 - 12.2021 |
| **Etersoft** | DevOps Engineer | 03.2017 - 06.2019 | | **Etersoft** | DevOps Engineer | 03.2017 - 06.2019 |
### Tools #### Tools
- **Environments**: Linux - Containers - Kubernetes - Proxmox
- **Kubernetes**: Helm - Kustomize - Kubebuilder - Helmfile
``` - **Scripting/Coding**: Bash - Go - Rust - Perl
| Containers - Kubernetes - Helm - Kustomize - **Continuous Integration**: Gitlab-CI - Github Actions - Circle-CI - Woodpecker-CI - Drone-CI
| Flux Circle-CI - **Continuous Delivery**: ArgoCD - Flux
| Sops Age - **Infrastructure as Code**: Ansible - Terraform
``` - **Cloud Providers**: Microsoft Azure - Google Cloud - AWS - Yandex Cloud - Hetzner - Self-Hosted
- **Observability**: Prometheus - Grafana - Loki - Elasticsearch - Kibana - FluentBit - Promtail - Fluentd
- **Secrets/Encription**: Sops - Age - Helm Secrets
``` - **Databases**: PostgreSQL - MySQL - Percona MySQL - Redis
| Microsoft Azure - **Storages**: Minio - Ceph
| Terraform
| Containers - Kubernetes - Helm - Kustomize
| PostgreSQL
| Bash - Python
| Prometheus - Grafana - Loki
| ArgoCD - Github Actions
| Sops
```
```
| GCloud - Microsoft Azure
| Linux - Containers - Kubernetes - Helm - Helmfile
| Percona Mysql - Postgresql
| Bash
| Prometheus - Grafana - Elasticsearch - Kibana
| ArgoCD - Gitlab CI - Github Actions
| Sops
| Ansible
```
---
```
| AWS - Yandex Cloud
| Linux - Containers - Kubernetes - Helm - Helmfile - Kustomize
| Bash
| Gitlab CI - Drone - ArgoCD
| Postgresql - Redis
| Java - JS - Go
| Ansible - Terraform
| Prometheus - Grafana - Loki - Elasticsearch - Kibana
```
---
```
| Bare metal - Proxmox - Virtual Box
| Linux - Containers - Networks
| Bash - Perl
| Mysql - Postgresql
| Minio - Ceph
| Gitlab CI
| Ansible
```
## A little bit more about me
- I love to work with `Kubernetes`, but not with `yaml`.
- I'm a huge fan of [Helmfile](https://github.com/helmfile/helmfile).
- I have written several small cli tools in Rust, that you might find in my [GitHub profile pins](https://github.com/allanger) (they are not perfect, but I'm working on it).
- I'm contributing to [db-operator](https://github.com/db-operator/db-operator).
- I'm trying to automate everything until I'm losing control over something that is automated.
- I love Perl, although I don't even remember how to write code with it, but I would be somehow thrilled to have any ability to work with it in production
- I also think that everything is better in Rust, or at least in Go *(if Bash is not enough)*
I have a blog (written-as-code) that is deployed to K8s (https://badhouseplants.net/), with the source code stored in a self-hosted Gitea, that is also deployed to K8s alongside the CI/CD system where this blog is being built and published. This CV is also being built as a part of the CI process, and then uploaded to `minio` storage that is also ~~surprisingly~~ running in this cluster. So you can download the latest version of CV here: <https://s3.badhouseplants.net/public-download/n.rodionov.pdf>
> But I can't guarantee 100% availability because it's a one-node k8s, and sometimes I need to do a maintenance work