Video Pending

Created by Zed A. Shaw Updated 2024-02-17 04:54:36

Introduction

Process, Creativity, and Quality. Burn these three words into your mind while you read this book. Process. Creativity. Quality. This book may be full of exercises that teach important topics every programmer should know, but the real knowledge you'll gain from the book is these three words. My goal in writing this book on programming is to teach you what I've known to be the three most important constants in software. Without process you'll flounder around wondering how to get started and have problems maintaining progress on long projects. Without creativity you'll be unable to solve the problems you'll encounter every day as a programmer. Without quality you'll have no idea if anything you're doing is any good.

Teaching you these three concepts is easy. I could simply write three blog posts and say, "There ya go, now you know what those three words mean." That isn't going to make you a better programmer and definitely not a person who can work on their own as a developer for the next 10 or 20 years. Simply knowing about process doesn't mean you can actually apply it in real practice. Reading a blog post about creativity doesn't help you find out how you are creative with code. To really understand these complex topics you'll want to internalize them, and the best way to do that is to apply them to simple projects.

As you work through the exercises in the book I will tell you which of the three you'll be working on. This is a change from my other books where I try to be sneaky and have you learn concepts without your realization. I'm going to be explicit this time because it's important that you keep the concept firmly in your mind so you can practice it throughout the exercise. You will then evaluate how well your attempt at applying the practice worked and what you can do to improve the next time. A key component of this book is the ability to reflect on your own capabilities objectively and improve yourself. You do this best by being focused on one technique or practice at a time while accomplishing some other goal.

In addition to process, creativity, and quality you'll also learn what I consider five important topics a modern programmer needs to function. These may change in the future, but they've been essential for decades now, so unless there's a drastic shift in technology they'll still apply. Even something like SQL in Part VI is still relevant because it teaches you how to structure data so that it doesn't logically fall apart later. Your secondary educational goals are:

At each part of the book you'll focus on one or two of the three practices at a time until finally, in Part VII, you'll apply them all as you build a simple website. The final projects aren't sexy. You won't learn how to create your next startup, but they are nice little projects that will help you apply what you know while learning Python.

It's All Personal

Many other books are designed to teach you these three concepts in the context of a team. When these books teach you about process it's all about how you work with another person on a project to maintain code. When they teach creativity it's all about how you go to meetings with your team to ask customers questions. Sadly most of these "professional" books don't really teach quality. This is all fine, but there's two problems with these team style books for most beginners:

This book is not about being a good worker drone at Mega Enterprise, LLC. This book is about helping you improve your personal skills so that when you get a job you can work alone. If you improve your personal process then it makes sense that you'll be a stronger contributor on a team. It also means you can start and develop your own ideas, which is where the vast majority of projects start.

Previous Lesson Next Lesson

Register for Learn More Python the Hard Way

Register today for the course and get the all currently available videos and lessons, plus all future modules for no extra charge.