Back to Posts

DevOps Course at Telefonica Global Solutions

Posted in DevOps, Training

I taught part of a 5-day course on DevOps to the people of Telefónica Global Solutions (Madrid), including presentations and workshops on CI/CD and tools like git, GoCD, Docker, and SonarQube. The whole experience was amazing and very challenging.

Earlier this year was approached by some of the cool people from the Cloud and Infrastructure team at Gradiant. They were looking for someone to teach (or at least talk fancy) about Continuous Integration and Deployment as part of a DevOps course. Well, I do like talking, and I am keen on CI and XP in general, so I said yes.

The training was part of a bigger project involving different companies to provide Continuous Delivery tools and practices to Telefonica Global Solutions. My job was to fill in for two of the five days of the training. The course included a 2-day training on Scrum by Alberto Gutierrez and a special session for System Administrators by Roberto Salgado.

By that time I just had started reading The DevOps Handbook, and I felt compelled to teach the right ideas about DevOps, and not just a few disconnected guidelines on git, docker or GoCD. After all, as I was just finding out, DevOps is a culture (and a mindset), not a collection of tools, not a role.

After saying yes (maybe too fast), I just realized that preparing 16 hours of technical training is a lot of work, and an intimidating challenge, as well. The weeks before the training in Madrid turned out very stressful and exhausting. But in the end (and thanks to a lot of help and support from my colleagues), I managed to finish the slides and exercises on time for the training.

This was the initial syllabus for the two days:

The week of the course, I arrived to Madrid to meet a very motivated and passionate group of people. During the 2 days, they asked a lot of questions and showed great interest about continuous integration, version control and testing.

Of course, different problems came up. Turned out that very few of the attendees had a developer profile. Instead, most of them had a telco or systems engineering role, so I had to spend more time on version control and the basics of continuous integration than it was initially planned. This made me improvise a bit during the first day and modify the initial plan for the second session. Also, we had a lot of technical problems (specially with internet connection and all kinds of proxy-related stuff, which sucks if you want access to DockerHub).

But, guess what? It was a lot of fun and a very rewarding experience. And I learned a lot about CI and CD, and also a few important lessons:

  • Assume everything is going to go south, starting with technical problems.
  • Check the reactions of the audience and focus on the topics that are more appealing for them, even if that means leaving some stuff out of the presentation.

Fun Fact: the course started on may 8th and was planned to end by may 12th in the afternoon, but it had to end abruptly on the morning of may 12th (during Rober’s session) when they told us to turn of all the computers for security reasons.

This is Javi. He likes software and stuff. He thought it was a good idea to write this. Don't be too hard on him. He has a weak psyche.

Read Next

Git status in bash prompt