Ugh! Not Another Programming Tutorial Blog
Welcome to my blog. If you're reading this... Yay, I did it! Chances are I was able to overcome the challenge of having an actual day job that has nothing to do with full-stack Python web development and deploying a web app built with Python, MongoDB, HTML, and CSS. Going forward, I plan to write about things I've learned (and things I'm learning).
I do feel compelled to add a little bit of an origin story here, but if you're looking for some actual Python, you may want to skip ahead to later posts.
I know that a large amount of developers are self-taught. I fall in that category. However, I didn't start till quite late in life, and the breadth of my knowledge is contained within a kaleidoscope of online tutorials, stack overflow discussions, and open-source code. Proceed with caution. And perhaps a smidge of curiosity!
I started dabbling with Python a few years ago with absolutely no knowledge about the language. Zilch!
I knew some coding basics from my college days some 20+ years ago (I thought to go for a Computer Science major for about three seconds—aka, one class). I ended up graduating with an English major. For most of my career, I've worked in payroll, until landing a business analyst role at the end of 2019.
A few years ago, a friend of mine talked me into learning Python (he was just learning as well), but I had no idea where to begin. I barely remember where I started. Probably a Google search.
At first glance, Python looked accessible enough to understand.
I dove head first with any free, online tutorials I could find, and next thing you know, I was trying to write a web crawler to extract movie reviews from Rotten Tomatoes, or trying out NLP techniques on different philosophy-related articles. That was probably about 6 months into my journey.
Yikes! Yeah, I was way in over my head.
Since then, my Python journey has had an on-again / off-again relationship.
Early in 2021, I decided I wanted to take things to the next level (I know, commitment is hard, but it can be so rewarding).
I decided to try my best at building a web application using Flask. (I've since detoured, but more on that later.)
So of all the things to build, why another blog?
There are lots of cool things to be done with Python. I had already dabbled a bit with the machine learning side of things and really enjoyed it.
But there is one major thing that happens when you're not using your skills on a day to day basis. Forgetfulness. I needed a way to retain what I was learning.
What better way to force myself to chronicle the journey than through a lame, ill-conceived blog?
The plan so far has been to flesh out this little web platform, if I can call it that. I want to keep adding features as I go, and maybe spend some time talking about how I've gotten certain things to work.
I'm not sure if these posts will be the typical "how-to" type of tutorials. Perhaps I'll have some of that, but there are already a lot of great resources on the web for that kind of stuff.
Likely, this will be a scatter-brained story of the journey I am taking—a quasi-journal/memory box that I can refer to later in case of the aforementioned infidelities I've had with development over the years.
Another reason I wouldn't exactly lay claim to the "tutorial" moniker is because of my inexperience and lack of confidence in my development skills.
I know, I know... Impostor syndrome is real and all. But really, the fact is that everything I've done here has been stitched together from incessant web searches (something anyone can do), and most of the time, I'm not quite sure if I'm doing it right.
I may try to follow some form of "best practice," as if a sentient overlord is waiting to give me a harsh code review. Yet, I do want to stress, all of this comes from various free sources around the web, and that can be quite the mishmash.
With that said, I do want to note that I do plan to go beyond where the typical tutorial ends.
For example, what happens after "Hello World"? What can I do once I connect to a basic database? How can I take advantage of a template driven design?
What other things should you take into consideration?
I happen to like going down the rabbit hole of complexities. Feel free to join me if you so desire.
I will try to provide proper attribution as best I can, though I apologize in advance if I can't remember where I got an idea.
For now, if you are looking for a more basic guide to web app development in Flask, I will recommend you look at the truly great resources that are already out there:
Those are a few (among many others) that I perused as I was getting started with Flask.
They vary in complexity and length. The last one on the list is one of my personal favorites, so give it a gander.
Okay, fine, this is largely a selfish project. Yes, it's more for me than for you. At least for right now it is.
But hey, maybe not. Maybe as you accompany me in this journey, you'll also learn something about yourself, your process, and maybe even Python!
Phew. That was a lot. Now, where should I begin?