There is of course a sense in which it is true that embedded programming and web development are vastly different domains, but there is also a very important sense in which both are similar: solving problems algorithmically using logic. Yes, domain-specific knowledge is often essential to solving specific types of problems, but programming itself is a systematic, generalized method of problem solving.Unfortunately web programming and hardware level programming have nothing to do with each other.
Fundamentally, programming is about learning how to break down big problems into little problems that can be solved with a handful of computational instructions, organized in such a way that the desired result is achieved. The logic of this organization -- looping, conditional branching, etc. -- is the same whether you are banging UART bits or dynamically updating CSS style directives. Effective programming goes further, recognizing that different organizational approaches can lead to code with vastly different performance, maintainability, and reliability properties. Perhaps ironically, I've noticed that web developers tend to be far more attuned than embedded developers to these design considerations and principles. This is probably because all of the abstraction in the web world (which embedded types tend to scoff at) comes with a steep price in code complexity, and so software architecture and management is a more pressing concern for web devs.
