Intro

This is a great book. It's from a great source, The Pragmatic Bookshelf. I have always found these books to be very good at giving the whole picture needed in the dev process, not just the code. Additionally, these books all conform to the TDD philosophy that I learned in college and present it in a way that bridges the concept to code while avoiding the reasons people give for refuting TDD.

Good Parts

Now, back to why this book is great. It shows the range of developer tools, packages, and ideas that help speed up react development and brings them up in a purpose driven way. By introducing a specific problem and how a tool addresses it helped me understand why use a tool and develop a sense of problems to look for and expect a tool to solve them (or I guess on the cutting edge, make a tool that fixes it). I also found it useful to diligently follow along and write the code and set up my local environment as given in the book.

Limitations

This is a "how to code in X" book (X=react). Yes, it shows how the TDD philosophy can be applied to react development and gives a survey of tools to help, but inevitably, it is basically dated from the time it is published. Books about concepts and philosophies of software development have longevity, books about "how to code in X" do not. If this were a true ebook, not just a print book I read online, it may stave off being dated for a little if the author had the energy, but I do believe books are fundamentally the wrong medium for learning to code in a specific language/framework. Additionally, the code is just printed on pages, there is no accompanying Git repo I could checkout to follow along. Given that I would have typed the code myself anyways, this was really annoying as there were small things that changed between the code presented that weren't marked like all the other changes were. Also, the numbered hints that explained the ideas behind new functions and ideas were not always on the code. This was really frustrating.

Takeaways

I definitely now have the tools to go forth and develop the react app I had in mind in the TDD philosophy. I know some people don't like TDD and think it slows development, I think I develop faster with TDD and so having a resource expose me to how to develop with react using TDD makes me happy. Additionally, because I know the problem that all the tools solve, I feel empowered enough to go out and use whatever modern tooling has now surpassed what was presented in the book. Importantly, I am inspired to write technical docs in the style the book does and publish on this website. I have never had a clear idea what I wanted this website to be and now I think I do. Finally and most importantly, I believe I have a better way to present technical tutorials/books/blog posts/Youtube videos/docs. More on this later (hopefully).