I would say programming requires either natural talent or passion. Even so with natural talent and without passion the chances of burnout in programming are high.
I believe that talent can be learnt through hard work and an individual is only likely to give forward the amount of hard work needed if they are passionate about it. Also, by hard work I mean coding on your own time, either for work or personal projects.
If I didn't have a passion for software development, I would have stayed in the investment industry where the work is significantly less challenging and the pay is also higher.
Web developer here. Some of the most complicated application are being built for web vs mobile. Within the enterprise web applications, I fail to see how mobile is anywhere near web's presence especially for data intensive apps.
I believe that talent can be learnt through hard work and an individual is only likely to give forward the amount of hard work needed if they are passionate about it. Also, by hard work I mean coding on your own time, either for work or personal projects.
If I didn't have a passion for software development, I would have stayed in the investment industry where the work is significantly less challenging and the pay is also higher.