Maintain motivation, organize interesting training in IT, gain experience suitable for interviews and real projects

Experience and career are built from small bricks. Sometimes, they are the only ones who shape the movement along the path to the profession. Asking for “big” goals or projects without “working” on the small goals can be a dangerous and sometimes unattainable path.

Area of ​​working, engineering, tasks (DevOps lifecycle) is usually located within the same project. For example, there is an online service or store*. When you join such a project in a role DevOpsyou will need to learn how to manage the infrastructure layer, e.g. Terraformconfiguration using Ansiblework with containers KubernetesFor CI/CD tune Azure DevOps Pipelines and have a good understanding of the job Azure services, for example Azure Kubernetes Services.

* As an example application/store I will use a training, microservices, project eShop developed by the team Microsoft (Read https://habr.com/ru/articles/681172/). The project repository is in a state of update and migration, but all links are available and the project is in working order. You can select your application/platform, for example deploy Sentry cloudy Kubernetes.

If you plan and divide such training into modules, you will get several separate, independent courses. For example:

  1. Terraform: https://www.youtube.com/watch?v=R0CaxXhrfFE&list=PLg5SS_4L6LYujWDTYb-Zbofdl44Jxb2l8

  2. Kubernetes (watch the rates, at night the course costs about $13): https://www.udemy.com/course/certified-kubernetes-administrator-with-practice-tests/

  3. Ansible: https://www.youtube.com/watch?v=Ck1SGolr6GI&list=PLg5SS_4L6LYufspdPupdynbMQTBnZd31N

  4. Azure (free 7-day mode available):
    https://www.pluralsight.com/cloud-guru/courses/az-104-microsoft-azure-administrator-certification-prep

Separate course for Kubernetesone for Terraform, etc. This is a good basis, but the training is divorced from the end-to-end process DevOps or SDLC cycle. And most importantly, it is not clear what to remember from the given material, since you will not be faced with production tasks. From the point of view of setting goals, this is, of course, good, four “small” goals: take a course in Terraform, Kubernetes, Ansible, Azure.

Let's try to tie these goals together. You can go from the opposite and get an interesting picture. We focus not on tools but on the production cycle DevOps around our project eShop. That is, let’s formulate goals from the point of view of end customers: there is an online store eShopwe need to learn how to deploy the infrastructure layer using Terraform. Tune CI/CD V Azure Pipeline and deploy eShop V Azure Kubernetes Servicecarry out configuration management of individual components using Ansible or Helm (common scenario). That is, we learn to work directly with the infrastructure, store microservices and main processes. And we don’t concentrate on one thing at once, for example Kubernetes or Terraform. And most importantly, I repeat, it is with such cycle tasks DevOpsas a rule, we have to face in everyday work.

DevOps lifecycle

DevOps lifecycle

The priorities of the learning process are changing and the tasks can now be divided as follows, look at the resulting scenario:

  1. Deployment Kubernetes cluster in Azure by using Terraform AKS Module (IN Azure Subscription offers 1 month of work for free): https://developer.hashicorp.com/terraform/tutorials/kubernetes/aks

  2. Project setup and deployment (eShop) level PROD Grade:
    https://github.com/dotnet-architecture/eShopOnContainers/wiki/Deploy-to-Azure-Kubernetes-Service-(AKS)

  3. Deployment and basic setup Prometheus(you can enable the Prometheus installation option in step 1 when deploying the cluster or use the link):
    https://devopscube.com/setup-prometheus-monitoring-on-kubernetes/

  4. configuring Azure DevOps pipelines for building and deploying microservices:
    https://github.com/dotnet-architecture/eShopOnContainers/wiki/Azure-DevOps-pipelines

  5. Setting up Elastic Search logging (15 days of free access to Elastic Cloud):
    https://www.elastic.co/blog/how-to-run-elastic-cloud-on-kubernetes-from-azure-kubernetes-service

https://orangematter.solarwinds.com/2022/03/21/what-is-devops/

You go through almost the entire DevOps cycle (see picture above). And get acquainted with the practical part of working with components before you start training. After deploying the online store and components, you can stop and think about what you would most like to focus on in training. If you choose and go through Terraform course, you will be able to go deeper into the structure of the code module For Azure AKSimmerse yourself in the real microservice environmentexploring objects Kubernetes store eShop (connect Lens), it is very interesting! The store was developed by a professional team Microsoft accompanied by descriptions and books, you can dive into development, DevOps, QA, etc.

Motivation and guarantees

Regarding motivation in learning, I can guarantee you that it will disappear. There is a good phrase: “If you need a guarantee, buy a microwave.” You need to be able to understand your “study” rhythm, return to tasks, determine and achieve goals. In other words, develop an approach to studying and understand where you are going. Goals such as learning Kubernetesor learn Terraform are fatal, since it is not clear how to achieve them and the time is too uncertain and expensive.

The good thing about the described approach is that you can return to the project even if you were distracted by other technologies to study. Let's imagine that you had a goal to study Kubernetes to level CKA. After a week of studying, you will become bored. And if you have a working store available in real time. You can switch to monitoring, browse the system logs in Elastic Searchlook at the dashboards Grafanaor customize interesting A.I. algorithms for analyzing attempts to hack your store. Having a work project can spark creativity or interest and help you identify career challenges you'd like to work on. For example, you find out that of the entire stack you are studying, you are most interested in Kubernetes and threat analysis.

How to Maintain Your Study Rhythm

Create a small, convenient and understandable sign with your goals (try using SAMRT). Track the time spent on training. At first it may seem boring or boring. After some time, it will become clear where you are not learning at all, and where the result is positive.

Don't study on weekends, live your life on these days, this will give you energy and desire to continue studying. Update the sign regularly. Don't be afraid, get used to working with her. One day you will open the file, and… And you will see… This is guaranteed… That you studied for 2-3 hours over the past month. No need to be scared. Try to answer questions like: Am I not interested? Would it be interesting if I change course? I do not understand? Maybe I don’t want to learn specific technologies? Maybe it's time to go to interviews and try yourself. If we move and do the planned thing, we are just as doomed to success as to failure..

Once consistency in learning has developed, try analyzing the table. For example, if you study a maximum of 4 hours a week and this is not enough, there is no need to be afraid, this your academic rhythm Now. Don’t try to catch up on what you missed in one day by studying for 20 hours straight. “High performer” or “low performer” is not important, what is important is your personal rhythm! For this reason, you need to regularly “work” with the table and analyze the situation, try to understand yourself.

How to talk about a project in an interview

The cool thing about this approach is that it is as close to reality as possible. That is, it covers the entire cycle of design work. In the process of configuring the components, you will have to decide some issues. All the difficulties that you encounter are stored in your head and it will be interesting to talk about them in an interview. If you have little real experience, thanks to the described approach you can talk about the project: I worked on an online store, the backend part was developed in C#. The store is presented as a microservice architecture, deployed in Kubernetes using Azure DevOpsmonitoring was organized using Prometheus, the main metrics are such and such, etc. It is not necessary to immediately say that this is an educational project. Sometimes educational tasks are more difficult than production ones. Show first that you have immersed yourself in the context of the project, know the code and have dealt with the problems you encountered. An experienced interviewer will note a good level of immersion and structure the interview around the project. Try to take the initiative and talk about the parts that are most interesting to you, it may be CI/CD, Kubernetes or something with which you have worked the most. For this purpose, the interview can be broken down into appropriate domains: IaC, C.M., Cloud, etc. I wrote in more detail in one of the articles: “An interview in DevOps Engineering, how to evaluate your experience and how much you need to know?”

Also, through the project, courses and documentation, it is clear which components you can dive into, for example eShop It will be most interesting to see how the code is organized C#, UnitTestswhat objects Kubernetes used, steps Azure Pipelines.

Total what happened:

Try to organize training within the same infrastructure or project. You will be faced with atypical tasks that will force your brain to move and immerse itself in problems. This approach allows us to develop an understanding of production tasks. This is a valuable opportunity to switch contexts during the learning process, maintain interest without losing touch with the main project, and fuel motivation.

Materials

Learning How to Learn: Powerful mental tools to help you master tough subjects: https://www.coursera.org/learn/learning-how-to-learn

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *