With an engineering background you already have a good foundation in problem-solving. I would recommend learning one language really well first. I like Ruby or Python for beginners. Javascript is very practical, but I agree with the other folks in this thread who compared it to C. It's lack of structure make it a hard first language. Then find a small open source project to get involved with. A lot of open source coders will happily mentor you if you put in the effort to contribute -- you can start by contributing docs and good bug reports. Get started, see if you like it. It's not easy, but it can be done. For me, it has always been fun.
By the way, I'm a she :)
Anyways, I'm already pretty well versed on that basics of programming. I think the key, as you pointed out, is to get involved in an open source project to build up my portfolio. Python is the language I prefer, but I use vb.net to build the tools I use at work since the .net framework provides a great interface with the microsoft products corporate office workers are slaves to. I'll start searching for local open-source contributors.
I need someone to please explain this last bit to me. He seems to suggest that it's pretty easy to become a software developer. This idea seems to be pretty common across hacker news. That all it takes is a little bit of research, and anyone can get a job as a software developer. Is this true? I've been trying to change my current career path from engineering to software development, and I cannot seem to get any conversations started. Does anyone have experience changing their early career paths and how they went about implementing the necessary steps?