
The Self-Taught Programmer: The Definitive Guide to Programming Professionally
Original price was: $21.87.$5.00Current price is: $5.00.
PDF 40,19 MB • Pages: 278
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?
23 reviews for The Self-Taught Programmer: The Definitive Guide to Programming Professionally
You must be logged in to post a review.
Michael C. Stutzenburg (verified owner) –
Having two kids with plenty of bills to pay, I don’t have the time or money for school, so I was looking for some resources for learning to code. This book is concise and to the point learning. You learn quickly with lots of example programs and challenges. Cory keeps the simple steps of programming at the beginning of the book and leads you through the tougher concepts of object oriented programming towards the end of the book. Its a short book, so if you want to expand your knowledge about a particular subject, all you have to do is go online. He gives lots of tips for anyone who wants a career change or if you are just out of school looking for work.
Claire W. Rigodanzo (verified owner) –
This book is a roadmap of the practical skills necessary to become a computer science career-ready candidate. While it can absolutely guide the novice to develop expertise, it’s also valuable for current computer science students because it goes beyond academic cs skills and covers the technical skills that employers are currently seeking. As an additional bonus, the end of the book focuses on the job search process with excellent advice on preparation for technical interviews and how to get noticed by recruiters to score that first interview.
I’m a career coach and will be using this book to prepare my clients for technical job interviews.
Robert Wilson (verified owner) –
I’m enjoying The Self -Taught Programmer.
Because I elected to use Python’s latest release, some of the syntax in the book’s examples will not run as written, and one must figure out the “why” for one’s selves, as well as search for the correct syntax
There are plenty of websites teaching Python and most are up to date with the new conventions, etc.
All this means, if one is not afraid to dive in and figure things out for one’s self, I recommend a purchase. If one is a bit skittish and wants all examples to run as written, you may want to look elsewhere or at least look for a download of the book’s version of Python..
However, if one does not want to figure things out for one’s self, is one ready for programming?
Dusk (verified owner) –
From a beginner point of view this is a really excellent book to really learn the basics of not just a language, but the skills you need within the industry, going over important topics such as version control, regular expressions, and evne bash scripts. The most important point I feel that this book does a really good job maintaining is that a language is simply a tool at the end of the day, anyone can learn the syntax of a language. But learning application, the universal psudeocode of certain methods, and applying problem solving is something that requires practice and experience. I believe that using this as a starting point to dive into the topics that you want to apply yourself towards is the way I would honestly approach this book, and understanding that even while you read this you will need to do research and pratice of your own accord in conjecture to really get a good sense of the skills addressed in this book.
powder (verified owner) –
It’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.
ChemTeacher (verified owner) –
I am enjoying this book, as it is broken up into easily doable portions for turbulent lives. If I need to review, there is no digging to find the information I need. I’m in the middle of changing careers, but still need to work. In the meantime, I’m working my way through this book, in the hopes of gaining a nice base of information in Python, and expect that I will keep it for reference, later on.
The learning is in the doing, without a lot of verbiage to confuse you. The information is all there, though. I’m so grateful to have found this book!
Linda “K” (verified owner) –
I’m ambivalent about this book. It’s a good beginning guide to Python plus some practical advice on the profession of development (interviewing, toolchains, team dynamics). But I’m not sure of the desired audience. There’s no one thing it does well that’s not better covered by other sources. While the writing style is OK the organization and layout could use some work. My general impression is this is a good book in need of better technical editing. I’ve rated it higher than these comments might suggest because I think the book serves a purpose but I also believe it could be better. If nothing else, it’s a reasonable introductory Python text but take the guidelines and conclusions about interviewing and teams with a large grain of salt. My guess is the author might agree; he’s telling his story and offering (admittedly useful) suggestions for a path that worked for him but there’s a lot of over-simplification and generalisation.
Kyle (verified owner) –
As someone with no prior programming experience, this book was a delightful first foray into the programming world. In nearly every chapter I experienced an “aha!” moment- a fact that definitely reinforced my enthusiasm while reading through. This book is segmented into easily digestible chunks, which aids in its readability and re-readability. You could read this book for fifteen minutes during a coffee break or you could whittle away an evening working through the post chapter challenges and, in either case, feel as though you had not wasted a second. The Self-Taught Programmer has helped to evolve my curiosity into a great interest- one which I cannot wait to explore further.
Lloyd Garrick (verified owner) –
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!
Oliver Flinck (verified owner) –
Got me started with Python and worked great to geat familiar with the language. This will be a good base when starting working with machine learning in Python, instead of R and Matlab. I have been scripting Matlab quite a lot and was familiar with almsot all of the concepts since before, but the books worked as a great refresher of my knowledge. 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.
AAK @mercator88 (verified owner) –
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.
Benjamin Liles (verified owner) –
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.
Gbutler288 (verified owner) –
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!
Derek Ricke (verified owner) –
This book provides great explanations of core programming concepts and would save a lot of effort for anyone new to programming, even if they are going through a more formal course. I would like to a see a more readable typeface, and perhaps a few more charts & graphics in a future revision. The current layout is a bit of a detractor to the otherwise great content.
Mike R (NJ) (verified owner) –
I bought this book as a network engineer with basic procedural programming knowledge (C and BASIC) and found it to be extremely informative and a great jumping off point to using Python and OOP professionally. It only scratches the surface but upon finishing it I feel that I’m in a great position to learn more and begin to leverage Python at work for automation.
Armando Leon (verified owner) –
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.
Christopher D. (verified owner) –
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.
HorrorFilms (verified owner) –
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!
Brian (verified owner) –
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
Eric (verified owner) –
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.
M. Fraley (verified owner) –
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.
EDIT: The more I move through the book, the more irritated I get by the occasional sloppy formatting, because you have to spend time deciphering if certain punctuation is part of the code example or added simply for grammatical purposes. Difficult to explain here but IYKYK.
Also, I’m finding that the author sometimes seems to cheat on practice exercises. He’ll give a prompt for you to accomplish some task (presumably answerable from the information provided in the chapter). You’ll work for ages on a solution, and in giving up and looking for how he solved it, he’ll use some end-run solution using other means.
For example, in Chapter 6, he’ll say “take the list [“the”, “fox”, “jumped”, “over”, “the”, “fence”, “.”] and turn it into a grammatically correct string with spaces between all the words but no space between the word ‘fox’ and the period.”
Great, alright…[work for 20 minutes]. Go to the solution, and the dude prints all the words up through “fence”, and just drops the period, and then tacks it back on at the end. That’s not turning the list into a sentence like the prompt said, it’s just chopping parts out of it and then re-adding elements back in to technically get the same result. Very aggravating.
Here is his solution to the exercise above (from Ch. 6-it’s Python). The sleight of hand happens at line 3:
1. fox = [“The”, “fox”, “jumped”, “over”, “the”, “fence”, “.”]
2. fox = ” “.join(fox)
3. fox = fox[0: -2] + “.”
4. print(fox)
He does that kind of thing more than occasionally. Now it could be that I’m being unreasonable in what I’m expecting. Maybe there is a more direct way to do that, and it’s just too early on to have learned that. Maybe he’s trying to encourage creative problem solving. But I don’t want to learn how to code with duct tape that *technically* functions but is trash code, I want to learn how to code.
[/rant/
Nick (verified owner) –
If you can see beyond the many typos, the content is very productive.
nathan last (verified owner) –
Well written book, suitable for all ages. Explaining the basic from scratch, and opening many doors for further learning. I really enjoyed it, and recommend it for everyone looking for learning python and programming basics.