Thanks! This is incredibly helpful and I wasn't aware of the distinction between developer and engineer in engineering land. I can see the first major steps you've listed is algorithms, algorithms, algorithms. I think you described me to a T in that I'm closer to a hacker than an engineer. I know a handful of what you've listed (e.g., REST, HTTP, pointers), but I've got my work cut out for me.
It's time to get out of the developer world. Thanks again!