I am a great fan of recipe based books. I have also authored one called Serverless Programming Cookbook. Many recipe based books, including the one I wrote, reflect how most software professionals work. After a brief introduction they jump directly into the how to do section followed by how it works section and so on. Most software engineers today want to quickly implement solutions to problems and refer to theory only if something is not understood or want more explanation.
However, from a student’s or lecturer’s perspective it makes more sense to first understand the concepts and then put those theory into practice through hands-on examples. Finally, from a student’s perspective, he may want to revise things after every chapter or before going for exams or interviews. Therefore in contrast to the traditional cookbooks that I discussed before, a book that covers concepts followed by practice and revision makes more sense for a student or a lecturer.
The revision section may be further generalized as a highlights section so that it can be useful for software engineers or architects to broaden their knowledge or just find out what a technology or platform is capable. Note that a good architect should have good depth of knowledge on his core areas and a good breadth of knowledge on related or competing technologies. Without a good breadth of knowledge he may become a victim of the golden hammer problem.
So in my book proposal, I propose three section for every chapter.
- Getting familiar with concepts
- Putting theory into practice
- Chapter highlights and revision
For someone who want to learn in a systematic way he can follow every section of every chapter in order: learn concepts, followed by practicing it with an example and finally revise the contents.
For someone with little lesser time to learn or don’t want to practice now, he may only go through the concepts section in each chapter and skip other sections.
For someone who like the standard recipe based approach, he may go through the practice sections of each chapter and skip other sections.
Finally for an architect, developer or a manager who want to broaden their technical knowledge, or for students who like to learn late before an exam or interview, he may go through the chapter highlights section and skip other sections.
I believe that with such an approach to organizing contents within each chapter the value of the book increases. It will become a reference book for a student that he can refer back during his career journey from a student to developer or a lecturer, and then from a developer to an architect, manager etc.
I am sure people would have thought about this idea and may have already experimented with one. If you know about a book series that follows this approach please share the details as a comment below.