Launching ITSyndicate DevOps Courses: A Journey of Growth

Launching ITSyndicate DevOps Courses: A Journey of Growth

In the last two years, our company has initiated on a thrilling venture, introducing our DevOps courses and effectively training and placing eight engineers. These engineers have fitted well into our projects, and what this has shown is that the training program that we gave them a chance to undergo was well adapted. In this article, I’d like to tell you about my experience in starting courses, what you should prepare for and expect, and a few words about what we teach to interns.

Why did we start conducting courses?

In our case, several facts came together:

- Difficulty finding quality engineers. The market is oversaturated with people wanting to enter IT. Conducting 50 interviews a month and hiring engineers, I realized that even if we carefully checked the candidates, not all of them met our high-quality standards. It isn't easy to retrain an established engineer to do something in a way you need it to do. A young specialist can be taught to do it right.

- Training an engineer in 3 months is more economically profitable than finding him. Looking at the situation from the outside, you will understand that the search and interview process involves not one person but at least two or even more. This is all the time that is converted into money, those people or you can spend time on more valuable things. And this is not fiction; according to my analysis, on average, closing one DevOps position in the Canadian or US market takes 6-8 months. During this time, you or your employees will spend much time on interviews and checking test tasks.

- Desire to share knowledge. Due to the fact that we have been on the market for more than 10 years and have completed more than a hundred projects, we have an understanding of how to build and maintain infrastructure properly and how to develop projects from a technical point of view. In our company there were engineers who wanted to share their knowledge, and I am very grateful to them for this!

How to start courses for newcomers in your company?

1. Needs Assessment

  • Find out in which area you need a flow of new specialists: It makes sense to launch courses if you plan to conduct them constantly, expanding the company. These can be salespeople, developers, engineers, designers, even if you are not in IT and you need, for example, drivers, this is all applicable.
  • Set Objectives: Clearly define what you want the newcomers to learn and achieve by the end of the course.
  • Right teachers: It could be you or your exemplary employees. But what is also important is that you cannot force anyone to be a teacher. Teaching should be enjoyable for the teacher. This is the only way to guarantee the success of the courses.

2. Course Design and Development

  • Course Content: Develop a curriculum that covers all essential topics you need. This might include company culture, policies, job-specific skills, software training, compliance, and more.
  • Structure: Break down the course into modules or sessions to make it manageable and easy to follow. We divided it into weeks—one week - one topic.
  • Materials: Create or gather training materials such as presentations, manuals, videos, and tsks. In my experience and what all our students note, the best part is real tasks and practice. Focus on tasks. They should be the core of your course. And the materials and everything else should assist in completing these tasks. For example, we give an assignment in the eighth week to set up a Kubernetes cluster and provide materials that can be useful for completing the task. The main task is to complete this setup, not to watch a lecture or read the documentation; you can if you need but task in the first place. Do the same; it will give your interns real experience.

3. Platform and Delivery Method

  • Choose a Delivery Method: Determine - how often will you meet with students? Who will be at the meetings? What will you discuss at these meetings? How will you check the completed assignments? In what format will you conduct the courses?
  • Select a Learning Management System (LMS): If delivering online, choose an LMS that supports course creation, enrollment, tracking progress, and assessments. Depending on your budget, you can manage the course yourself or use a platform. For example, we use a simple Trello boards to manage interns' tasks. For each student, we have his own board where we monitor the implementation and progress, thereby getting as close as possible to the real conditions where engineers will have to work on projects. But you can also use paid solutions that are convenient for you and fit your model.

4. Trainers and Facilitators

  • Training for Trainers: Ensure that the trainers are well-prepared and familiar with the content and delivery methods. But even better, interact with them when creating the course, let them also contribute to the course creation. Your teachers should be interested in this.

5. Find students

  • Search: Find young people who will be interested in your course. Get them interested in the opportunity to work, study and develop in your niche. And most importantly, make the course free. Use all possible resources to attract, for example, job search platforms (post vacancies), use the community, make posts on LinkedIn, etc.
  • Selection: There will probably be many people willing to take the course if you make it free. Create a profile of the ideal student and identify the minimum skills he or she must have to complete the course. Think about hard and soft skills. Test these skills - use automatic software, tech task or chat with the candidates yourself.

6. Start Courses

  • Run your Course: Conduct a trial run of the course with a small group of people.
  • Collect Feedback: Gather feedback from participants and trainers to identify any issues and areas for improvement.

6. Continuous Improvement

  • Update Content: Regularly update the course content to keep it relevant and up-to-date.
  • Ongoing Support: Provide resources and support for new employees even after they complete the course to ensure continuous learning and development.
  • Listen to feedback: Collect feedback every iteration to optimize and improve the course.

7. Conduct courses on an ongoing basis!

Our program

Our DevOps courses cover a wide range of essential topics to ensure a well-rounded education for our students:

1. Cloud Basics: Cloud Practitioner

  • Our interns learned the fundamentals of cloud computing, including various cloud service models (IaaS, PaaS, SaaS), deployment models (public, private, hybrid), and the core services of major cloud providers like AWS, Azure, and Google Cloud.

2. High Availability, Scalability, and Core DevOps Practices

  • They were trained in designing and implementing systems that are highly available and scalable. This included load balancing, auto-scaling, disaster recovery, and understanding the core principles of DevOps such as continuous integration and continuous delivery (CI/CD).

3. Infrastructure Provisioning and Security

  • Interns gained hands-on experience with infrastructure as code (IaC) tools like Terraform and CloudFormation, and learned best practices for securing cloud infrastructure, including network security, identity and access management (IAM), and encryption.

4. Configuration Management with Ansible

  • They learned how to automate software provisioning, configuration management, and application deployment using Ansible, focusing on creating and managing playbooks and roles for efficient configuration management.

5. Learn Docker by Doing

  • Through practical exercises, interns mastered the basics of Docker, including container creation, management, and orchestration. They explored how Docker simplifies application deployment and enhances development workflows.

6. Advanced Docker Practices

  • Building on their foundational Docker knowledge, interns delved into more advanced topics such as Docker Compose, Docker Swarm, and optimizing Docker images for performance and security.

7. Kubernetes Quick Start

  • Interns received an introduction to Kubernetes, learning how to deploy, manage, and scale containerized applications using Kubernetes clusters. They covered essential concepts like pods, services, and deployments.

8. Securing and Auditing a Kubernetes Environment

  • Focus was placed on securing Kubernetes environments, including network policies, RBAC (Role-Based Access Control), and auditing practices to ensure compliance and security best practices.

9. Kubernetes the Hard Way

  • They undertook a challenging deep dive into Kubernetes by setting up a cluster from scratch, which gave them a comprehensive understanding of the underlying components and architecture of Kubernetes.

10. Implementing a Full CI/CD Pipeline

  • Interns learned to design and implement complete CI/CD pipelines using tools like Jenkins, GitLab CI, and CircleCI. They focused on automating the entire software delivery process from code commit to production deployment.

11. CI/CD Deep Dive

  • A deeper exploration into CI/CD practices, including advanced pipeline configurations, integration testing, deployment strategies like blue-green and canary deployments, and monitoring pipeline performance.

12. Monitoring, Logging, and Alerting

  • They were trained in setting up robust monitoring, logging, and alerting systems using tools like Prometheus, Grafana, ELK Stack (Elasticsearch, Logstash, Kibana), and integrating these with their applications to ensure operational visibility and reliability.

Practical, Real-World Training

The thing that makes the concerns of our courses unique is the fact that our issues are realistic, and the students are expected to complete real-life assignments. It is not just about offering training documents to our interns but also about training them on real projects derived from real-life occurrences. Thus, it is possible to state that the main aim of such tasks is to let interns learn in practice, given the tasks they will face during their work in the future. This way, they are not only informed but also skilled and ready for real-life situations as they occur in the market. Upon completion of the course, each student sets up their project from scratch, consolidating all aspects learned in this type of coursework.

A thorough two-year audit of my accomplishments

I feel that after conducting these courses for the last two years, I'm very pleased with the quality of the program and, even more importantly, the quality of participants it attracts. The engineers we have hired are now busy handling different projects and showcasing the practical experience and skills we imparted.

The most enjoyable part was cooperating with young specialists, especially because they came to us with a remarkable desire to acquire knowledge. This energy, not just in the learning process but also in the work that they do, has not only served them well but also contributed to the enhancement of the entire team.

These positive findings have further strengthened our belief in delivering high-quality training. As for the second question, we claim that education is the key to the growth of a company and the whole technological community, and we must do everything possible to support new talents. Our courses have been beneficial not only to our students but also to building a competent workforce in the country.

Looking Ahead

As we progress, it is crucial to continue to develop and enhance our education in DevOps initiatives. The future goals include further attraction and retention of talented individuals to implement our projects and develop the relevant sphere. Thus, promoting the policy of studying and learning as our key to excellence, we are dedicated to the advancement of education.

In summary, launching our DevOps courses is a great step forward for us. The stories of our students and the positive changes in the projects show the necessity of training and developing employees. We will keep embarking on this process, cultivating new talent in DevOps and sustaining the goal of delivering high-quality training and practice in DevOps.

要查看或添加评论,请登录

Maxim Yemleninov的更多文章

社区洞察

其他会员也浏览了