Realtime is usually a fixed operation. It has to be coded to do the stuff it is made for and that's it. In real time operating systems, you know how long it will take for that code to get from start to finish. There is no interaction with other software like antivirus and you usually can only edit it by downloading the code, resetting the system, then uploading the new code to the target.
It's, essentially, a subset of a software engineer. Just because someone is a software engineer does not mean they can program an embedded system. In that sense, it is more specialized. That said, I wouldn't be quick to call an embedded engineer a full fledged software engineer. Lots of them are EEs who know the hardware well enough to code to it.