Teach Yourself Python in 2024
Tools and Tips for Learning Python on AWS
Published Jan 16, 2024
Last Modified Feb 6, 2024
I have a confession... I’ve been in IT for 12 years, but I didn’t learn how to code until six months ago. I actually tried learning python on four different occasions in my career, but it never “stuck” until my most recent attempt
The reason it clicked for me this year is because of the incredible learning and AI resources that are now available to beginner developers.
So in this post, I’m going to share the resources that I found most helpful in picking up the language in a relatively short period of time.
Python is one of the most popular programming languages in recent years due to its easy readability, versatility, and growing demand. The good news is, with AI tools and serverless technologies, it is easier than ever to teach yourself how to code in Python!
Some key reasons that Python is the right language for you to learn in 2024 are:
- Python is the programming language used for most modern AI and ML workloads
- High demand for Python programmers as it's one of the most in-demand coding languages
- Versatile for building websites, data analysis, AI, and automating tasks
- Readable and easy to learn syntax compared to languages like Java
- Transferrable skills to other programming languages
- Great starting point if you’re new to coding
Learning Python can open up job opportunities, allow you to build programs and products, and build a strong technical foundation for your career moving forward.
Some examples of roles where python skills are useful are:
- Data Scientist / Analyst
- Cloud / DevOps Engineer
- Solutions Architect
- Software Developer
- so much more!!
I used a lot of different resources when teaching myself to code. The most helpful resources where the ones that threw me head-first into the IDE and walked me through building functional applications in python.
We all learn in unique ways, but I learn best with hands-on and by watching online videos. Below, I’ll describe a few of the resources that helped me learn quickly.
We are lucky that LLMs like Anthropic’s Claude have been trained on mountains of Python and Machine Learning data. This means that LLMs are Python programming experts!!
A competent AI assistant can help explain code to you, help debug errors, and provide you with example code for the tasks you’re working on. Some AI coding tools that I’ve found incredibly helpful are:
- PartyRock.aws: I personally rely on a simple AI coding companion built with the Partyrock.aws AI playground. This PartyRock app will answer python questions, and provide code samples.
- Amazon CodeWhisperer: AI Coding Assistant, integrated with your IDE. (Check out THIS CODEWHISPERER WORKSHOP to get started)
- Amazon Q: AWS Generative AI Assistant
These resources will help you code faster, and can also provide code samples and explain how the code you find on various online tutorials actually works!
I personally gravitated towards my PartyRock app, but I encourage you to experiment with the available options and learn what's best for your workflow!
YouTube has endless Python tutorial videos. I personally found the content coming out of FreeCodeCamp to be robust, hands-on, perfect for absolute beginners, and also FREE.
I suggest running through at least 1-2 long-form python video tutorials from FreeCodeCamp's youtube channel. Keep your coding assistant handy, because it can help you understand code that doesn’t make sense to you.. yet!
AWS Lambda was a critical learning tool in my python journey, because of how easy it is to quickly host python code on the AWS cloud. As you code, you may find scenarios where it doesn’t make sense to host the code on your laptop. You may eventually want to host a piece of code on AWS so that it is always available, and can be triggered from anywhere in the world. Leveraging AWS Lambda will allow you to host your code on AWS, and will help you learn to integrate your code with popular cloud services and frameworks, which is a worthwhile skill for any modern software developer!
AWS Lambda offers a free tier with 1 million free requests per month. I have never personally come close to exceeding the free tier in my personal projects. A great place to start is with this AWS Lambda Workshop**
You must apply your knowledge with projects to retain and understand what you learn through this process. Some project ideas that helped me when I first learned python were:
- AI chat application with Amazon bedrock
- Serverless web applications that read and write from DynamoDB
- Build a REST API
- Build a script that reads data from a CSV, and converts it to JSON
- Contribute to open source Python projects on GitHub
I also strongly suggest checking out AWS Skill Builder and AWS Workshops to get guided hands-on resources to help spark your inspiration! Here are a few courses available from AWS.
- AWS Bedrock & Langchain Workshop - Great course to explore very basic AI development concepts in python.
- Python Lab: Lab - Python Challenge - Skillbuilder python challenge!
- AWS Python Tutorials** - Check out the “Build” section for hands-on python learning exercises
In my opinion, there has never been a better time to teach yourself how to code. The abundance of high quality resource and LLM’s trained on python code and documentation makes it faster and easier than ever to learn and problem-solve on your own.
If you hit any snags along the way, engage the community! AWS re:Post is a GREAT place to connect with other experts. If you are on LinkedIn or X(Twitter) you can find find me @TrevSpires - Senior Solutions Architect @ AWS FinTech