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 six 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, regular expressions and databases. Then use your new coding skills to build a web scraper.
4. Study Computer Science fundamentals including computer architecture, data structures, algorithms and network programming.
5. Learn to program for production: I cover the software development process, testing, and best coding practices.
6. Finish with tips for working with a team and landing a programming job.
You CAN learn to program professionally. The path is there. Will you take it?
Table of Contents
Book Review by Grass_Tiger
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.
“I always keep a few copies of The Self-Taught Programmer around to give to anyone that comes to me for career advice.”–Robin Abrams, Board Member, HCL Technologies, FactSet Research, Lattice Semiconductor and Sierra Wireless
“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 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. Another note: this book is meant for new programmers. If you already are a professional programmer, this book is probably not the right book for you.
I hope you learn as much reading my book as I did writing it. Best of luck with your programming!
We also Recommend
- Accelerate by Nicole Forsgren Pdf
- The New New Thing by Michael Lewis Pdf
- The Unicorn Project by Gene Kim Pdf
- Machine, Platform, Crowd by Andrew McAfee Pdf
- The Secret Story of the Dark Web by Mailhiot Derek Pdf
- Fundamentals of Game Design, 3rd Edition by Ernest Adams Pdf
- HTML & CSS by Daniel Bell Pdf
- The Ultimate AWS Certified Cloud Practitioner Training Manual by iCertify Training Pdf
- Python Programming by Daniel Howard Pdf
Originally published: 24 January 2017