This guy is very PCDuino and .Net centric since that is what he knows, but I think his points about design patterns for embedded development and reusable coding is interesting even if you don't agree with him. Working with Arduinos these past two years, I do find that I rewrite rather than reuse because of the memory constraints of using C++.
This guy has done some pretty cool stuff. It is definitely worth checking out. Enjoy!