Ух ты, это очень общие вопросы, и есть так много ресурсов по таким многим вещам, на которые можно сослаться ...
Говоря, что, хотя, возможно, хорошей отправной точкой является общая книга (лично мне нравятся книги для начала, поскольку я нахожу, что хорошая книга имеет тенденцию логически течь и приводить вас к теме - где веб-ресурсы лучше, когда вы более опытны и точно знают, что вы хотите узнать в очень узкой области знаний).
Мне очень нравится «Прагматичный программист: от подмастерьев до мастера» Эндрю Ханта и Дэвида Томаса. Опубликовано Эддисон Уэсли. Хотя вы можете не согласиться со всем этим, у него много пищи для размышлений.
Хотя вы уже являетесь программистом на встраиваемых системах, и некоторые из этой книги вы уже знаете наизусть, в ней есть много жемчужин мудрости для того, чтобы стать хорошим программистом (или определить, что вы никогда не станете хорошим!) .
Кроме того, вы можете рассмотреть некоторые книги по шаблонам проектирования, в частности, на языках и платформах, которые вас интересуют, чтобы дать вам хорошие примеры кода (и, надеюсь, помочь в понимании).
Другая книга, которая интересна с точки зрения «Практик», - «Факты и заблуждения разработки программного обеспечения» Роберта Л. Гласса. Опубликовано Аддисон-Уэсли.
Ознакомьтесь с некоторыми статьями на веб-сайте Joel on Software, они также часто вызывают раздражение и уместны.
Надеюсь, что это полезное начало.