MQL4 is not a complex language so you don't really need to be an expert programmer to learn it - you don't need a degree in engineering :). Any background is fine if you are good with computers. Some traders prefer to create the forex strategy and pay someone to code it. Others just spend lots of hours learning MQL to keep their trading secrets private. MQL5 is in beta testing, it's more complex, more difficult than MQL4. MQL5 and MQL4 are different - they are not compatible. This makes things more difficult for new people - they have to learn two languages.
If you are new to forex you could use a code generator like this: http://www.molanis.com - it's a graphical environment - you create your EA without any coding or mql knowledge
Good luck in your journey.
Next week we'll launch a graphic tool to create custom indicators (for registered users only - Register now at http://www.molanis.com)