10 Things I wish I would have known before learning Kubernetes
Getting started with topics that are completely new to you is tough. Finding the right resources is tough. Similarly, taking the time to study and understand the subject, tools, and frameworks is not definitely not easy.
As some of you might already know, I transitioned to the DevOps space 10 months ago. 10 months ago was the first time that I heard about Docker. 10 months ago was the first time I had to use Kubernetes. At first, everything felt like a black box to me. I had no idea how Docker was actually building my containers nor how I could learn about the process. The same held true for Kubernetes.
Then I started 100 Days Of Kubernetes. If you have been following my channels for a while now, you might have realized that my explanations on Kubernetes got slightly more accurate over time. When you first get started, it is not about making everything perfect, providing the best examples, or entertaining people but for you to get value out of creating content.
When I got started, my main goal was to learn as much as possible about Kubernetes within 100 Days. I am still on this journey. However, since I am approaching halftime, I thought I am going to take a moment to share some of my learning with the community.
1.Start Anywhere & Start Small
I get a lot of questions about people being lost and not quite sure where and how to start. Don't overthink it. It matters far less where you start than that you start learning about the things you want to learn.
You can really start anywhere you feel comfortable with. Try to look at newsletters and listen to podcasts as they link a bunch of good content. Once you have identified the content available, you can then go through different content pieces and see which type of learning and content is best for you. This will highly depend on
- Your learning style
- What you want to learn
- Your level of expertise in the field
2. Start Using Tools early
Tools such as k9s, kubectx , and Datree will really help you to improve and to become more efficient. It is a skill to get onboarded quickly to new tools and platforms. However, you can practice this skill. Being able to use common tools properly will provide a lot more value to your resume than certifications.
This will also be the topic of my next live stream so stay tuned.
3. Put yourself out there
Most of the opportunities that I got throughout the past months were due to me working in public. Working in public does not mean that you literally have to publish everything that you are working on online. However, it allows others to see what type of projects you are working with, your level of expertise and enthusiasm on a subject; and ultimately, it enables the community to collaborate with you.
If no one knows what you are working on, it is a lot to expect input and contributions to your work. However, that is only one of the benefits of working in public. Others include
- You will try to make your work more accurate and professional (since people are going to be able to see it)
- Subsequently, you spend more effort understanding the details of the topic and tools that you are working on
4. You cannot learn everything
There are so many topics that I know very little to nothing about. I wish it would be different and I would understand them better. However, we all only have 24h in a day and various commitments. It is highly unrealistic to compare ourselves with industry professionals who have had years (and sometimes even decades) to learn about a topic.
This goes back to the first point. Identify that expertise that you either really want to acquire, or really have to acquire to do the best job that you could be doing. Once you get the basics right, you can still expand into other areas.
5. Ask questions
I definitely did not ask enough questions when I got started but instead tried to teach everything myself. Most open source, cloud native projects have active Slack Channels either as part of their own community or as part of the CNCF Slack or the Kubernetes Slack. If you have any questions, join the channel and ask away. There are so many amazing community members who would love to help you.
In contrast, asking beginner questions once you are a few months into your learning journey will become a bit more difficult. I often operate on assumptions, meaning, I might not understand something completely but just enough to make it work. However, that is quite a dangerous approach and ultimately, it will take me much longer to learn a new tool than if I would just ask right away.
6. Copy and Paste
Repeat after me: There is no shame in Copy And Paste. I can do it, so can you. The important things are that you understand what you are copy-pasting and that you give the creator credit. This has several reasons, the main ones are
- You don't want to be exposed to security issues
- Aiming to understand the content that you are copy-pasting will help you get better at creating similar content yourself
Since people spend a lot of time creating content, it is always great when others share their content & give credits as a sign of appreciation.
7. Write More
Writing about what we think and what we are doing helps us to structure our thoughts and processes. You do not have to aspire to become a technical writer to get value from documenting your work. A lot of the skills that you will acquire and practice when you are documenting your work will become handy for your work; these include:
- Documentation skills — Engineers have to document their work
- Communication skills — You will have more influence when people understand what you aim to do and why. This allows others to support you in your work
- Improved technical skills — There is no reason to document a bad hack just to get something working. However, that nice solution to a technical problem that you came up with allows you to be proud of your work. By documenting the process and the solution, you are not only more focused on creating good solutions but you are also able to help others.
8. Practice More
There is nothing and no one that can replace the value that you will get out of practising your skills. A lot of times, when I don't look at a topic or tool for several months, I will forget how to use it and how it works. Practising will get you to improve — ultimately, every expert is just a beginner who has done the same things a few hundred times. Throughout repeatedly using a tool or practising a skill, you will develop new questions, try out new use cases, and overall, expand your understanding.
9. Utilise Opportunities
The CNCF and other organisations provide a lot of different opportunities across the DevOps space. Those range between student-focused opportunities and mentorships to collaboration on events, code contributions, or even becoming a member and helping one of the open-source projects to scale and find adoption. There REALLY is something for everyone and I highly encourage everyone to just go ahead, click through the websites and explore the opportunities listed.
Have a look at my recent newsletter for more inspiration and resources.
10. Just keep going
I have had times where I created less content and times where I created more content. Sometimes it is difficult to get myself motivated and excited to keep going and learning more about a subject. Sometimes, it even feels quite daunting to put myself out there. However, the upside of creating content, of helping other community members (knowingly or unknowingly) makes the effort worth it.
Content creation takes time and effort. However, I rely so heavily on other people sharing their learning journey and use cases that I really hope we can get more community members involved and do alike.
In the end, just keep going, the more you explore, the more you will discover.
Was this post helpful? Did it maybe encourage you to get started on your own learning journey or did it inspire you to keep going? Maybe you will try to make your learning public or get involved in one of the opportunities available by the CNCF?
In either case, we would love to hear from you. Join the community: