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