If you are in software you have to be an expert in some other domain. Sure there are a few os and compiler writers who can sit in pure software land (even they need to know some about hardware). Pretty much everything else is for some other domain and so you need to know it.