
Amazon Prime Free Trial
FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with FREE Delivery" below the Add to Cart button and confirm your Prime free trial.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited FREE Prime delivery
- Streaming of thousands of movies and TV shows with limited ads on Prime Video.
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
-31% $14.99$14.99
Ships from: Amazon Sold by: Babs Books
Save with Used - Good
$10.01$10.01
Ships from: Amazon Sold by: Couch Rock Market
Return this item for free
We offer easy, convenient returns with at least one free return option: no shipping charges. All returns must comply with our returns policy.
Learn more about free returns.- Go to your orders and start the return
- Select your preferred free shipping option
- Drop off and leave!

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
The Self-Taught Programmer: The Definitive Guide to Programming Professionally Paperback – January 24, 2017
Purchase options and add-ons
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?
- Print length299 pages
- LanguageEnglish
- Publication dateJanuary 24, 2017
- Dimensions7.5 x 0.68 x 9.25 inches
- ISBN-100999685902
- ISBN-13978-0999685907

Explore your book, then jump right back to where you left off with Page Flip.
View high quality images that let you zoom in to take a closer look.
Enjoy features only possible in digital – start reading right away, carry your library with you, adjust the font, create shareable notes and highlights, and more.
Discover additional details about the events, people, and places in your book, with Wikipedia integration.
Frequently bought together

Customers who viewed this item also viewed
- To improve your programming skills, you should practice programming every day.Highlighted by 1,422 Kindle readers
- A string is a sequence of one or more characters surrounded by quotes.Highlighted by 1,200 Kindle readers
- Variable names can only contain letters, numbers, and the underscore symbol.Highlighted by 1,076 Kindle readers
Editorial Reviews
Review
"Want to learn to program professionally? Follow Cory's advice."-- David Phillips, Co-Founder, Hackbright Academy
"I am incredibly impressed with this book." --JoAnn Buchanan, Senior Research Associate, Allen Institute for Brain Science
"Learning to program is increasingly important in finance. Althoff's book taught me the skills I need to stay competitive." --Derek Schaefer, Senior Finance Manager, Charles Schwab
"The Self-Taught Programmer was a pleasure to read--something I never thought I would say about a technical book."--Melinda Sacks, Former Writer, Editor, San Jose Mercury News
"One of the best Software Design books of all time" -- BookAuthority
From the Author
I hope you learn as much reading my book as I did writing it. Best of luck with your programming!
Product details
- Publisher : Self-Taught Media (January 24, 2017)
- Language : English
- Paperback : 299 pages
- ISBN-10 : 0999685902
- ISBN-13 : 978-0999685907
- Item Weight : 1.14 pounds
- Dimensions : 7.5 x 0.68 x 9.25 inches
- Best Sellers Rank: #105,638 in Books (See Top 100 in Books)
- #50 in Microsoft Programming (Books)
- #67 in Introductory & Beginning Programming
- #87 in Python Programming
- Customer Reviews:
Videos
Videos for this product
0:08
Click to play video
Customer Review: Excellent read very informativeChuck
About the author

Cory Althoff is an executive and author whose work includes The Self-Taught Programmer and The Self-Taught Computer Scientist. After graduating from Clemson University with a major in political science, he taught himself to program, eventually becoming a software engineer at eBay. His books have been translated into eight languages, and he has been featured in publications like Forbes and CNBC. Cory is a senior vice president at CompTIA, the leading IT certification provider for the global technology industry and its workforce.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonCustomers say
Customers find the book effective for learning programming basics and appreciate its easy-to-follow content and inspirational challenges at the end of each chapter. Moreover, they consider it worth the money and praise its readability, with one customer noting it reads like a story. However, the book receives mixed feedback regarding its functionality and layout, with some finding it well-organized while others consider it essentially useless. Additionally, the formatting is problematic, with many typographical errors and code samples displaying incorrectly.
AI-generated from the text of customer reviews
Customers find the book easy to use, particularly as a guide for learning programming basics, with one customer noting it does an outstanding job of explaining techniques.
"...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..." Read more
"...All in all a good resource that will help guide someone that's learning on their own on how to understand the language and achieve basic competence." Read more
"...the best book out there, but I think it might be one of the better beginner's books...." Read more
"...For the first time in my life I am actually writing in Python. I'm only on chapter three and I've already learned so much...." Read more
Customers find the book inspiring, particularly appreciating the challenges at the end of each chapter and the motivational quotes that start each section.
"...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..." Read more
"...From the moment it arrived I was hooked. Each chapter starts with an inspirational quote that motivates you to keep going forward...." Read more
"...You learn quickly with lots of example programs and challenges...." Read more
"...It also inspired me to do some developing and I have started playing with a raspberry pi, something I really hdn't planned when taking up the book." Read more
Customers find the book easy to read, with one mentioning it reads like a story and another noting it maintains a decent pace.
"...The entire book reads like a story and when things are explained it not only makes you ask questions, but they are answered in the next section...." Read more
"...All in small chunks. A Great read end to end or review/refresher as a per topic reference..(my use case). Enjoyed it much.." Read more
"...Not suitable for anyone but a beginner looking to learn quickly. Fast and not so dirty but honest." Read more
"Nice book, not drowning in information. Keeping me reading at a decent pace." Read more
Customers find the book worth the money.
"...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...." Read more
"...This book has it covered. All the py3 essentials. It's worth the money for sure." Read more
"For 2.99, this is one of the best three dollars that you will ever spend. This is a great book to start programming with, and for three dollars?..." Read more
"...more focused on other obligations but definitely worth the buy to get started with programming, even bought my brother one!" Read more
Customers appreciate how the book is segmented into easily digestible chunks.
"...This book is segmented into easily digestible chunks, which aids in its readability and re-readability...." Read more
"I am enjoying this book, as it is broken up into easily doable portions for turbulent lives...." Read more
"...All in small chunks. A Great read end to end or review/refresher as a per topic reference..(my use case). Enjoyed it much.." Read more
"Very easy to read and digest." Read more
Customers have mixed experiences with the book's functionality, with some saying it worked for them while others find it essentially useless.
"Got me started with Python and worked great to geat familiar with the language...." Read more
"...given such high ratings when so early in the book, example code doesn't work as explained...." Read more
"...into more advanced subjects, on top of teaching you about OOP, functional programming, ect.. Buy this book, you will not regret it." Read more
"...The content here is so thin as to be essentially useless...." Read more
Customers have mixed opinions about the book's layout, with some finding it well organized, while others report issues with superficial content, poor illustrations, and inadequate examples.
"...While the writing style is OK the organization and layout could use some work...." Read more
"...and I could forgive this if the content was good, the print in the examples in pathetic. It looks like a 4th recopy from a 25 year old copy machine...." Read more
"...This book lays things out very well and let’s you get straight to the coding!..." Read more
"...Seems way too basic. Many of us have programmed but want to learn how to develop. This doesn't seem to help too much." Read more
Customers report issues with the book's formatting, mentioning typographical errors and code samples that display incorrectly, with one customer noting that the text is cut-off on the right.
"...I move through the book, the more irritated I get by the occasional sloppy formatting, because you have to spend time deciphering if certain..." Read more
"...There are also few very annoying typos in the book. I highly recommend it!" Read more
"...of information is bad, with no good illustrations and proper development of coding...." Read more
"...and retain alot of basics quickly but this really covered only a small part of python programming. Otherwise still a good book." Read more
Top reviews from the United States
There was a problem filtering reviews. Please reload the page.
- Reviewed in the United States on September 14, 2017VERY 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!
- Reviewed in the United States on April 23, 2017It's a great book for any new python programmer, especially those that learn in the self-taught way. It has a lot of examples and explanations that allow a reader to build the mental model of the language through experimentation. It is one of few books that adequately covered things in the way that you tend to model things when you -are- learning on your own. There's normally a strong possibility for gaps in knowledge when teaching yourself due to the way you can make assumptions without testing what the results would be, and this book doesn't necessarily cover ALL of them, but it does a good job with the numerous code samples of providing you fairly complete mental models of what's going on when you do various tasks in Python.
I love that it takes that approach. I do wish that it covered some more of what is considered idiomatic in Python, but, that's very much a minor gripe on an excellent text for a certain kind of mindset and way of learning. Even with that being said there are a few chapters near the end that cover some best practices and ideas, but, not as deeply as I typically think about them.
All in all a good resource that will help guide someone that's learning on their own on how to understand the language and achieve basic competence.
- Reviewed in the United States on April 22, 2017This 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.
- Reviewed in the United States on March 30, 2017I'm not big into writing reviews but I had to write this for someone that once felt like me. I thought I was dumb, I couldn't grasp the concept of Python or any other language. I've tried codecademy, and online courses all ending in failure. I saw Corey on a talk show and immediately added his book to my Amazon cart. From the moment it arrived I was hooked. Each chapter starts with an inspirational quote that motivates you to keep going forward. I wanted to learn python so that I could get a job in the QA industry. After reading just a few chapters, I've decided that I want to be a software engineer. The entire book reads like a story and when things are explained it not only makes you ask questions, but they are answered in the next section. For the first time in my life I am actually writing in Python. I'm only on chapter three and I've already learned so much. For the people that haven't had much luck learning, this book is definitely for you. You are not alone. Everyone can learn from this book.
Top reviews from other countries
-
Kullanmaya başlayınca faydasını gördümReviewed in Turkey on November 9, 2024
1.0 out of 5 stars Kotu
Kötü
- BohneReviewed in Germany on August 4, 2020
1.0 out of 5 stars Misleading Booktitle
Normally I don't give 1-Star, but this book here is totally nonsense in regards of its title. What is covered here are the basics for python and the absolute basics for bash control (like seriouly absolute basics and nothing more). You kind of expect an in depth explanation of design patterns used in the industry, standards to strive for etc. but nothing of this is in this book but only a bunch of tutorials you can easily find on the internet and for sure this book is not worth, what it costs. In regards I will send it back because I don't want to support this kind of "Book-Clickbaiting".
Sincerely, not a hater.
-
Chris PaggenReviewed in France on May 14, 2017
4.0 out of 5 stars Super pour mon ado!
Tres bonne approche a la programmation. J'ai achete ce livre pour mon ado (15 ans) qui s'interesse au sujet. Le bouquin est facile a suivre pour un passionne. Ca ne regorge pas d'algorithmes, de theorie et de maths - c'est direct dans l'action via un max d'essais pratiques.
Mon ado a installe Python par lui-meme apres avoir commence ce livre et me pose des questions sur les exercices. Mission accomplie!
- Saidalavi ktReviewed in India on July 15, 2024
5.0 out of 5 stars Good
Good
- Mr Roy M. (Nottingham)Reviewed in the United Kingdom on January 21, 2024
5.0 out of 5 stars Excellent book ✅️ 😊
I am still working through this book but so far I have found it to be excellent. Definitely worth the money spent.
Cory explains really well, with examples and provides solutions that are in light print, compared to the rest of the reading text.
When you first download and install Python, I strongly recommend it is the latest version and to also download and install 'PyCharm' instead of 'Idle' which you need to enter your coding and to run it.
Idle is very basic, looks like notepad on a pc whereas PyCharm looks way better, easier to edit your coding and makes the learning process far more enjoyable. Download the free 'Community Version' of PyCharm, for now.
You can install both if you want and see what you think.
I've placed shortcuts on my laptop homescreen to launch the program quickly. You can, of course, have Idle/PyCharm icon on your lower screen taskbar so it's automatically there every time you turn your pc on.
Criticisms of the book ......
The paper quality of the book is poor but overall I still give 5✴️ (5 stars).
When you come to the subject of one of four data structures, namely 'Dictionary',
you must make sure you use curly brackets {} for this, which contains your elements and NOT parentheses ()
As mentioned, because the print is light in the examples and the font being a bit small, it is very easy to mistake the brackets for normal curved parentheses ()
Talking about data structures, Cory does NOT mention the 'Set' data structure which is used for unique special elements and works very well when you are dealing with 'union', 'intersection' ....
I also recommend that you work through the book slowly at a pace you are happy with and practice typing in the coding to boost your confidence and to see the result of your efforts. You will make errors in your coding and so see red error messages telling you on which line number your error is on, which can be very frustrating especially if you struggle to see the problem, but don't let that deter you.
I have learnt a lot already and I'm amazed and very pleased with how much I now know about Python, so thoroughly enjoying it, over the past month or so since I started as a beginner. You must be patient, keep at it and only do small manageable chunks at a time, not too much in one day. Experiment with the coding and see what the result is. Take notes to help you. I take screen shots on my mobile phone as well, to quickly view a program and refreshing myself with what I have learnt, without carrying a book or laptop with you, which I find does helps a lot in the learning process.
Take a look at other resources, online for example to help you understand and progress.
If you are stuck, Google the issue where you will find many useful helpful comments.
If you purchase from Amazon, download the free sample that is often provided to give you a taster of the book you are looking at. Also, make sure you read the reviews so you know what others think before you decide to buy or not. Take a look at the books publication date as well as some books are a number of years old and so there's a good chance the coding programs would of been run on an older version of Python.
I hope I have helped and given you some encouragement, if only a little. God bless you, enjoy! :)