'One of the best software design books of all time' - BookAuthorityCory Althoff is a self-taught programmer. After a year of self-study, he learned to program well enough to land a job as a software engineer II at eBay. But once he got there, he realised he was severely under-prepared. He was overwhelmed by the amount of things he needed to know but hadn't learned. His journey learning to program, and his experience in first software engineering job 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, Althoff 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. The book is divided into five 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 and regular expressions. Then use your new coding skills to build a web scraper. 4. Study computer science fundamentals like data structures and algorithms. 5. Finish with best coding practices, tips for working with a team and advice on landing a programming job.You can learn to program professionally. The path is there. Will you take it?From the authorI spent one year writing The Self-Taught Programmer. It was an exciting and rewarding experience. I treated my book like a software project. After I finished writing it, I created a program to pick out all of the code examples from the book and execute them in Python to make sure all 300+ examples worked properly. Then I wrote software to add line numbers and color to every code example. Finally, I had a group of 200 new programmers 'beta read' the book to identify poorly explained concepts and look for any errors my program missed. I hope you learn as much reading my book as I did writing it. Best of luck with your programming!