Software development is my childhood dream. I always wanted to be computer engineer and now i am very close to it . Only two months away from my computer degree .
But suddenly a question pop ups in my mind “ Do i really want to be a developer of the future? “ .After seeing current dynamics of industry, my answer seems to be no !!! . Let me explain.
Openness and Choice
The primary things drew me to the software field is its openness and choice. Software industry became very open ,thanks to open source movement and Internet. Its open in terms of code,process,entrepreneurship etc . There are millions of books,sites,blogs to help you in every step of journey . There are many experts to help you when you encounter a problem . We call this expert group as the community.
Software field is an ocean of choices . We have choices in platform , programming languages ,frameworks etc. There no one to force you what to use and how to use .
The openness and choice always results in innovation . If you look at the enterprises like Google , Facebook ,you will know what type of innovation can happen in open world .
Mobile is the Future
Mobile devices are in use over decade. But its potential reveled only after iPhone is released . Mobile is the feature . What we do today in the PC , we will be able to do in mobile devices . Mobile devices doesn't only refers to the smart phones , but they also include netbooks , tablet computers etc . The power of mobile devices growing day by day and its predicted that future generation will doesn't know what a mouse is !!.
Can we expect same openness and Choice in future ?
The openness and choice what we enjoying today is for PCs and web. But is same openness and choice will be there in mobile devices . By seeing current scenario I am afraid it will be not.
Apple is the leader in mobile devices . iPhone was named as Jesus phone and AppStore is De facto standard for mobile applications. They have more than 150,000 applications in the store and its a very large compared to second big store ,Android Market, which has only 30,000 apps.
From the above figures its clear that if you want to be developer for the future , you have to develop for the mobile and that too for iPhone . But do you think it will easy?
Closed platform and Closed minds
Apple is always a closed platform like Windows . But it will create no problem for a developer till they create great applications using the platform . But the iPhone Eco system is closed such that you will start to suffocate in it. The following are the reasons that make you suffocate
1.Develop in their own hardware and OS : To develop for the iPhone you need to own a Mac. Come on man , for developing for a mobile device you have to get a new system altogether? .If you are Mac user then there will be no problem.
2.Closed minds : iPhone SDK policies states that you cannot share what you are making with your fellow. If you do that,then its a offence . What??? is this way you develop applications in the past . We had great communities to help , but now we are helpless.
3.No choice in language and tools : Recent change to iPhone SDK TOS stated that you have to use Apple tools to develop for the iPhone . Which means their own language Objective-C,IDE etc etc. If you are expert in other languages ,you skill sets are waste . You have to learn new language and new tools or stay away.
4.Big boss has to approve your application in order to reach the users : Whenever you developed the apps in the past , there was no one to say “hey let me check the app ,if you cant please me you cant get users” . It was the users who made an app successful or failure . But in the case of iPhone , Apple has to approve the app in order to reach to the user .This means if you are in rival company you cant get your app in Appstore. Google voice is a good example.
Are we going to develop applications like this in feature. Sitting in the dark room, fighting with 80's language and waiting big boss to approve your app. I fear yes.
Still hope is there
Though current scenario looks like hopeless , there is a ray of hope in dark called as Android. An open platform which embraces the openness and choices in the Mobile industry . Though its not market leader , it will be in 2014 as projected by IDC.
I am desperate for Android to win, so that i can pursue my dream . There are millions of developer like me who want the same. If it is not going to happen , i will change my field rather than developing for platform like Apple. Whats your stand??