Breaking Into DevOps: Training Tips
By Sudheer S
I see a lot of people are trying to break into software engineering and DevOps. There are many inspiring stories out there. People from other industries and verticals have switched to IT and are having a successful career. You can do it too.
Let us look at the resources available to you.
Online Vs. Offline Training And Learning Resources
Online
All you need to break into DevOps is:
- A laptop or a desktop computer
- Internet connectivity
- A quiet place
- Time
- Motivation
that’s all. Everything else is a luxury. Training material is available on the Internet for free. Help is available on the Internet for free.
With the available online resources, you can make your own course just by assembling the content. Look for a well-defined path. Follow the path. I have created one such learning path for DevOps.
Online Content
- Free videos and playlists on Youtube
- Free and paid courses on Udemy
- Free and paid courses on Coursera
- Blogs
- Podcasts
- Free and paid books
- Training platforms
- Cohort Programs
Find Help Online
- Stack Overflow: Ask any question about programming.
- Server Fault: Ask any question about serves, hardware, Linux system administration, etc.
Every open source project will have some community communication tools or forums. Find them.
Mentors
Many successful professionals offer mentoring. Often you can find a mentor for free. Some mentors charge a fee. Find a mentor to provide you overall guidance throughout your journey.
Community And Networking
Open source projects are driven by contributors. The contributors and users form a community around the project. The Drupal project has this punchline: “come for the software, stay for the community”. You start with some open source project based on a need. The more and more you use the software, the more you meet awesome people behind the project and make long-term friends. Staying with community can be highly beneficial and helps you make good social connections. The larger projects have their own virtual and local meetups. Some of them have large national and international conferences. Try to attend those meetings and conferences as much as you can.
Offline
Personal training in a physical classroom can be beneficial if you are just starting out and need help to get a grip. If at all, you still choose to go to a physical classroom, choose a training institute which focuses on labs and practical tasks. Routine assessments in the form of quiz or a practice test can be beneficial to reinforce your learning. Typically, classroom trainings are expensive compared to online lessons. Instructor led lessons require more manpower, real estate and are limited by number of seats.
Offline brick and mortar training schools can add value by providing individual attention to students. Sometimes, people need hand-holding to move on. Trainers can help unblock students and help set a good learning pace.
In beginner level topics, offline training organizations cannot add much value in terms of content. There is quality content out there on the Internet for free.
Emphasis On Practicals
Learning is all about doing. Reading and watching videos can give you directions. But you have to walk the talk yourselves. Can you learn to swim just by watching swimming video lessons? Technology cannot be learned just by reading and watching. The learning progressively improves when you sit down and perform the exercises. Thus, I encourage you to focus on exercises. That’s one of the reasons why companies are looking to hire experienced people than those without experience. By repeatedly doing the exercises and then performing them at job solidifies your understanding of the subject. Repeated practical jobs put you on the path of mastery of the subject. Whether you take an online or offline course, emphasize on practical labs and exercises.
If you are joining a training class or course, ask the trainer whether they are going to help you with practical exercises. If you are learning a programming language, ask your trainer whether they are going to help you to develop an application? If you are not developing an application as part of training exercise, it’s a red flag on the training method.
Strong Fundamentals
One common mistake people make is to prioritize cloud over fundamentals. That path will inevitably lead to frustration and de-motivation. First learn programming and Linux. Then learn to play around with infrastructure on virtual machines on your laptop. You can also learn CI/CD and IAC by using virtual machines on your laptop. Once you have a good grip on these topics, then step into the world of cloud computing.
Beware Of Snake Oil Salespeople
You will often find blog, video and course titles like “Master JavaScript in 10 Hours”, “Master Python in 4 hours”, “Master Linux in x hours”, “Master x in y hours”, “Buy xxx certification course and earn $US 100,000”, etc. It’s impossible to master such complex topics in a few hours.
“No, there is no way to master any programming language, framework, or in general any valuable skill in 10 hours.
Beware of anyone that tells you the opposite, they’re either very naive or they’re trying to sell you some snake oil.”
-
Tweet by Alejandro Piad Morffis, CS college professor
and ML researcher.
Mastery takes a long time, usually months and years. But don’t let that put you off! You don’t have to be a master of all DevOps subjects to be employable. Keep upskilling and over the years, you will know when you have attained mastery.