๐ My DevOps Journey โ Week 7: Git Internals, Python Pitfalls, Cipher Fun & Cloud Realizations

After last weekโs Bash scripting marathon, I thought this week would be lighter. I was wrong.
I tackled Git (again), jumped into Python basics, wrestled with exceptions and generators, started my AWS journey, and even squeezed in a Caesar cipher. Somewhere between lambda expressions and cloud design principles, it all began to click.
๐๏ธ Day 1 โ Git Is Not Just Push and Pull
I started the โGit for Beginnersโ course on KodeKloud. I thought it would be a quick revision โ I already knew git init
, git commit
, git push
, and git pull
.
But this time, I understood why teams choose branching strategies and how pull requests are not just a GitHub feature but a crucial part of team collaboration.
๐ง Git Tools I Now Rely On
git stash
: Save and switch context mid-taskgit cherry-pick
: Move single commits across branchesgit revert
vsgit reset
: One is safe, one rewrites historygit reflog
: The ultimate undo
๐ Git Internals Made Visible
Discovered Gitโs object model โ blobs, trees, commits โ and explored them using:
git hash-object <file>
git cat-file -p <hash>
Git stopped feeling magical. It started making sense.
๐๏ธ Day 2 โ Python: โBeginnerโ is a Lie ๐
I finished the KodeKloud Python Basics course in one day. It lacked labs but had 38 quizzes and 5 mock exams.
๐งช Mock Exam Scores
Mock 1: 27/30
Mock 2: 25/27
Mock 3: 29/29
Mock 4: 27/29
Mock 5: 25/28
๐ Lessons I Wonโt Forget
.upper()
returns a new string โ because strings are immutable[::3]
= "every third", not "skip three"list2 = list1
โ same object, not a copyrange('abcd')
throws a TypeError(0,)
is truthy because it's a non-empty tuple
Python may look clean, but it hides surprising complexity.
๐๏ธ Day 3 โ Strings, Packages & Cipher Experiments ๐
After finishing the basics, I officially started the PCAP (Certified Associate in Python Programming) course from KodeKloud. The jump in difficulty was real โ more real-world examples, deeper concepts, and an emphasis on writing clean, modular code.
โ๏ธ Cleanups and Transformations
Practiced with small string transformation scripts:
txt = ",$,, chocolate banana ice-cream..."
txt = txt.strip(",$ .")
txt = " ".join(txt.split())
print(txt) # chocolate banana ice-cream
๐ Caesar Cipher โ My Version
Wrote a Caesar cipher from scratch using just loops and logic:
def encrypt(msg):
result = ""
for char in msg:
if char.isalpha():
if char == 'Z': result += 'A'
elif char == 'z': result += 'a'
else: result += chr(ord(char)+1)
else:
result += char
return result
๐ ๏ธ Tools & Modules I Explored
pip install
,pip show
,pip uninstall
random
,math
,platform
,sys
Encoding: ASCII โ Unicode โ UTF-8
Also learned to avoid wildcard imports โ clarity wins.
๐๏ธ Day 4 โ Headache #17, Generators & PCAP Mock Exams
This day hit hard โ I continued with the PCAP course and tackled some dense topics like OOP, iterators, and exception handling.
I also completed two PCAP mock exams from KodeKloud:
Mock Exam 1: 34/40 (85%)
Mock Exam 2: 31/40 (80%)
The format and difficulty felt much more aligned with real-world coding โ not just theory.
๐ฃ Headache #17
list(map(lambda x: x*x, filter(lambda x: x % 2 == 0, range(10))))
Looked easy. Read it five times. Got it wrong. Iโll never forget this line.
๐งฏ Try/Except and File Handling
try:
stream = open("not_here.txt", "rt")
except FileNotFoundError:
print("File missing!")
finally:
print("Done.")
๐จโ๐ซ From Procedural to OOP
Wrote a basic stack class:
class Stack:
def __init__(self):
self.__items = []
def push(self, val):
self.__items.append(val)
def pop(self):
return self.__items.pop()
Also explored:
Multiple inheritance
Method Resolution Order (MRO)
Composition vs inheritance
โ๏ธ Generators & Closures
def custom_range(n):
for i in range(n):
yield i
def multiplier(factor):
def multiply(num):
return num * factor
return multiply
times3 = multiplier(3)
print(times3(5)) # 15
๐ File I/O & Confidence Boost
After all that, file handling felt like a reward.
read()
,readline()
,readlines()
readinto()
for binary filesos.mkdir
,os.rmdir
,os.system("ls")
Back in Linux territory โ and it felt great.
๐๏ธ Day 5 โ Into the Cloud โ๏ธ
Started the AWS Cloud Practitioner course from KodeKloud. No labs, just pure theory โ but eye-opening all the same.
โ๏ธ What I Learned About Cloud Computing
Compared traditional IT (hardware, approvals, delays) with cloud (API-driven, instant, scalable). Key models:
All-in-Cloud โ Fully hosted on AWS
On-Premises โ Managed privately (legacy)
Hybrid Cloud โ Best of both worlds
๐ธ Cloud Economics
Studied AWS billing options:
Free Tier โ Explore for free (for 12 months or forever)
On-Demand โ Pay only for what you use
Reserved Instances โ Commit 1โ3 years, save up to 72%
Volume Discounts โ Use more, pay less per unit
๐ง Cloud Design Principles
Design for Failure โ Expect breakdowns. Plan recovery.
Decouple Components โ Use queues to isolate failures.
Implement Elasticity โ Auto-scale up/down with demand.
Think in Parallel โ Speed things up by splitting work.
๐๏ธ Day 6 โ Security Overload & IAM Rabbit Hole ๐
This was the day I truly realized how overwhelming AWS security can be โ not because it's hard to understand, but because itโs packed with concepts, services, and a ton of theory. Most of it was documentation-style learning with only small demos here and there. It honestly felt a bit dry. No hands-on labs, no clicking around โ just concepts. But I also knew this was foundational knowledge I needed to absorb, whether I liked it or not.
The day started with AWS IAM (Identity and Access Management). I explored IAM users, groups, roles, and policies โ all the building blocks of how AWS controls access. The course briefly showed how to create IAM entities, but the focus was more on understanding the why behind each component. I also learned how permissions are inherited, how policies are structured in JSON, and how roles differ from users when it comes to temporary credentials.
From there, it expanded into AWS Organizations, where I learned about Organizational Units (OUs) and Service Control Policies (SCPs). These act like guardrails for entire accounts โ you can block services even if the IAM user has permissions. Itโs powerful but abstract, and I had to watch that section twice to really get it.
Then came the alphabet soup of AWS security services. I explored preventative security tools like AWS WAF (Web Application Firewall), AWS Shield, and AWS Network Firewall. Detection-based services included Amazon GuardDuty, AWS Inspector, AWS Config, Security Hub, Amazon Detective, and even Security Lake. There was also a deep dive into management services like Firewall Manager, Resource Access Manager, Cognito, and Secrets Manager. By this point, my brain was buzzing with acronyms.
I wrapped up the day with cryptographic key management โ a core part of securing AWS workloads. I learned how AWS KMS, CloudHSM, Certificate Manager, and Private Certificate Authority all play roles in encrypting and securing data in the cloud. Again, no labs here โ but I now understand how AWS handles sensitive data protection and encryption.
This wasnโt the most exciting day of the week, but it was one of the most important. If you donโt understand access control, you donโt understand AWS. Simple as that.
๐๏ธ Day 7 โ Docs, GitHub, and Deep Breaths
After six days of Git, Python, and Cloud, I took Day 7 to reflect and document.
Wrote this entire blog
Organized my notes
Pushed everything to GitHub
Somehow, writing it all down made the learning feel real โ like I actually owned it.
โ What I Took Away This Week (now feels even more true):
Git isnโt just push/pull โ itโs a version control machine
Python is โsimpleโ on the surface, but complex inside
Writing my own Caesar Cipher taught me more than reading docs
Cloud isnโt just hosting โ itโs a design shift
You donโt memorize code. You test, break, rebuild, and learn
๐ค A Word of Thanks
Special thanks to ChatGPT โ my rubber duck, error explainer, and Python therapist ๐ . From Caesar ciphers to debugging lambda chains, youโve helped me make sense of it all.
Subscribe to my newsletter
Read articles from Anandhu P A directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Anandhu P A
Anandhu P A
Iโm an aspiring DevOps Engineer with a strong interest in infrastructure, automation, and cloud technologies. Currently focused on building my foundational skills in Linux, Git, networking, shell scripting, and containerization with Docker. My goal is to understand how modern software systems are built, deployed, and managed efficiently at scale. Iโm committed to growing step by step into a skilled DevOps professional capable of working with CI/CD pipelines, cloud platforms, infrastructure as code, and monitoring tools