This paper briefly distills the lessons learned from almost 100 reviews of industry embedded software projects. Some problems are just not getting the basics right, or advanced technical problems, such as concurrency management. But, more of the risks stem from having a poor engineering process, cutting corners on quality assurance, or believing all you need is source code to succeed. As design engineers we might like to dwell on nitty-gritty technical aspects. But there is more to success than that. Embedded developers need to deal with the higher level risk areas identified in this paper, and can benefit from the concrete best practices described.