Alerte : Maintenance en cours. Certains ouvrages sont temporairement indisponibles et reviendront bientôt.

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

Book Details
Title The Self-Taught Programmer: The Definitive Guide to Programming Professionally
Author(s) Cory Althoff
Publisher Triangle Connection LLC
Year 2017
Edition First Edition
Language English
Pages 283
ISBN 9780999685907
Genre / Domain Computers, Programming, Career Development
Series Unknown
Size 40.07 MB
Extension PDF

Summary

The Self-Taught Programmer: The Definitive Guide to Programming Professionally is a roadmap written specifically for those who have chosen to learn programming outside the traditional university system. Cory Althoff, the author, is himself a self-taught programmer who, after a year of intensive self-study, successfully landed a position as a Software Engineer II at eBay. However, his first day on the job revealed a significant gap between what he had taught himself and what professional software engineering actually demanded. This personal experience of feeling under-prepared, despite having passed the technical interview, became the driving force behind the book. Rather than simply teaching syntax, Althoff set out to create the guide he wished he had when transitioning from hobbyist coder to professional developer.

The book is structured as a progressive curriculum divided into five distinct sections, each building on the last. It begins with the fundamentals of programming using Python 3, taking readers from writing their very first program through functions, containers, loops, and modules. The second section dives into object-oriented programming, a paradigm that often confuses self-taught developers because it requires a different way of thinking about code organization. Althoff uses a practical Python application to solidify these concepts, moving beyond abstract theory. The third section introduces essential professional tools that are rarely covered in introductory tutorials: Git for version control, Bash for command-line operations, regular expressions for text processing, and databases. This section culminates in a practical project, building a web scraper, which forces readers to apply their accumulated skills in a realistic context.

The fourth section shifts focus to computer science fundamentals, including data structures and algorithms. Althoff argues that a working knowledge of these topics is essential for writing efficient code and, crucially, for passing the technical interviews that gatekeep many software engineering positions. He also touches on computer architecture and network programming, providing a broader context for how programs execute and communicate. The final section addresses the non-technical skills that are equally critical for professional success: best practices for writing maintainable code, strategies for working effectively within a team, and concrete advice on navigating the job search process, from crafting a resume to performing well in interviews. This holistic approach distinguishes the book from pure coding manuals.

The target audience is clearly the aspiring professional programmer who is charting their own path, whether a career changer, a recent graduate from a non-technical field, or a dedicated hobbyist seeking to go pro. Althoff writes with an awareness of the unique challenges self-taught learners face: the risk of knowledge gaps, the lack of a structured curriculum, and the uncertainty about what they don't know they don't know. The book is designed to fill those gaps systematically. While it assumes no prior programming experience, it moves at a pace suited to dedicated learners who are willing to practice. Reviewers have noted that complete beginners may find it advances quickly in places, making it particularly effective for those who have dabbled in code and now want a structured path toward professional competence.

Key Features

  • The book is structured as a five-part roadmap progressing from Python 3 fundamentals to professional job hunting strategies, ensuring comprehensive coverage of the self-taught journey.
  • It teaches object-oriented programming through a practical Python application, helping readers internalize concepts that often remain abstract in traditional tutorials.
  • Essential professional tools including Git, Bash, regular expressions, and databases are covered, addressing a common gap in self-taught education.
  • A complete web scraper project ties together earlier lessons, giving readers a tangible portfolio piece and practical experience applying their skills.
  • Computer science fundamentals such as data structures and algorithms are explained in accessible terms, preparing readers for technical interviews and efficient coding.
  • Dedicated sections address best coding practices, working effectively within a team, and the software development process, skills rarely taught in beginner books.
  • The final section provides concrete advice on landing a programming job, including tips for technical interviews and navigating the hiring process.
  • The author drew on his personal experience of transitioning from self-taught learner to eBay software engineer, ensuring the content addresses real-world challenges.
  • Over 300 code examples were verified by executing them in Python to ensure accuracy, and line numbers and color were added for readability.
  • A group of 200 new programmers beta-read the book to identify poorly explained concepts and errors, refining the material for clarity.
  • The book has received over 1,300 ratings on Amazon, indicating strong engagement from the self-taught programming community.
  • Author Cory Althoff went on to become a senior vice president at CompTIA and has been featured in Forbes and CNBC, lending credibility to his guidance.
  • The book has been translated into eight languages, making its roadmap accessible to a global audience of aspiring programmers.

About the Author

Cory Althoff is a self-taught programmer, author, and executive whose work focuses on making professional programming accessible to those learning outside traditional academic paths. After graduating from Clemson University with a major in Political Science, Althoff taught himself to program over the course of a year [citation:2][citation:10]. His diligent self-study paid off when he secured a position as a Software Engineer II at eBay, a role that he was initially under-prepared for despite passing the technical interview [citation:4][citation:12]. This experience of feeling overwhelmed by the volume of knowledge required in professional software engineering directly inspired The Self-Taught Programmer, which he wrote to provide others with the roadmap he lacked.

Beyond his debut book, Althoff has authored The Self-Taught Computer Scientist and has been featured in publications including Forbes and CNBC [citation:6][citation:10]. He has also created a thriving community of self-taught programmers through a popular Facebook group, blog, course, and newsletter, with over 250,000 developers participating [citation:6]. His books have been translated into eight languages and his work continues to reach a global audience. Professionally, Althoff currently serves as a senior vice president at CompTIA, the leading IT certification provider for the technology industry and its workforce, where he continues to influence how programmers are trained and credentialed [citation:10][citation:14].

Related Books

  • The Self-Taught Computer Scientist — Cory Althoff
  • Automate the Boring Stuff with Python — Al Sweigart
  • Python Crash Course — Eric Matthes
  • Eloquent JavaScript — Marijn Haverbeke
  • Cracking the Coding Interview — Gayle Laakmann McDowell
  • Clean Code — Robert C. Martin
  • The Pragmatic Programmer — Andrew Hunt and David Thomas

Ads

FAQ

Q : What makes The Self-Taught Programmer different from other introductory programming books?

R : Most introductory programming books focus exclusively on teaching syntax and basic concepts. This book goes further by addressing the professional skills that self-taught developers typically lack, such as version control with Git, command-line proficiency with Bash, and understanding of computer science fundamentals. It also covers the non-technical aspects of being a professional programmer: working with teams, writing maintainable code, and landing a job. The author wrote it specifically to fill the gaps he experienced after landing his first professional role at eBay.

Q : Do I need prior programming experience to benefit from this book?

R : No prior programming experience is required, though some reviewers have noted that complete beginners may find certain sections move quickly. The book begins with Python 3 fundamentals, taking readers through their first program and building up from there. It is particularly well-suited for those who have dabbled in coding on their own and now want a structured path toward professional competence. Dedicated learners willing to practice consistently will get the most from the material.

Q : Which programming language does the book use for its examples?

R : The book uses Python 3 throughout, chosen for its readability and suitability for beginners. Python is one of the most popular languages for learning programming and is widely used in professional contexts, making it an excellent foundation. The book also introduces Bash for command-line operations, Git for version control, and regular expressions for text processing, giving readers exposure to the broader toolset professional developers use daily.

Q : What is the web scraper project mentioned in the book?

R : The web scraper is a practical project that appears in the third section of the book, after readers have learned Python fundamentals and essential tools. It serves as a capstone experience, requiring readers to combine their Python skills with databases, regular expressions, and an understanding of how the web works. Building a web scraper demonstrates how programming can automate real-world tasks and provides a portfolio piece that shows practical competence. The project reinforces concepts through application rather than abstract exercises.

Q : How does the book prepare readers for technical interviews?

R : The fourth section covers computer science fundamentals including data structures and algorithms, which are the core topics tested in technical interviews. The final section provides direct advice on the job search process, including tips for performing well in interviews. By understanding why these fundamentals matter and how they are assessed, readers are better equipped to prepare effectively. The book's roadmap explicitly aims to take readers from writing their first program to passing their first technical interview.

Q : Is this book still relevant if I already know some programming?

R : Yes, the book is valuable for those with some programming experience because it fills knowledge gaps that self-taught learners often have. Even intermediate programmers may lack exposure to version control, proper testing practices, or computer science fundamentals. The professional skills sections on working in teams and best coding practices are relevant at any level. Reviewers who had prior experience found the book useful for organizing their knowledge and identifying areas for improvement.

Q : What tools does the book teach alongside Python?

R : The book covers Git for version control, Bash for command-line operations, regular expressions for pattern matching in text, and databases for storing and retrieving data. These tools are standard in professional development environments, yet they are rarely taught in beginner programming books. Learning them alongside Python gives readers a more complete picture of what professional programming entails and prepares them to work effectively on real projects.

Q : How was the technical accuracy of the book verified?

R : The author treated the book as a software project, writing a program to extract all code examples and execute them in Python to verify that the over 300 examples worked correctly. Software was then used to add line numbers and color to the examples for readability. A group of 200 new programmers beta-read the book to identify poorly explained concepts and catch any errors the automated checks missed. This rigorous verification process ensures readers can trust the code they are learning from.

Enregistrer un commentaire

Thanks for comment

Page précédente Accueil Page suivante

Post Share Buttons

Les plus populaires Voir la suite

Biblio-Sciences