Position: Lead/Senior DevOps; Lead/Senior Golang
Category: Golang
English level: upper
Years of experience: 10


My name is Roman and I know the software development process inside out. I have been working in the IT industry since 2012. During this time, I performed various roles in the software development process. 

I started as a freelancer web designer (in 2012, this profession included full-cycle developing simple websites from scratch). Since I liked working on business logic more, I focused on this direction and my first job in the team was as a backend developer. But no one canceled frontend tasks anyway :)

Constant dissatisfaction with work processes in the company and my initiative to improve something began to move me toward the lead position. During that process, I faced many DevOps tasks but at that time I didn't know that was DevOps. I have been installing and configuring GitLab, company chat, bug tracker, and other management tools, and integrations between them. In the process of setting up management tools, I had to start understanding project management. At the same time, business logic tasks did not stop.

As a team lead, I had a lot of architectural design tasks. Of course :) I have many experiments with different approaches and technologies. So that now I could say exactly what would be better suited and in which case. Also, I have been trying to motivate and develop my teammates, keeping a balance between business goals and new technologies. I had a fairly successful case of implementing an additional programming language (Golang) into the project.

My last commercial work experience was position CTO in a startup which unfortunately couldn't find finance. Now I'm open to new opportunities for long-term cooperation. I am ready to consider the following positions:
- CTO
- Tech Lead
- Lead/Senior Backend Golang
- Lead/Senior DevOps

Also, past half year, I have been working on a self-project and studying a new theme for me the UAV (Unmanned Aerial Vehicle) area. I will be really happy to continue moving in this direction. And ready for any proposition from a company which works in that area.
Additional facts:
1. My favorite open-source project is Kubernetes. In my opinion, it's a fantastic instrument for building distributed and fault-tolerance deployments which are important for the production environment. I have all Kubernetes certificates from CNCF (Cloud Native Computing Foundation).

2. My favorite programming language is Golang. Because simple, lightweight, compiled, fast compiled, concurrency, and framework agnostic. A perfect choice for a project with the microservice architecture which we love so much.

3. I prefer to build architecture/infrastructure without close chaining with cloud providers (without vendor lock). 
I prefer to build infrastructure only on cloud primitives: VPS, private networks, load balancers, and block/object storage. You can use cloud services from AWS, GCP, Azure, or other cloud providers to build your application logic, that approach is called 'low code'. In this case, your project or company processes are chained to your cloud provider forever. But you don't know when your cloud provider will change the rules and evict you. In addition, you will pay for each service. Plus, you will need narrow specialists fitted for providers to develop and support such projects. And it is unlikely, you'll be able to save your resources. So I don't like that approach, but I can work with that.

4. I prefer to avoid using NoSQL databases for application data. 
NoSQL is ideal for log aggregation, some data pipelines or fast prototyping. But if you use it for application data for a long time your database transforms to trash. Because developers don't care about data migrations.