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

4.0/5 · 900+ ratings

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 t…

Reviews

Liam

★ 3/5
This was my first time finishing a full technical book in English, and it turned out to be a great experience. It's a solid resource for anyone diving into Python or general programming concepts because the progression is logical and the language remains accessible for those with basic IT knowledge. I really appreciated the practical examples you can actually run, plus the second half offers a helpful overview of essential non-coding skills every developer needs. While I usually stick to podcasts and videos for learning, sitting down with a comprehensive book like this definitely adds a deeper layer of understanding.

Mateo

★ 4/5
This guide serves as an excellent refresher for anyone who's already comfortable with another programming language and needs to pick up Python quickly. While it lacks the depth of examples required for a true novice, the author explicitly states that it's designed for those with prior experience. The exercises are engaging, and I particularly appreciated that the solutions are hosted on GitHub rather than cluttering the back of the book. It's a solid resource to grab if you're prepping for technical interviews and want to sharpen your Python skills.

Anya

★ 4/5
Althoff's guide is a solid roadmap for anyone looking to transition from a beginner to a professional developer using Python as the foundation. It covers the basics before diving into practical tools like the Bash shell, and the optional challenges at the end of each section really help reinforce the material. Even though I've already got some experience under my belt, I found the progression logical and the overall delivery quite engaging.

Anya

★ 1/5
The title is incredibly misleading since it promises a guide to professional craftsmanship but delivers a shallow glossary of terms instead. It's like trying to learn computer science from a fire hose that's mostly air, offering zero depth on the dozens of topics it briefly touches upon. Beginners would be better off using Google for free, while anyone with actual experience will find the content redundant and basic. You're basically getting a rushed Python intro paired with some surface-level OOP vocabulary that doesn't help you grow as a developer.

Anya

★ 3/5
While the title's a bit of a stretch since the first half focuses heavily on Python syntax rather than general concepts, it's still a solid resource for newcomers. The sections on data structures felt way too brief, but the author really shines when explaining Regex and basic Bash skills. It's an easy read with practical career tips on mentorship that make it worth picking up if you're just starting out.

Javier

★ 4/5
While the sections on Bash and data structures offered a solid starting point, the book didn't quite deliver the deep personal narrative I was craving. I'd hoped for a detailed account of the actual struggle involved in mastering logic and building executables, but the author kept things a bit too surface-level regarding their own learning hurdles. It's a decent guide for direction, though it lacks the gritty, step-by-step storytelling that truly captures the journey of becoming a programmer.

Mateo

★ 5/5
This is exactly the guide I needed when I was first starting out. It perfectly organizes the essential steps to take once you've mastered the basics of coding, making it an ideal recommendation for anyone looking to break into the industry. While the material might feel like a refresher for those with a couple of years under their belts, it hits the mark for its intended audience. The author really nailed the goal of helping junior engineers navigate those tricky early stages of a career.

Dante

★ 1/5
This guide is a massive disappointment that fails to deliver on its promising premise. The technical instruction is too shallow to be useful for actual coding, and the career advice doesn't offer anything beyond empty clichés. It's a total waste of time because it lacks the specific direction or language recommendations a self-taught developer actually needs.

Mateo

★ 2/5
This guide covers a broad range of topics like SQL and data structures, but it lacks the depth needed for anyone beyond the beginner stage. It's clearly designed for people without a computer science background who are just starting their journey, rather than established professionals looking for advanced insights. You'll definitely need to find more detailed resources once you've finished this because it simplifies complex concepts quite a bit.

Eleanor

★ 3/5
This guide is a fantastic roadmap for anyone trying to break into tech through non-traditional paths. It doesn't just teach Python and algorithms, but actually dives into the professional side of things like networking and job hunting. Althoff's clear style makes the transition from a total beginner to a career-ready developer feel much more attainable.

Elena

★ 4/5
Althoff's guide is a fantastic resource for beginners, even for someone like me who already has a degree in a related field but still feels like a novice. While the fundamental definitions are clear, the final sections where everything comes together are quite a challenge to apply practically. The career advice and additional book recommendations are absolute gems for anyone aiming for a future in AI. It took me months to finally push through to the end, but finishing the last chunk in one sitting proved that focus is everything. Programming remains a puzzle, but this book provided the necessary spark to keep me committed to my daily coding journey.

Chloe

★ 3/5
The author provides solid, practical guidance for anyone looking to break into the industry or land their first coding job. While the career advice aligns perfectly with what I've researched as a hobbyist, the book suffers from a bit of an identity crisis by trying to teach both professional development and actual syntax. Because it attempts to cover so much ground, it skims over essential technical topics like Git and Python classes that really deserved more depth.

Priya

★ 4/5
Cory Althoff has delivered another fantastic guide that perfectly captures the thrill of teaching yourself to code. The writing is incredibly engaging and makes the constant evolution of the tech industry feel like an exciting challenge rather than a chore. It's a great follow-up to his previous work and really emphasizes why staying adaptable is the key to a successful programming career. You'll walk away feeling empowered to keep learning and growing in this fast-paced field.

Priya

★ 3/5
This guide offers a solid foundation for anyone starting their coding journey by covering everything from Python basics to the realities of the job market. It doesn't just teach you how to write code; it dives into essential professional tools like Git and explains why soft skills and clean code actually matter in a team setting. You'll find the sections on data structures and interview prep particularly useful if you're looking to turn these new skills into a career.

Mateo

★ 4/5
This guide serves as a solid roadmap for anyone trying to break into the industry by blending Python basics with essential tools like Git and databases. While it covers a lot of ground, the technical explanations often lack the depth needed for anyone beyond a total novice. It's a great bird's-eye view of the profession, but you'll likely need supplementary materials to truly master the coding concepts mentioned.

Priya

★ 4/5
This guide serves as a decent introduction because it hits the essential high points. You'll definitely find yourself searching for a more advanced sequel to actually master the subject, though.

Elena

★ 5/5
This book's incredibly accessible and flows so naturally that I breezed right through it. The writing style is straightforward, making the whole experience a total joy.

Priya

★ 5/5
This book is a solid choice for anyone looking to build a strong Python foundation while getting comfortable with object-oriented programming and essential data structures. It's especially useful if your university courses are stuck in Java and you're eager to transition into a more modern, versatile language. You'll walk away with a firm grasp of core computer science concepts and algorithms.

Mateo

★ 5/5
This book provides a solid foundation for beginners and definitely served its purpose for my needs. It's quite elementary, but you'll get some decent hands-on experience with Python and various other tools.

Priya

★ 4/5
This guide's a solid pick for anyone starting their coding journey without any prior knowledge. Experienced developers might find it a bit basic, but it's still an easy read that offers a few fresh resources worth checking out.

Priya

★ 3/5
This guide serves as a solid entry point for anyone looking to grasp Python basics and the fundamentals of data structures without getting bogged down by unnecessary technical jargon. While the text itself lacks deep dives into complex topics, it excels at providing a broad roadmap and practical advice for landing freelance gigs. You'll definitely need to supplement this with intermediate material if you're aiming for a professional career, but the author's curated resource lists make that next step much easier. Pairing the book with its companion video course is the best way to get your money's worth since the standalone version feels a bit thin.

Anya

★ 2/5
This book's description is incredibly misleading because the author starts by criticizing other beginner guides for being too vague, only to deliver the exact same shallow content. It attempts to cover everything from Python basics to Git and algorithms in a few pages, which is completely useless for someone who just learned what a string is. I ended up skimming the second half since the career advice was just as generic as the technical sections. Don't waste your money on this when you can find better information for free with a quick search.

Priya

★ 4/5
This guide serves as a solid starting point for absolute beginners who feel overwhelmed by the sheer amount of peripheral knowledge required to actually use Python. It covers essential topics like the command line, regex, and version control that most introductory texts skip, making it a bargain if you can snag it on sale. While the depth is fairly shallow, it's a unique resource that helps demystify the broader programming landscape for those just starting their journey.

Mateo

★ 2/5
This wasn't what I expected at all since I was looking for a narrative about the journey of becoming a programmer. Instead, it's basically just a surface-level Python tutorial that briefly touches on tools like version control and databases. It might be worth picking up if you're a complete beginner, but anyone else will find it lacking.

Priya

★ 4/5
This guide serves as a solid entry point for anyone who's never touched a line of code before. It simplifies complex concepts into digestible pieces, making that initial leap into software development feel much less intimidating. While experienced programmers won't find much depth here, it's a perfect foundation for a total novice.

Anya

★ 3/5
This book provides a solid foundation for data engineering principles, but it's clearly showing its age. Since AI has taken over the industry, much of the material feels like it's from a different era.

Anya

★ 3/5
The premise of bridging the gap between beginner tutorials and professional development sounded fantastic, but the execution fell flat for me. It ended up being another basic Python introduction that didn't offer the intermediate insights or problem-solving strategies I was promised. While it's a decent starting point for someone who's never touched a line of code, anyone looking for that 'next level' transition should probably skip this one. The marketing definitely overpromised on the depth of the content provided.

Priya

★ 4/5
This guide offers a solid overview of the field, moving quickly from foundational concepts to professional standards without getting bogged down in unnecessary fluff. While the initial sections might feel like a simple refresher if you've already got a computer science degree, the final chapters on career practices are genuinely gold for anyone starting their first job. It's a perfect, concise resource for career switchers who need to grasp the essentials of everything from OOP to version control in one sitting.

Priya

★ 2/5
This guide falls short because it's far too basic for anyone who isn't a total novice. It tries to condense massive topics like professional development and Python basics into a tiny volume, but the result is just a shallow overview that lacks real substance. If you've ever touched a command line or used version control, you'll find this content redundant. You're much better off reading dedicated books on each subject rather than settling for this rudimentary summary.

Marcus

★ 3/5
While there are some decent tips scattered throughout, the content is far too shallow to be taken seriously. Claiming this guide is enough to launch a professional career is practically a scam because it lacks any real depth.
Shelves
Cory Althoff Coding Computers Software Programming Nonfiction book Computer Science Technology Technical Reference Science

More like this


Artificial Intelligence: A Modern Approach

For one or two-semester, undergraduate or graduate-level courses in Artificial Intelligence. The long-anticipated revision of this best-selling te…

4.0/5 · 900+ ratings

Learning Python

Portable, powerful, and a breeze to use, Python is the popular open source object-oriented programming language used for both standalone programs …

4.0/5 · 900+ ratings

Working Effectively with Legacy Code

Get more out of your legacy systems, more performance, functionality, reliability, and manageability.Is your code easy to change? Can you get near…

4.0/5 · 900+ ratings

Programming Pearls

"The first edition of Programming Pearls was one of the most influential books I read early in my career, and many of the insights I first encount…

4.0/5 · 900+ ratings

Algorithms

This fourth edition of Robert Sedgewick and Kevin Wayne's Algorithms is the leading textbook on algorithms today and is widely used in colleges an…

4.0/5 · 900+ ratings

Growing Object-Oriented Software, Guided by Tests

Foreword by Kent Beck "The authors of this book have led a revolution in the craft of programming by controlling the environment in which software…

4.0/5 · 900+ ratings

JavaScript: The Definitive Guide

This Fifth Edition is completely revised and expanded to cover JavaScript as it is used in today's Web 2.0 applications. This book is both an exam…

4.0/5 · 900+ ratings

Penguin Random House Python Crash Course

Python Crash Course is a fast-paced, thorough introduction to programming with Python that will have you writing programs, solving problems, and m…

4.0/5 · 900+ ratings

Advanced Programming in the UNIX Environment

Bestselling UNIX author Rich Stevens offers application and system programmers his professional, experienced-based guidance on using the system ca…

4.0/5 · 900+ ratings

Refactoring: Improving the Design of Existing Code

As the application of object technology—particularly the Java programming language—has become commonplace, a new problem has emerged to confront t…

4.0/5 · 900+ ratings

Test-Driven Development: By Example

Author: Kent Beck

Quite simply, test-driven development is meant to eliminate fear in application development. While some fear is healthy (often viewed as a conscie…

4.0/5 · 900+ ratings

Effective C++: 55 Specific Ways to Improve Your Programs and Designs

The Barnes & Noble Review Since early in the 90s, working C++ programmers have relied on Scott Meyers s Effective C++ to dramatically improve …

4.0/5 · 900+ ratings