3 min read

Recommend recent books on web and software development in general

Stefan Bauer

Throughout my career, I read many books on web and software development. Some of them were highly influential during the beginning of my career, like "Clean Code" by Robert C. Martin and "The Pragmatic Programmer" by Andrew Hunt and David Thomas. Others were more useful when I was already a somewhat experienced developer (e.g., "Domain-Driven Design" by Eric J. Evans and "Domain-Driven Design Distilled" by Vaughn Vernon). You are probably well aware of all the classics. There is no need for another book list containing those. I can wholeheartedly recommend all of them (and many more) and would like to share some books that have helped or impressed me in recent years.

"Programming TypeScript: Making Your JavaScript Applications Scale" by Boris Cherny

I have been working with TypeScript for years. It's no secret that this is my favorite programming language, and Cherny's book helped me gain some insight that I did not have before. I even wrote a blog post about some of my findings.

"Effective TypeScript: 62 Specific Ways to Improve Your TypeScript" by Dan Vanderkam

The above-mentioned blog post also contains some of the tips mentioned here. The "62 ways" mentioned in this book are valuable insights, and I'd like to think they made me a better developer.

"Security and Microservice Architecture on AWS" by Gaurav Raje

Now, this is a tough one to read. Whereas the TypeScript stuff was fun and joy for me, this one was interesting but challenging. I do not have a dev ops background, although I (have to) dabble in it from time to time. This book is helpful if you are working with AWS at work and want to learn about secure ways to use these products. There were plenty of illustrations, and all of them were helpful.

"Multithreaded JavaScript" by Thomas Hunter II and Bryan English

Another fun read. I recommend this book if you want to speed up your JavaScript applications (be it in the browser or not). The examples are clever, and the book is well structured. Especially learning about the different limitations of workers and child processes was enlightening.

"Fundamentals of Software Architecture: An Engineering Approach" by Mark Richards and Neal Ford

Lastly, I would like to mention Richard's and Ford's somewhat dry compendium of software architecture. It contains a highly comprehensive and modern overview of software architecture, and I learned a lot by reading this. However, it is a rather demanding book that will take some time to read.

Wrap up

There were other books that I read and enjoyed. For example, "Software Engineering at Google: Lessons Learned from Programming Over Time" by Titus Winters, Tom Manshreck, and Hyrum Wright. This book has some interesting insights and a fun discussion about programming vs. software engineering. Or "Go in Action" by William Kennedy, Brian Ketelsen and Eik St. Martin. This book is a solid way to get started with Go, which is a fun language that did not manage to replace PHP and TypeScript for me yet. But these and other books are nothing that particularly stood out to me. Some of them are focused on basic topics, and others (I'm not going to tell you which one) make you read the word "Google" 10.000 times. There are still some very cool books in my pipeline (e.g. "Efficient MySQL Performance" by Daniel Nichter or the suspiciously highly praised "Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems" by Martin Kleppmann) that I'm really looking forward to, but that's my list for today.