50 Algorithms Every Programmer Should Know (Second Edition)

A new O’Reilly/Packt title, “50 Algorithms Every Programmer Should Know,” prompts skepticism over both its publisher and its scope, which jumps from basic data structures to TLS handshakes and deep learning topics like LSTMs and LLMs. Many commenters argue the book is superficial and shaped by hype rather than need, contrasting it with more respected algorithm texts and free university courses. The conversation broadens into whether most software engineers ever need to implement such algorithms themselves, the value of understanding them conceptually versus relying on libraries, and fatigue with “every programmer should know” style claims.

Perception of Publisher and Editing Quality

  • Many commenters distrust the publisher (Packt), describing its model as “quantity over quality,” weak author vetting, minimal editing, and heavy reliance on review-for-free-book tactics.
  • Several recount being approached as inexperienced authors/reviewers, reinforcing the sense of low editorial standards.
  • A few note exceptions (some titles they like), but overall avoid Packt books.
  • Co-listing on oreilly.com is seen as diluting O’Reilly’s traditionally stronger brand.

Book Scope, Content, and Target Audience

  • The table of contents is criticized as overstuffed: basic CS (sorting, big‑O, data structures), cryptography/TLS, and a large chunk of ML/deep learning (k‑means, RNNs, LSTMs, GRUs, LLMs, SciPy/Jupyter).
  • Many see this as superficial “everything that sells now” rather than a coherent algorithms text; some call it an “identity crisis” more like an ML/AI survey.
  • RNNs/GRUs/LLMs are widely viewed as irrelevant for “every programmer.”
  • A technical look at the TLS handshake chapter finds it confusing and misleading.
  • Some suggest the real target audience is people grinding LeetCode and coding interviews.

Alternative Resources

  • Multiple classic algorithms texts and free online notes are recommended as stronger, deeper, or more focused alternatives.
  • More approachable intros (e.g., “grokking”-style books, visual/intuitive treatments) are also mentioned positively.

Do Programmers Need to Know/Implement Algorithms?

  • Many industry programmers report almost never implementing core algorithms themselves; they use library data structures and sort/search.

  • Nonetheless, many argue that understanding concepts (data structures, BFS/DFS, topological sort, complexity, memory locality) is crucial for:

    • Choosing appropriate containers and libraries.
    • Debugging and performance tuning.
    • Recognizing when a problem matches a known algorithm.
  • Others push back that memorizing big‑O and details is often “trivia” and real performance comes from profiling and understanding concrete implementations and I/O.

Education, Interviews, and “Every Programmer Should Know”

  • Several note a gap between algorithms-heavy interviews and day‑to‑day work, where such skills are rarely used directly.
  • Self‑taught developers describe imposter syndrome around “advanced” algorithms but find they mostly need conceptual awareness, not detailed implementation.
  • The “N things every programmer should know” style is widely viewed as clickbait, dogmatic, and anxiety‑inducing.