Read This 1: Learning to Code
I recently published an article on Hawthorne about how I think everyone should learn to code. You've probably heard this argument before, but my take is a little different.
The typical arguments you've heard around problem solving, improved thinking, and an empowering skillset are all true. But I think programming is going to normalize, as workplace skills often do. Think of Word and Excel, or even touch typing for that matter. These all started out as specialized skills that normalized. If you're interested in reading my argument then check it out on Hawthorne.
This edition of Read This is focused on answering the question, "How should I learn to code?"
So how can you go about learning to code? Well this episode of Read This has the solution for you.
1. Python for Kids: A Playful Introduction To Programming
Don't let the name turn you off! This is an excellent introduction to programming with Python for any age. It is not surface level and it's not too kiddy. You'll learn all the basic constructs of programming including data structures, functions, loops, and conditionals. Most importantly, you'll quickly get up and moving and to a point where you can comfortably dive into deeper materials.
2. Python Crash Course, 2nd Edition: A Hands-On, Project-Based Introduction to Programming
Now that you've got the fundamentals down from Python for Kids, work through Python Crash Course to take your skills to the next level. Some of this will be review from Python for Kids, but it's presented here with more depth and nuance. Learning is iterative, so a review of the fundamentals is something you want. After that, this book will guide you through building a few different kinds of projects. You'll build a simple video game, some data visualizations, and a simple web application. This is when you'll feel comfortable with the fundamentals and start to see how they can be applied.
3. Automate the Boring Stuff with Python, 2nd Edition: Practical Programming for Total Beginners
Now it's time to put your skills to some serious use. Automate the Boring Stuff with Python will open your eyes to the power of programming. The skills outlined in this book will make you feel like you're using your computer in God mode. Once you learn how to automate your work, you'll never stop looking for a way to automate stuff.
Bonus: Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython
A bonus! You can think of this as an Intro to Data Science, a term you've probably heard thrown around a lot. If you were impressed with Automate the Boring Stuff with Python, then you'll be really impressed with this book. Pandas is like Excel on steroids and combining it with Jupyter, IPython and NumPy will make you an unstoppable, number crunching fiend. When someone comes to ask you for help on their spreadsheet you'll laugh and say "how quaint!" This book is more technical though, so you’ll want to read it after the other three.
So there you have it. Best of luck with your coding journey.
Remember that with anything difficult, it's really just a matter of consistency over time. If you spent an hour a day on it, you'd get through these three books in about two months and completely transform what you're capable of in that time.
Until next week.
Zakk