aving spent time at SIGNAL 2018, I felt inspired to return back to the command line and strengthen my knowledge of working with Python. My end goal was to feel a higher level of comfort when it came to explaining how to create bots and use APIs. Over the past year or so, I've been learning Python and creating small applications here and there. However, I found that I could never truly explain why it was necessary to take the steps I had taken. Or more important just what certain technical concepts meant.
When I returned home from SIGNAL, I wanted to be able to do more with Twilio products. I was lucky to learn about Autopilot and figured I could work my way up to giving that a try. Before sitting down and reading Twilio documentation, I decided that it was more important to take a step back even further and start at ground 0.
Over the past few months or so, you may have seen me mention all of the courses in which I'm taking to help strengthen my skillset. Some of you have even inquired as to which courses one should take if they're pursuing Python.
Well, my answer has never necessarily been straight forward. Why? Well, for the most part we all possess different goals. For me, my goal is to work more with AI bots and messaging. Therefore, when I created my personal cirriculum, I did quite a bit of research to see which skills would be necessary to do well in that arena. I would start with one concept and then work my way backwards to see what other foundational knowledge was needed before pursuing the topic. Below is the end result of completing that exercise:
More often than enough, you'll find yourself executing code from the command line if you're working with Python. Rather than just be familiar with how to execute Python code, I found it necessary to learn basic commands. This set the foundation for the later need to install packages and use Git.
Git & Github
Whether you're working alone or with other developers, it's important to understand and use version control. Being that most (if not all) devs use Git and/or Github, I figured it'd be useful to learn how these two things work.
Given that my programming language of choice is Python, I wanted to go back and strengthen any particular foundational skills that would be useful once I got to building my own bots.
I had never deployed a Python app and figured it'd be useful to know how to do so. I also wanted to be able to explain how the Internet and servers work (yanno, just in case I ever end up on Jeopardy or something).
There are various frameworks to choose from when it comes to Python. Most often, I come across Django and Flask as options in Python tutorials. I'm going to give both a try to see which one I like most.
Do I know what an API is? Sure. Do I know how much more outside of that? Nope. However, some of the most powerful (and entertaining) apps/websites that I've come across use APIs in some capacity. Rather than just plug in a few values and say 'viola! here's the data!', I wanted to dive deep into learning more about APIs.
Bots & AI
This section goes without saying - it's my final end goal. Since I'm most familar with Slack, Twilio and Alexa, I figured I would give those 3 a try to strength my skillset in building bots with those platforms.
You may be wondering why I find it necessary to repeat learning the same content on different platforms. The reality of the matter is that no one instructor or coure will ever teach you EVERYTHING there is to know about a topic. Not to mention, all instructors/platforms have different teaching styles. Often times, if I get stuck on one topic, I usually find a better explanation once I go back and learn the same concept elsewhere. Having a variety will expose you to more!