Not_Linked_In

Finished Google course: Automation with Python

Full disclosure, I'm writing this years after the fact. That's one of the neat things about having complete control over this space, I can fudge the dates. Regardless, this was a watershed moment for me. I had experimented with Python a little in the past, mostly from following along with tutorials regarding Raspberry Pi projects. But I really didn't know what I was doing. I had some conceptual knowledge re recursion, iteration, predicates, lambda, and classes from the single formal Computer Science class I took twenty years before, taught in Scheme. I had built some things using VBA and SQL, so this wasn't my first rodeo, but it was the first time I felt like I authentically knew what I was doing. And that I could build practical things on my own without having to follow a project. In short, it was a pivotal moment for me.

Regarding the class itself, we learned all the things: objects, functions, lists, dictionaries, tuples, strings, ints and floats, etc. The class covered using Python to work with csv and text files, images, directories and similar. This was an introductory course, but it layed a solid foundation that I was able to continue studying primarily from RealPython.com. Since then I've learned so much more like Django, pandas, APIs, Flask, and similar practical projects.

Another amazing aspect of this course is the reliance on Linux. I had screwed around on Linux for decades, but it was mostly just a curiosity, Windows was always good enough and the better choice most the time. The Linux distros I had used were so frustrating that I tended to spend more time trying to get things to work than actually using them. But from this course I set up Linux platforms on Raspberry Pi, WSL, and AWS EC2 servers. This was challenging at first, with setbacks and frustration, but eventually I started to get the hang of it. I now work in Linux often if not quite everyday. There's still a lot of it that I'm unfamiliar with, but bash and the overall "everything is file" structure is becoming more natural for me. I grew up using CMD, so CLI is not new to me, but it still took effort and I'm still learning to this day.

And then there is git. For years I had used an elaborate and broken system of version control where I would save documents in various states with naming conventions and directory trees. And then manually or use batch scripting to upload to save dirs on a local NAS or similar. And this workflow worked fine for a long time but it was janky and not ideal. And git and GitHub solved all of the issues. Git is a remarkable platform, one that I'm still learning how fundamental it is and all the doors it opens. But it too comes at a cost - it is a bit esoteric and there are times when I'm scared that I may inadvertantly wipe code back to a previous commit. The Google course only scratched the surface, this is not easy stuff to comprehend quickly. So I worked with it a lot on my own, and now I use it daily, but I still don't fully grasp some aspects of it.

I love working with Python. Simply put, it's just a lot of fun. And it is so practical, I use it all the time for things I never would could have guessed I would use it before. Like things I used to use batch scripting for. I've built a number of practical automation projects like a script to monitor network and host health leveraging NMAP. I wrote a webscraping script using BeautifulSoup to log daily printer toner usage, and send notifications when toner levels are below threshold. Ultimately Python defeated an ounce of my imposter syndrome, I am blessed to have had this experience.