The Self-Taught Programmer: The Definitive Guide to Programming Professionally

by: Cory Althoff (0)

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 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?

The Reviews

This book isn't quite what I thought it was. There are lots of free resources and free online versions of many IT books, including for Python. I thought this one would be about the "other" things you need to know as a programmer that you might have missed in not getting a degree. But no, this is "just" another book about how to program in Python. BUT, it is a good one. Is this one worth the $5 on Kindle? Perhaps. Finding a book that doesn't progress too quickly for the beginner is not easy. Finding a book with good exercises isn't easy either. I've read a bunch because it's taking me a while to get a grasp on Python. I just finished Chapter 4 and so far am really liking this book. I bought the Kindle version which has been more than adequate. In fact, I've done most of the reading on the go on my phone, then when I get home I work through the exercises at the end of the chapters. The set of exercises at the end of each chapter start easy, then the next exercise gets a little more involved, then a little more involved, till you have practiced the main ideas in that chapter. I really like this. If I run into a difficulty, I know exactly where to look for the answer, because only one new concept per exercise was called for. From the courses I've done on Coursera and EdX, and a couple online Python books, I'd say I like these exercises the best. I just wish there were more of them. I'm not sure it gives answers to the questions, since I haven't seen any, but I haven't needed any. I haven't had any problems with the Kindle version. Each example has a link to a webpage that includes the example. This is useful, because the example lines sometimes are longer than the Kindle can display, so you can't see the end of the line.Overall, I wouldn't really expect much more than the other Python books out there offer, but I think the manner of his presentation might be a bit more "down to earth" for the beginner. If you are having trouble following a lot of the books and courses on Python, I'd recommend that you press on and read more books and take more courses and don't let yourself get stuck on the bits that seem hard right now. It all slowly starts making sense as you go on, things get cemented in your memory, and the different approaches to explaining things start helping you to fill in your gaps.I wouldn't say this is the best book out there, but I think it might be one of the better beginner's books. I also wouldn't say this tells you much more about programming in general than the other beginning books out there. Take a look for free IT books on the web and you'll find a lot, though when you find one you love, you might want to buy it to have it on hand and to support the author. So, I have mixed feelings about this one based on what it seemed to present itself as, but for what it is, it's pretty good.

This book does offer insight but is limited in depth and detailedness. Without proper background you will learn the bare minimum of Python, Git, Pip etc. that is less than satisfactory. You will be better off with a few Udemy courses.The author attempts to prepare you for every aspect of becoming a developer while even teaching you to code. This is an impossible quest that results in a shallow book.Instead I would definitely offer "The Complete Software Developer's Career Guide by John Somnez.

After learning FORTRAN and procedural programming decades ago, I was at a lost when trying to retool with OOP languages such as Python. I read a couple of books that went over code and concepts. But I felt like something was missing. I could write simplistic programs but didn't think I was utilizing the full benefit of Python.Althoff's book helped fill in the gaps. He gave the most lucid explanation of OOP concepts that I've come across, as well as touching on practical subjects such as the command line, bash, regex, and GitHub. As a result I feel more empowered to write meaningful code. There's also a lot of good advice in the book about how to code.Other books will contain more information about syntax and GUIs. Read one of them, then buy Althoff's book. It's really a must-read if you're trying to learn Python on your own.

I started reading this book without any prior experience with programming. I finished with a solid, overview level understanding of the various skills and technologies necessary to work as an entry-level software developer. To get the most out of the book, I recommend:1) Read the book quickly cover-to-cover, glossing over any confusing parts.2) Read it again, more slowly, doing every exercise and typing/compiling every line of example code.

This book is one of the best, if not the best, resources I have come across to use when I decided to begin teaching myself how to code. The content is clear and concisely presented in steps that gradually build on each other in a way that allows you to follow along smoothly. This book also tackles the questions I had (and even a few I didn't know I SHOULD have had) about breaking into the programming industry as a self-taught programmer. I've finished working through this book, but I still use it as a reference for when I come across code that is confusing or poorly written to break it down and figure it out. I highly recommend this book to ALL people who decide to venture out and teach themselves programming.

This book is hands down an absolute must to have. Not even joking. If you ever find yourself in that mode of "I am missing a fundamental!". This book has it covered. All the py3 essentials.It's worth the money for sure.

The self taught programmer is the ideal book for anyone new to programming. I've purchased a few other books on Python and have always struggled with all of the practice examples as they all pertained to solving mathematical equations. Cory is brilliant in providing examples throughout the lesson and then applying real world practice questions to compliment and test your comprehension of the material. His technique in presenting complex topics in simple terms that everyone can understand is really what makes this book shine. So why are you still reading my review? Get The Self Taught Programmer and begin your journey into Python and a new Programming career!

This book covers the most important stuff about python but you still need to learn more online searching in places like w3schools and others. But it's really simply explained for novice programmers. Also has tips for getting your first job! Good job!

A lot of people claim this book, "Isn't what they thought it would be," but for me it's what I exactly thought it would be. You see, I've been coding for most of my life trying to find something that would work for me. So, when I say I like Cory Althoff's book The Self-Taught Programmer, I truly mean it. To me, space is everything so I will put this as best I can: you can learn Python programming very simply from him with this simple, small book. He gives you the tools that helped him be the Python programmer he is. I think that says it all.

I wish I read this book when I started my career. I too felt the pains the author felt when he started his career. I have a friend wanting to start a career in programming. I wanted to read it before I recommend it to him. I think this book perfectly compartemalizes what you should look at or things to learn right after you learn to code. If you're a engineer beginning your career , this book will help. If you're a year or 2 in for your career, this book contains info you've already picked up. I won't discredit it because of that. In my book it's a 5 star-rating because the author accomplished the goal he set, with the intended audience he had in mind.

Good book. Moves a little fast at the beginning hosing you with vocabulary and concepts but there’s probably only so much that can be done with that. The book hasn’t been updated recently however, which is more problematic in my mind. There are minor differences in the examples given and what the most recent version of Python will do. So far nothing major but given how rapidly the coding world evolves, it surprised me that the author is letting it slowly fall into obsolescence.

I program in Java and I attempted to make it through a very fast apprenticeship-book camp and got seven weeks in before dropping out. A lot of the material he talked about in what makes a professional programmer different: testing, logging etc… are spot on.I didn’t actually do any of the Python code, but I skipped to the end material, everything after bash. It is worth a read, and the only reason I am giving less than five stars is that I believe the author should have expanded on what logging and testing look like in more detail.

I am an HVAC designer by trade (no programming at all). After reading this book I feel equipped to change careers if I ever wanted to! This book lays things out very well and let’s you get straight to the coding! Don’t worry, theory is discussed too, but this book focuses on practicality…which is rarely used as a starting point in any engineering discipline. 10/10 would recommend


VERY well written, excellent style. If you are a complete beginner it may advance too rapidly; it actually starts out quite basic, and if you are intermediate level and have been playing with Python for a while (as I) you can just breeze over the elementary stuff. I found the chapter(s) on OOP (classes etc.) particularly useful. I have been doing mostly functional and procedural type short programs and haven't paid much attention to OOP. But I am trying to get a handle on it now, (as I must if I'm gonna get anywhere with GA). The concepts were explained with code examples very clearly and in few pages! The section on BaSH is mostly review-over for me as I have been using Linux for a while now, but if you are also new to Linux (and you should get into it and dump MS ... don't get me started ...) it provides a very good intro to the command line and basic Linux usage, as well as "regular expressions" which are very good to know and apparently trip a lot of people up learning. You can even download the code snippets if you are too lazy to type them in (using the tinyurl web site).I am now working on the web scraper and plan to elaborate it for my own use (hint: don't you hate it when cool web sites won't 'let' you download the videos and full size pics ...).Recommend highly!

I am really disappointed.The book is boring.

Have bought his other book as well. Started my first scripting class with python and this helps out a lot

the book is well written by somebody who is familiar with the subject

If you can see beyond the many typos, the content is very productive.

The Self-Taught Programmer: The Definitive Guide to Programming Professionally
⭐ 4.5 💛 1604
paperback: $19.03
Buy the Book