Magnolia 5.3 reached end of life on June 30, 2017. This branch is no longer supported, see End-of-life policy.
You can create your own modules for Magnolia. The best practice is to package your entire website project, including customized templates, components and content, into modules for easy deployment. In this section you find the set of tools required for development. If you have experience developing webapps, you should be able to apply them to any platform.