I have posted little content to my blog over the last year – that is because I have been working on a new book: The Embedded Project Cookbook: A Step-by-Step guide for Microcontroller Projects. The manuscript has been sent off for copy editing, type setting, etc. and will be published later this year (I don’t have a exact date from the publisher yet). What is the book about? Here is a snippet of the propaganda from the books’ back cover:
Learn how to create and release an embedded system in a fast and reliable manner. This book will help you build and release a commercially viable product that meets industry standards for quality. The book is not just about code: it covers non-code artifacts such as software processes, requirements, software documentation, continuous integration, design reviews, and code reviews.
While the book is a companion book to my Patterns in the Machine book, the motivation for the new book is different. I started writing the Embedded Project Cookbook so that I never have start an embedded project from scratch again. I am tired of reinventing the wheel every time I move to a new project, or new team, or new company. I have started over many times, and every time I find myself doing all the same things over again. This, then, is a cookbook for all the “same things” I do—all the same things that I inevitably have to do. In a sense, these are my recipes for success.
On my next “new project,” I plan to literally copy-and-paste from the code and documentation templates I have created for this book. And for those bits that are so different that a literal copy and paste won’t work, I plan to use this cookbook as a “reference design” for generating the new content.
Beyond the obvious advantage of not having to rewrite code, there is also the advantage of having example documents and other materials that I can use when mentoring or training other engineers. In the past, when I’ve been trying to explain these concepts to new team members, it involved a lot of hand waving and hastily drawn boxes and arrows on the whiteboard. But now I have tangible examples of what I’m talking about at my fingertips. It’s yet another thing I don’t have to start from scratch. The next time I need to train or explain any of the best practices contain in this cookbook, I plan to say, “And if you want a better example of what I’m talking about, I know a really great book on this topic . . . .”