I am a self-taught programmer. After a year of self-study, I learned to program well enough to land a job as a software engineer II at eBay. Once I got there, I realized I was severely under-prepared. I was overwhelmed by the amount of things I needed to know but hadn't learned yet. My journey learning to program, and my experience at my first job as a software engineer were the inspiration for this book. This book is not just about learning to program; although you will learn to code. If you want to program professionally, it is not enough to learn to code; that is why, in addition to helping you learn to program, I also cover the rest of the things you need to know to program professionally that classes and books don't teach you. "The Self-taught Programmer" is a roadmap, a guide to take you from writing your first Python program, to passing your first technical interview. I divided the book into six sections: 1. Learn to program in Python 3 and build your first program. 2. Learn Object-oriented programming and create a powerful Python program to get you hooked. 3. Learn to use tools like Git, Bash, regular expressions and databases. Then use your new coding skills to build a web scraper. 4. Study Computer Science fundamentals including computer architecture, data structures, algorithms and network programming. 5. Learn to program for production: I cover the software development process, testing, and best coding practices.6. Finish with tips for working with a team and landing a programming job.You CAN learn to program professionally. The path is there. Will you take it?