A Philosophy of Software Design: Book Review and Verdict
Is the book, A Philosophy of Software Design by John Ousterhout any good? Review from a software engineer and engineering manager.
Note that none of the below links are affiliate links or sponsored. See my ethics statement on the lack of such links: blog.pragmaticengineer.com/et...
Get the book: www.amazon.com/dp/1732102201 (note: ebook is actually available on Kindle: my bad for not checking!)
My longer book review: blog.pragmaticengineer.com/a-...
My article on why software architecture is overrated: blog.pragmaticengineer.com/so...
All my book recommendations on software engineering (and engineering management): blog.pragmaticengineer.com/my...
Connect with me on other platforms:
- Twitter: / gergelyorosz
- LinkedIn: / gergelyorosz
- Newsletter on software engineering: blog.pragmaticengineer.com/ne...
Books I've written (and am writing):
- Software engineering resumes: thetechresume.com/
- Building Mobile Apps at Scale: mobileatscale.com/
- The Software Engineer's Guidebook: www.engguidebook.com/
- All books: blog.pragmaticengineer.com/bo...
Пікірлер: 30
Dr. Ousterhout is amazing. You missed stating his most significant accomplishment. He developed the Tcl embeddable programming language as well as Tk widget toolkit in the late 80s. Those have had massive influences. Tcl is just like the book: concise and very simple but super powerful. My first programming job was 25 years ago when I was still in high school using Tcl. I read John Ousterhout's books Tcl and Tk Toolkit cover to cover over just a few days. It was a short book but very powerful. Dr. Ousterhout has had a large influence on my career since.
@anuraagadvani
3 жыл бұрын
Also he designed and implemented log structured file systems
Correction: there is an ebook for the book: you can get it on Kindle on Amazon - and probably should (geni.us/philosophy-sw-design). One out of the two of my issues addressed!
@gkn.
3 жыл бұрын
The link doesn't work for me for some reason but I was able to find the book on Amazon. Thanks for the review!
@mrgergelyorosz
3 жыл бұрын
@@gkn. thanks for letting me know! Fixed the link.
Hi, Gergely, keep doing reviews!. I started reading your blog for your recommendations
Thanks. Will read it over Christmas. The stuff I wrote this year is increasing in complexity which motivated to seek out better design practises out there to handle such complexities.
just found your channel, keep up with the not-good, but really great, work!
Thanks for the recommendation. You have probably noticed already, there's a kindle version for it. Also, loved the meaning behind the art cover.
Great review, will check out the book. Thanks for the recommendation!
@mrgergelyorosz
3 жыл бұрын
Nice, thanks for the feedback!
Hi Gergely! Great review about the book, which I learned a couple of concepts from reading it (I also agreed with the idea of the deep modules). My goal is to work as a Machine Learning Engineer and I found these concepts of Software Engineering rather valuable. What books would you recommend regarding testing software and CI/CD? (I am interested in AIOps)
@mrgergelyorosz
3 жыл бұрын
I don't have resources on AIOps but the Software Engineering at Google book covers a lot of the workflows on the software lifecycle at larger companies. It's a high-level overview and I'm finishing the book: the second part is more focused on these practices. I learnt most of these on the job. You choose a technology, setup CI/CD and write tests. For ML I have no idea what the frameworks are and test approaches (e.g. unit, integration, more end-to-end or other).
Awesome! I'll get it on kindle
Thanks for the review, Gergely! Do you have any other software/technical books you'd recommend?
@mrgergelyorosz
3 жыл бұрын
Yes, I have plenty! Here they are: blog.pragmaticengineer.com/my-reading-list/
Hi Gergely, I was able to buy the kindle version following the Amazon link, which technically is an e-book.
@mrgergelyorosz
3 жыл бұрын
Oh. I should have double-checked before I said so. When I got it, I recalled no Kindle option. Great that it's already out on Kindle!
Hey, I'm a digital product manager, however I have no technical background (not an engineer and can't code). Would you recommend this book for me?
@mrgergelyorosz
3 жыл бұрын
Nope :) The book only makes sense for people who code, some of the examples being code.
@ido5139
3 жыл бұрын
@@mrgergelyorosz thanks 🙏
The idea that software engineering is about managing complexity is not a new definition that the author came up with. I don't remember exactly where I stumbled upon it before, but it was either a book by Steve McConnell, or one by Fred Brooks.
There's an ebook now
Bought kindle version
How does this compare to Clean Code?
@geck1204
2 жыл бұрын
And should I read this one if I've already read Clean Code?
@unexpectedkAs
5 ай бұрын
Clean Code is much older. It's a good start! This book is much newer and it challenges some of the Clean Code / Uncle Bob's statements and philosophy. You should read both!
+1 subscription
The book should be called The Philosophy of Writing Comments
@mrgergelyorosz
3 жыл бұрын
Come on, that's just a few chapters in the end :) I didn't agree with those takes, (wrote more depth about it here: blog.pragmaticengineer.com/a-philosophy-of-software-design-review/ ) but everyone has an opinion on comments!