My company does this all the time...and it drives me nuts. 

"I'm a software developer, how do I become a EE?"

Well, I think the answer is fairly obvious. It takes a lot of time and hard work. And of course, the right learning materials. The Engineering background helps, at my university the CS and engineering schools were in the same building with a lot of overlap. The algorithms and math foundations are there.

So, yea learning materials across UI, architectures, quality code...that's a **lot of ground**. Something that takes years really and is often done by teams of different experts at software companies. Not to say you can't be pretty decent on your own, if you put in the time. I recommend you start by picking up a well rated book on your most used language and also participating in the Stack community especially for code reviews. 

Try Amazon.com, they have good book reviews.