Skip to content

Instantly share code, notes, and snippets.

@BillRizer
Last active August 13, 2025 22:58
Show Gist options
  • Select an option

  • Save BillRizer/61c71d3ada18c9e9084639d314a0910b to your computer and use it in GitHub Desktop.

Select an option

Save BillRizer/61c71d3ada18c9e9084639d314a0910b to your computer and use it in GitHub Desktop.
Books

Thematic Reading List

Algorithms and Data Structures

Grokking Algorithms

Author: Aditya Bhargava
Description: A beginner-friendly guide to algorithms with intuitive explanations and visuals. Ideal for learning core concepts without heavy math.
Tags: Algorithms, Beginner-Friendly, Problem-Solving

Introduction to Algorithms

Author: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
Description: A comprehensive guide to fundamental algorithms and data structures, with clear explanations and examples. Ideal for learners in computer science.
Tags: Algorithms, Data Structures, Computer Science, Foundational

Algorithms Unlocked

Author: Thomas H. Cormen
Description: Simplifies algorithms for beginners, focusing on practical applications in programming without heavy math.
Tags: Algorithms, Beginner-Friendly, Problem-Solving

The Algorithm Design Manual

Author: Steven S. Skiena
Description: Combines theoretical foundations with practical algorithm design techniques. Includes a catalog of common algorithmic problems.
Tags: Algorithms, Problem-Solving, Practical Design

Data Structures and Algorithms Made Easy

Author: Narasimha Karumanchi
Description: Simplifies complex data structures and algorithms with clear explanations and puzzles. Great for interview preparation.
Tags: Data Structures, Algorithms, Interview Prep

Algorithms

Author: Robert Sedgewick, Kevin Wayne
Description: Covers essential algorithms and data structures with a focus on practical implementation and performance analysis.
Tags: Algorithms, Data Structures, Performance

Advanced Data Structures

Author: Peter Brass
Description: Explores advanced data structures for optimizing performance in complex applications.
Tags: Data Structures, Advanced Algorithms, Performance

The Art of Computer Programming

Author: Donald E. Knuth
Description: A seminal work on algorithms and programming, covering advanced topics in depth.
Tags: Algorithms, Computer Science, Advanced

Software Design and Architecture

The Pragmatic Programmer

Author: Andy Hunt, Dave Thomas
Description: Offers practical advice for writing better, maintainable code. Covers timeless principles for software development.
Tags: Software Development, Best Practices, Pragmatism

Design Patterns

Author: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Description: Introduces reusable solutions to common software design problems. A foundational text for object-oriented design.
Tags: Design Patterns, Software Design, Object-Oriented Programming

Patterns of Enterprise Application Architecture

Author: Martin Fowler
Description: Explores patterns for designing robust enterprise applications. Covers common architectural challenges.
Tags: Enterprise Architecture, Design Patterns, Software Design

Clean Architecture

Author: Robert C. Martin
Description: Presents principles for building flexible, maintainable software architectures. Focuses on decoupling and modularity.
Tags: Software Architecture, Clean Design, Modularity

Fundamentals of Software Architecture

Author: Neal Ford, Mark Richards
Description: Covers core principles of software architecture, including design trade-offs and modern practices.
Tags: Software Architecture, Design Principles, Modern Practices

Software Architecture: The Hard Parts

Author: Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani
Description: Tackles complex architectural decisions, such as distributed systems and trade-offs in modern applications.
Tags: Software Architecture, Distributed Systems, Decision-Making

The Software Architect Elevator

Author: Gregor Hohpe
Description: Explores the role of a software architect, bridging technical and business perspectives in enterprise settings.
Tags: Software Architecture, Leadership, Enterprise

Designing Data-Intensive Applications

Author: Martin Kleppmann
Description: Examines the design of scalable, reliable data systems. Covers databases, distributed systems, and big data.
Tags: Data Systems, Distributed Systems, Scalability

System Design: The Big Archive

Author: Author Unknown
Description: A comprehensive resource on system design, covering scalability and performance. Author not specified in provided data.
Tags: System Design, Scalability, Distributed Systems

Engenharia de Software Moderna

Author: Marco Tulio Valente
Description: A Portuguese guide to modern software engineering practices, covering development, architecture, and agile methodologies.
Tags: Software Engineering, Agile, Portuguese

UML Distilled

Author: Martin Fowler
Description: A concise guide to UML (Unified Modeling Language) for modeling software systems effectively.
Tags: UML, Software Modeling, Design

The Unified Software Development Process

Author: Ivar Jacobson, Grady Booch, James Rumbaugh
Description: Outlines a structured approach to software development using UML and iterative processes.
Tags: Software Development, UML, Process

Object-Oriented Analysis and Design

Author: Grady Booch
Description: Covers principles of object-oriented design, focusing on modeling and system analysis.
Tags: Object-Oriented Programming, Software Design, Analysis

Domain-Driven Design

Domain-Driven Design Quickly

Author: Floyd Marinescu, Abel Avram
Description: A concise introduction to DDD principles, summarizing core concepts for quick understanding. Ideal for beginners.
Tags: Domain-Driven Design, Software Architecture, Beginner-Friendly

Domain-Driven Design Distilled

Author: Vaughn Vernon
Description: A concise guide to DDD fundamentals, covering key techniques like bounded contexts and ubiquitous language. Suited for developers seeking a quick overview.
Tags: Domain-Driven Design, Software Architecture, Beginner-Friendly

Domain-Driven Design

Author: Eric Evans
Description: The foundational "Blue Book" on DDD, detailing core concepts and patterns for modeling complex business domains.
Tags: Domain-Driven Design, Software Architecture, Business Modeling

Implementing Domain-Driven Design

Author: Vaughn Vernon
Description: A practical guide to applying DDD in projects, addressing challenges and pitfalls. Builds on Eric Evans’ work.
Tags: Domain-Driven Design, Software Architecture, Practical Implementation

Learning Domain-Driven Design

Author: Vlad Khononov
Description: A modern guide to DDD, focusing on aligning software design with business strategy. Ideal for architects and senior developers.
Tags: Domain-Driven Design, Software Architecture, Business Alignment

Patterns, Principles, and Practices of Domain-Driven Design

Author: Scott Millett, Nick Tune
Description: Explores DDD patterns and practices with case studies for practical application. Suited for experienced developers and architects.
Tags: Domain-Driven Design, Software Architecture, Practical Application

Domain Modeling Made Functional

Author: Scott Wlaschin
Description: Combines DDD with functional programming using F#, showing how to model complex domains and reduce errors.
Tags: Domain-Driven Design, Functional Programming, Software Design

Mastering Strategic DDD

Author: Maciej Jedrzejewski
Description: A free eBook offering a step-by-step guide to strategic DDD, including event storming and domain mapping. Ideal for overcoming DDD learning barriers.
Tags: Domain-Driven Design, Strategic Design, Event Storming

Agile and Lean Methodologies

Agile Software Development

Author: Robert C. Martin
Description: Introduces agile principles and practices for iterative software development. Focuses on collaboration and adaptability.
Tags: Agile, Software Development, Team Collaboration

Extreme Programming Explained

Author: Kent Beck
Description: Details the principles and practices of Extreme Programming (XP), emphasizing rapid development and quality.
Tags: Agile, Extreme Programming, Software Development

The Lean Startup

Author: Eric Ries
Description: Applies lean principles to software startups, focusing on iterative development and customer feedback.
Tags: Lean Methodology, Startups, Product Development

Software Craftsmanship

Clean Code

Author: Robert C. Martin
Description: Guides developers in writing readable, maintainable, and efficient code through practical examples and principles.
Tags: Code Quality, Best Practices, Software Craftsmanship

The Clean Coder

Author: Robert C. Martin
Description: Focuses on professional behavior and ethics for software developers, complementing Clean Code.
Tags: Professionalism, Software Craftsmanship, Ethics

Effective Java

Author: Joshua Bloch
Description: Provides best practices for writing robust, efficient Java code. Essential for Java developers.
Tags: Java, Best Practices, Programming

Refactoring

Author: Martin Fowler
Description: Explains techniques to improve existing code structure without changing functionality. Emphasizes clean, maintainable codebases.
Tags: Refactoring, Code Quality, Software Design

Refactoring to Patterns

Author: Joshua Kerievsky
Description: Combines refactoring techniques with design patterns to improve code structure and maintainability.
Tags: Refactoring, Design Patterns, Code Quality

Working Effectively with Legacy Code

Author: Michael Feathers
Description: Provides techniques to improve and maintain legacy codebases without breaking existing functionality.
Tags: Legacy Code, Refactoring, Software Maintenance

Software Project Management

The Mythical Man-Month

Author: Fred Brooks
Description: Explores software project management challenges, focusing on team dynamics and scheduling myths. A classic in software engineering.
Tags: Project Management, Software Engineering, Team Dynamics

The Manager’s Path

Author: Camille Fournier
Description: Guides tech professionals transitioning to management, covering leadership and team-building strategies.
Tags: Management, Leadership, Career Development

Programming Languages

Seven Languages in Seven Weeks

Author: Bruce Tate
Description: Explores seven programming languages, highlighting their paradigms and use cases. Great for broadening perspectives.
Tags: Programming Languages, Paradigms, Learning

The Design and Evolution of C++

Author: Bjarne Stroustrup
Description: Chronicles the development of C++, explaining its design decisions and evolution.
Tags: C++, Programming Languages, Language Design

Testing

xUnit Test Patterns

Author: Gerard Meszaros
Description: Explores patterns for writing effective unit tests, improving test maintainability and reliability.
Tags: Unit Testing, Test Patterns, Software Quality

Advanced Computer Science

Compilers: Principles, Techniques, and Tools

Author: Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman
Description: A deep dive into compiler design and implementation, known as the "Dragon Book." Highly technical.
Tags: Compilers, Computer Science, Advanced

Databases

Seven Databases in Seven Weeks

Author: Luc Perkins, Eric Redmond, Jim R. Wilson
Description: Introduces different database systems (SQL, NoSQL, etc.) with practical use cases and comparisons.
Tags: Databases, Data Management, Practical Learning

Microservices

Microservices Patterns

Author: Chris Richardson
Description: Details patterns for designing and implementing microservices. Addresses challenges like communication and scalability.
Tags: Microservices, Software Architecture, Distributed Systems

Practical Microservices

Author: Ethan Garofolo
Description: Offers hands-on guidance for building microservices, focusing on practical implementation and real-world challenges.
Tags: Microservices, Software Architecture, Practical Implementation

Criando Microserviços

Author: Sam Newman
Description: A Portuguese guide to designing and building microservices, emphasizing practical strategies for distributed systems.
Tags: Microservices, Software Architecture, Portuguese

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment