There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.
You can get further information here:
http://searchdomino.techtarget.com/definition/XMPP
or here:
http://xmpp.org/
or here:
http://fyi.oreilly.com/2009/05/what-can-you-do-with-xmpp.html
hope, that helps =)