How to start learning for creation of Atlassian apps for both cloud and data center?

Hi All,

What are the pre-requisites for building cloud and data center.
I am new to this and has worked as a Jira administrator for 2 years now. I want to learn development so that I can build apps.
What skills I need for this ?