This paper tries to make a preliminary outline of what every embedded system designer should know about the embedded computing systems. As embedded computers have become more complex, designers have been faced with more choices and challenges. Luckily, there is some science at hand to help us make decisions as part of our craft. We examine some important topics in both hardware and software design for embedded computing.