16 best-selling technology books like A Philosophy of Software Design by John Ousterhout

Cover of A Philosophy of Software Design by John Ousterhout

A Philosophy of Software Design

By: John Ousterhout

4.21

Format: 190 pages, Paperback

This book addresses the topic of software how to decompose complex software systems into modules (…

If you liked the technology plot in A Philosophy of Software Design by John Ousterhout , here is a list of 16 books like this:

Cover of Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans

1. Domain-Driven Design: Tackling Complexity in the Heart of Software

By: Eric Evans

4.15

Format: 560 pages, Hardcover

"Eric Evans has written a fantastic book on how you can make the design of your software match your… read more

Similar categories in Eric Evans's Domain-Driven Design: Tackling Complexity in the Heart of Software book and John Ousterhout's A Philosophy of Software Design

  • programming
  • engineering
  • computer science
  • coding
  • nonfiction
  • design
  • technical
  • software
  • technology
Cover of Refactoring: Improving the Design of Existing Code by Kent Beck, Erich Gamma, Martin Fowler, Don Roberts

2. Refactoring: Improving the Design of Existing Code

By: Kent Beck , Erich Gamma , Martin Fowler , Don Roberts

4.06

Format: 344 pages, Hardcover

As the application of object technology--particularly the Java programming language--has become com… read more

Similar categories in Kent Beck's Refactoring: Improving the Design of Existing Code book and John Ousterhout's A Philosophy of Software Design

  • programming
  • computer science
  • coding
  • nonfiction
  • technical
  • software
  • technology

3. Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People

By: None

5.00

Format: None pages,

An algorithm is nothing more than a step-by-step procedure for solving a problem. The algorithms yo… read more

Similar categories in None's Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People book and John Ousterhout's A Philosophy of Software Design

4. The Pragmatic Programmer: From Journeyman to Master

By: Dave Thomas , Andy Hunt

3.28

Format: 404 pages, Paperback

-- Ward Cunningham Straight from the programming trenches, The Pragmatic Programmer cuts through th… read more

Similar categories in Dave Thomas's The Pragmatic Programmer: From Journeyman to Master book and John Ousterhout's A Philosophy of Software Design

5. Designing Data-Intensive Applications

By: None

4.62

Format: None pages, ebook

read more

Similar categories in None's Designing Data-Intensive Applications book and John Ousterhout's A Philosophy of Software Design

6. Clean Code: A Handbook of Agile Software Craftsmanship

By: Robert C. Martin

4.44

Format: 224 pages, Paperback

Even bad code can function. But if code isn t clean, it can bring a development organization to its… read more

Similar categories in Robert C. Martin's Clean Code: A Handbook of Agile Software Craftsmanship book and John Ousterhout's A Philosophy of Software Design

7. The Mythical Man-Month: Essays on Software Engineering

By: Frederick P. Brooks Jr.

3.36

Format: 96 pages, Paperback

Few books on software project management have been as influential and timeless as The Mythical Man-… read more

Similar categories in Frederick P. Brooks Jr.'s The Mythical Man-Month: Essays on Software Engineering book and John Ousterhout's A Philosophy of Software Design

Cover of Clean Architecture by Robert C. Martin

8. Clean Architecture

By: Robert C. Martin

4.23

Format: 432 pages, Paperback

Building upon the success of best-sellers The Clean Coder and Clean Code, legendary software crafts… read more

Similar categories in Robert C. Martin's Clean Architecture book and John Ousterhout's A Philosophy of Software Design

  • computers
  • engineering
  • programming
  • computer science
  • coding
  • nonfiction
  • technical
  • software
  • technology
"The only way to go fast, is to go well."

-Robert C. Martin, Clean Architecture

"All race conditions, deadlock conditions, and concurrent update problems are due to mutable variables."

-Robert C. Martin, Clean Architecture

"I'm a programmer. I like programming. And the best way I've found to have a positive impact on code is to write it."

-Robert C. Martin, Clean Architecture

"Any organisation that designs a system will produce a design whose structure is a copy of the organisation's communication structure"

-Robert C. Martin, Clean Architecture

Cover of Modern Software Engineering: Doing What Works to Build Better Software Faster by David  Farley

9. Modern Software Engineering: Doing What Works to Build Better Software Faster

By: David Farley

4.18

Format: 256 pages, Paperback

Improve Your Creativity, Effectiveness, and Ultimately, Your Code In Modern Software Engineering, … read more

Similar categories in David Farley's Modern Software Engineering: Doing What Works to Build Better Software Faster book and John Ousterhout's A Philosophy of Software Design

  • programming
  • engineering
  • computer science
  • coding
  • nonfiction
  • technical
  • software
  • technology
Cover of The Staff Engineer's Path: A Guide for Individual Contributors Navigating Growth and Change by Tanya Reilly

10. The Staff Engineer's Path: A Guide for Individual Contributors Navigating Growth and Change

By: Tanya Reilly

4.40

Format: 335 pages, Paperback

For years, companies have rewarded their most effective engineers with management positions. But tr… read more

Similar categories in Tanya Reilly's The Staff Engineer's Path: A Guide for Individual Contributors Navigating Growth and Change book and John Ousterhout's A Philosophy of Software Design

  • engineering
  • computer science
  • technical
  • nonfiction
  • programming
  • software
  • technology
"What will Future You wish that Present You had done?"

-Tanya Reilly, The Staff Engineer's Path: A Guide for Individual Contributors Navigating Growth and Change

"Yes, you can be an introvert. No, you can't be a jerk."

-Tanya Reilly, The Staff Engineer's Path: A Guide for Individual Contributors Navigating Growth and Change

Cover of A Philosophy of Software Design by John Ousterhout

11. A Philosophy of Software Design

By: John Ousterhout

4.21

Format: 190 pages, Paperback

This book addresses the topic of software how to decompose complex software systems into modules (… read more

Similar categories in John Ousterhout's A Philosophy of Software Design book and John Ousterhout's A Philosophy of Software Design

  • computers
  • engineering
  • programming
  • computer science
  • coding
  • nonfiction
  • design
  • technical
  • software
  • technology
Cover of Fundamentals of Software Architecture: An Engineering Approach by Mark   Richards

12. Fundamentals of Software Architecture: An Engineering Approach

By: Mark Richards

4.26

Format: 419 pages, Paperback

Although salary surveys worldwide regularly identify software architect as one of the top ten best … read more

Similar categories in Mark Richards's Fundamentals of Software Architecture: An Engineering Approach book and John Ousterhout's A Philosophy of Software Design

  • programming
  • engineering
  • computer science
  • coding
  • nonfiction
  • technical
  • software
  • technology
Cover of System Design Interview – An insider's guide by Alex Xu

13. System Design Interview – An insider's guide

By: Alex Xu

4.29

Format: 324 pages, Kindle Edition

The system design interview is considered to be the most complex and most difficult technical job i… read more

Similar categories in Alex Xu's System Design Interview – An insider's guide book and John Ousterhout's A Philosophy of Software Design

  • programming
  • engineering
  • computer science
  • coding
  • nonfiction
  • design
  • technical
  • software
  • technology
Cover of Learning Domain-Driven Design: Aligning Software Architecture and Business Strategy by Vladik Khononov

14. Learning Domain-Driven Design: Aligning Software Architecture and Business Strategy

By: Vladik Khononov

4.47

Format: 340 pages, Paperback

Building software is harder than ever. As a developer, you not only have to chase ever-changing tec… read more

Similar categories in Vladik Khononov's Learning Domain-Driven Design: Aligning Software Architecture and Business Strategy book and John Ousterhout's A Philosophy of Software Design

  • programming
  • engineering
  • computer science
  • nonfiction
  • design
  • technical
  • software
  • technology
Cover of Understanding Distributed Systems: What every developer should know about large distributed applications by Roberto Vitillo

15. Understanding Distributed Systems: What every developer should know about large distributed applications

By: Roberto Vitillo

4.38

Format: 234 pages, ebook

Learning to build distributed systems is hard, especially if they are large scale. It's not that th… read more

Similar categories in Roberto Vitillo's Understanding Distributed Systems: What every developer should know about large distributed applications book and John Ousterhout's A Philosophy of Software Design

  • programming
  • engineering
  • computer science
  • coding
  • nonfiction
  • technical
  • software
  • technology
Cover of Software Engineering at Google: Lessons Learned from Programming Over Time by Titus Winters

16. Software Engineering at Google: Lessons Learned from Programming Over Time

By: Titus Winters

4.20

Format: 599 pages, Paperback

The approach to and understanding of software engineering at Google is unlike any other company. Wi… read more

Similar categories in Titus Winters's Software Engineering at Google: Lessons Learned from Programming Over Time book and John Ousterhout's A Philosophy of Software Design

  • programming
  • engineering
  • computer science
  • coding
  • nonfiction
  • technical
  • software
  • technology
"Sometimes, the best thing you can do is just say, “I don’t know."

-Titus Winters, Software Engineering at Google: Lessons Learned from Programming Over Time

"Google and Stack Overflow are great sources of opinions and information, but they’re no substitute for actual human experience."

-Titus Winters, Software Engineering at Google: Lessons Learned from Programming Over Time

"Programming is the immediate act of producing code. Software engineering is the set of policies, practices, and tools that are necessary to make that code useful for as long as it needs to be used an…"

-Titus Winters, Software Engineering at Google: Lessons Learned from Programming Over Time

"Making good engineering decisions is all about weighing all of the available inputs and making informed decisions about the trade-offs. Sometimes, those decisions are based on instinct or accepted be…"

-Titus Winters, Software Engineering at Google: Lessons Learned from Programming Over Time

Cover of Effective Java by Joshua Bloch

17. Effective Java

By: Joshua Bloch

4.51

Format: 412 pages, Paperback

Since this Jolt-award winning classic was last updated in 2008 (shortly after Java 6 was released),… read more

Similar categories in Joshua Bloch's Effective Java book and John Ousterhout's A Philosophy of Software Design

  • computers
  • engineering
  • programming
  • computer science
  • coding
  • nonfiction
  • technical
  • software
  • technology
"One advantage of static factory methods is that, unlike constructors, they have names."

-Joshua Bloch, Effective Java

"Learning the art of programming, like most other disciplines, consists of first learning the rules and then learning when to break them."

-Joshua Bloch, Effective Java

"A second advantage of static factory methods is that, unlike constructors, they are not required to create a new object each time they're invoked."

-Joshua Bloch, Effective Java

"Builder pattern is more verbose than the telescoping constructor pattern, so it should be used only if there are enough parameters, say, four or more."

-Joshua Bloch, Effective Java

Cover of Staff Engineer: Leadership Beyond the Management Track by Will Larson

18. Staff Engineer: Leadership Beyond the Management Track

By: Will Larson

4.07

Format: 337 pages, Kindle Edition

At most technology companies, you’ll reach Senior Software Engineer, the career level for software … read more

Similar categories in Will Larson's Staff Engineer: Leadership Beyond the Management Track book and John Ousterhout's A Philosophy of Software Design

  • engineering
  • computer science
  • technical
  • nonfiction
  • programming
  • software
  • technology
Cover of Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures by Neal Ford

19. Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures

By: Neal Ford

4.28

Format: 459 pages, Paperback

There are no easy decisions in software architecture. Instead, there are many hard parts--difficult… read more

Similar categories in Neal Ford's Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures book and John Ousterhout's A Philosophy of Software Design

  • computers
  • engineering
  • programming
  • computer science
  • nonfiction
  • design
  • technical
  • software
  • technology
Cover of The Software Engineer's Guidebook: Navigating senior, tech lead, and staff engineer positions at tech companies and startups by Gergely  Orosz

20. The Software Engineer's Guidebook: Navigating senior, tech lead, and staff engineer positions at tech companies and startups

By: Gergely Orosz

4.12

Format: 413 pages, Paperback

None read more

Similar categories in Gergely Orosz's The Software Engineer's Guidebook: Navigating senior, tech lead, and staff engineer positions at tech companies and startups book and John Ousterhout's A Philosophy of Software Design

  • engineering
  • computer science
  • technical
  • nonfiction
  • programming
  • software
  • technology
Cover of Tidy First?: A Personal Exercise in Empirical Software Design by Kent Beck

21. Tidy First?: A Personal Exercise in Empirical Software Design

By: Kent Beck

3.95

Format: 122 pages, Paperback

Messy code is a nuisance. "Tidying" code, to make it more readable, requires breaking it up into ma… read more

Similar categories in Kent Beck's Tidy First?: A Personal Exercise in Empirical Software Design book and John Ousterhout's A Philosophy of Software Design

  • computers
  • engineering
  • programming
  • computer science
  • coding
  • nonfiction
  • technical
  • software
  • technology

16 Best nonfiction books like A Philosophy of Software Design by John Ousterhout

Transform Your Habits

Domain-Driven Design: Tackling Complexity in the Heart of Software

Eric Evans

4.15

Transform Your Habits

Refactoring: Improving the Design of Existing Code

Kent Beck , Erich Gamma , Martin Fowler , Don Roberts

4.06

Transform Your Habits

Clean Architecture

Robert C. Martin

4.23

Transform Your Habits

Modern Software Engineering: Doing What Works to Build Better Software Faster

David Farley

4.18

View all the books

14 best-selling nonfiction books like The Software Engineer's Guidebook: Navigating senior, tech lead, and staff engineer positions at tech companies and startups by Gergely Orosz

Transform Your Habits

Refactoring: Improving the Design of Existing Code

Kent Beck , Erich Gamma , Martin Fowler , Don Roberts

4.06

Transform Your Habits

Slow Productivity: The Lost Art of Accomplishment Without Burnout

Cal Newport

3.73

Transform Your Habits

Clear Thinking: Turning Ordinary Moments into Extraordinary Results

Shane Parrish

4.21

Transform Your Habits

The Staff Engineer's Path: A Guide for Individual Contributors Navigating Growth and Change

Tanya Reilly

4.40

View all the books

Never miss a story from us, get weekly updates in your inbox.