Mohamed - I would recommend learning about basic software engineering practices but NOT building your own app. It takes years to become good enough to do that successfully. Instead, learn how to hire and manage developers, especially overseas developers on upwork.com (formerly odesk), how to share equity (read Slicing Pie book) and most of all how to design the user experience, and market yourself to investors (create an online portal for investors that works on mobile and desktop browsers.) Use invisionapp or something similar to show your app to others, and iterate THAT. Your first customers are actually investors and developers!