Most people know that to keep your mind in good shape and to stay up-to-date, you need to consistently study new things, otherwise you’re likely to get left behind in your field. With that in mind, how would_ studying through teaching work_?

This article is about myself and another Pipedrive infrastructure engineer, who began giving a course about IT infrastructure services at Tallinn University of Technology, and what we learned about it.

What are we teaching?

The course we were asked to teach is “IT infrastructure services”. The course’s study plan covers a list of services: DNS, AD, email, FTP, etc. Despite working as infrastructure engineers, we haven’t had any significant experience with some of these apps and didn’t feel we could teach others, for example, the internals of AD, or how email protocol works. Luckily, the university provided us with full freedom regarding what we’re teaching during the course, as long as it still relates to the course name, to some degree.

With this in mind, we decided to design a new course but keep the existing name, and instead of teaching how email/FTP/AD work, we mainly focus on how to generally operate infrastructure and how to provide infrastructure for a company as a service. And of course, it should be Infrastructure as a Code.

What services should be covered?

We decided to only cover services that we use heavily in our daily life. No point in teaching something that we’ve never deployed for production use. This decision also saved us a lot of time, we can give lectures with relatively little preparations and with several real live examples and use cases.

This is the service list that we used (short-list for almost every startup today):

  • Nginx

  • Bind9

  • MySQL

  • Prometheus

  • InfluxDB+Telegraf

  • Grafana

  • Docker

  • HAProxy

  • Keepalived

#teaching-and-learning #infrastructure #ansible #github

Using Real-life Experiences to Teach an Engineering Course
1.10 GEEK