What it Takes to be an Adept An­droid Apps De­vel­oper!

OpenSource For You - - FOR U & ME -

In re­cent years, the An­droid plat­form has turned out some cool de­vel­op­ers, in In­dia and across the world, who have the abil­ity to think out-of the-box and create apps within no time. So, if you have the right skill sets and mind­set, a ca­reer in An­droid app de­vel­op­ment can be ex­cep­tion­ally re­ward­ing.

The in­creas­ing pop­u­lar­ity of the An­droid plat­form has given an in­cred­i­ble boost to the app econ­omy in In­dia. The app mar­ket in In­dia wit­nesses nearly 100 mil­lion down­loads a month and this is ex­pected to grow ex­po­nen­tially in the days to come. The rise in the app econ­omy as well as the grow­ing pen­e­tra­tion of the An­droid ecosys­tem in In­dia has led to the ex­plo­sion in app de­vel­op­ment. This has opened up a sea of job op­por­tu­ni­ties for all those who wish to take the plunge in this ter­rain.

High­light­ing the im­por­tance of An­droid apps de­vel­op­ers in the In­dian mar­ket, Sachin Naik, head, Prod­uct De­vel­op­ment, Xolo, says, “Con­tent con­sump­tion and data ag­gre­ga­tion over smart­phones is the new mantra. And In­dian IT com­pa­nies are build­ing en­gi­neer­ing ca­pac­ity to sup­port this en­deav­our. This pro­vides a very big op­por­tu­nity in terms of the num­ber of job open­ings, es­pe­cially at the en­try level, for prospec­tive An­droid apps de­vel­op­ers. Glob­ally, In­dia is one among the top 10 coun­tries in terms of app sub­mis­sions to the Play store. There is a strong ecosys­tem of start-ups like Flip­kart, Scan­did, etc—com­pa­nies that have adopted and are build­ing mo­bile ap­pli­ca­tions. This pro­vides a good op­por­tu­nity for se­nior app de­vel­op­ers who are as­pir­ing to take up chal­leng­ing roles. Apart from these, there are op­por­tu­ni­ties with mo­bile chip set mak­ers and OEMs like Qual­comm, NVidia, In­tel and Sam­sung. Most of the above have a good en­gi­neer­ing pres­ence in In­dia and are ex­pand­ing rapidly.”

Why An­droid apps de­vel­op­ment?

We caught up with a few cool and geeky An­droid de­vel­op­ers and asked them to share their ex­pe­ri­ences on how and why they chose this do­main as a ca­reer op­tion. Am­rit Sanjeev is the or­gan­iser for Bl­r­droid (Ban­ga­lore An­droid user group) and the au­thor of the news reader ap­pli­ca­tion Paper­boy. Am­rit, who cur­rently works at Dig­i­tal In­sight as staff en­gi­neer, Mo­bile, was work­ing at IBM as a tech­nol­ogy ar­chi­tect when An­droid was re­leased. “I thought that An­droid was an in­ter­est­ing OS to ex­plore. There was some over­lap with ar­eas that I was work­ing in at col­lege, which in­volved the Linux ker­nel. And the open source na­ture of the OS made me grav­i­tate to­wards ex­plor­ing An­droid fur­ther. But I didn’t re­ally start off as an An­droid apps de­vel­oper. I was more in­ter­ested in work­ing on the OS,” he shares.

Vinod Ku­mar Desu, lead en­gi­neer at Sam­sung Re­search In­dia, has over five years of ex­pe­ri­ence in An­droid ap­pli­ca­tions and frame­work de­vel­op­ment, de­bug­ging, prob­lem anal­y­sis and port­ing on var­i­ous Sam­sung An­droid-based hand­sets. He shares, “Ini­tially, I started as a J2me mo­bile de­vel­oper. My in­ter­est in new tech­nolo­gies on the mo­bile do­main led me to ex­plore the world of An­droid de­vel­op­ment and I am happy be­ing here.”

Pooja Ma­hesh­wari, a tech­ni­cal ar­chi­tect at Im­pe­tus Tech­nol­ogy, has been work­ing in the soft­ware do­main for more than 12 years, with wide ex­po­sure in the anal­y­sis, de­sign

and de­vel­op­ment of en­ter­prise mo­bil­ity so­lu­tions, mo­bile de­vice man­age­ment so­lu­tions and An­droid-based cus­tom de­vice so­lu­tions for en­ter­prises. She is cur­rently in­volved in as­sess­ing the chal­lenges and op­por­tu­ni­ties of em­bed­ded An­droid for en­ter­prises in var­i­ous ver­ti­cals. She says, “I started work­ing on An­droid app de­vel­op­ment ever since it made an en­try into the smart­phone mar­ket. An­droid’s mar­ket share and fea­ture-rich­ness makes it a ver­sa­tile plat­form em­pow­er­ing the ap­pli­ca­tion de­vel­oper to achieve com­plex ap­pli­ca­tion use cases for a rich user ex­pe­ri­ence. An­droid’s busi­ness-friendly li­cence, ma­ture ap­pli­ca­tion ecosys­tem, cus­tomis­abil­ity and has­sle-free sup­ply chain com­modi­ti­sa­tion has led to a huge mar­ket of An­droid-pow­ered smart­phones, tablets and more. Clearly, An­droid is no more only a com­mon man’s com­pan­ion on a smart­phone or tablet, but is also used in au­to­mo­biles as in-ve­hi­cle in­fo­tain­ment sys­tems (IVI), field force ter­mi­nals, med­i­cal de­vices, re­tail kiosks, pa­tient mon­i­tor­ing ter­mi­nals, etc. Con­sid­er­ing this, it is in­evitable for any per­son (in­clud­ing me) work­ing in the con­sumer or en­ter­prise mo­bil­ity do­mains to be fa­mil­iar with An­droid app de­vel­op­ment.”

What hir­ing man­agers look for

At a time when the job trends in the An­droid mar­ket look up­beat, what are HR man­agers look­ing for in prospec­tive can­di­dates? Sachin Naik, who af­firms that Xolo hires An­droid de­vel­op­ers at the en­try and se­nior lev­els, says, “The core strength for any de­vel­oper needs to be pro­gram­ming. So can­di­dates will be eval­u­ated for knowl­edge of the An­droid SDK, their ap­pli­ca­tions’ life cy­cle, ob­ject ori­ented pro­gram­ming and core Java. Though the An­droid ap­pli­ca­tion en­vi­ron­ment ab­stracts out the in­tri­ca­cies of the chip set, net­work and power man­age­ment, the de­vel­op­ers need to be aware of them. This en­sures that the ap­pli­ca­tions they create do not con­sume power or net­work band­width un­nec­es­sar­ily. It’s a plus if can­di­dates have a ba­sic level of un­der­stand­ing about the un­der­ly­ing sys­tem and hard­ware. An­droid ap­pli­ca­tion de­vel­op­ment also in­volves spe­cial­i­sa­tion in 2D and 3D graph­ics de­sign for gam­ing, and NDK-based de­vel­op­ment for hard­ware. Some­times, we do hire for spe­cific ar­eas.”

Get the right skill sets

In­dus­try pun­dits say it is im­por­tant to ac­quire the right skill sets and at­ti­tude to se­cure a job in the An­droid app de­vel­op­ment mar­ket. So, what are the skills one must have to stay ahead of the curve? “From a cod­ing per­spec­tive, the No 1 skill needed is an un­der­stand­ing of the OS and how apps run on it. This al­lows de­vel­op­ers to write ef­fi­cient code that uses less re­sources and works bet­ter with other apps in the ecosys­tem. Core Java and an un­der­stand­ing of An­droid de­vel­op­ment tools are es­sen­tial to write bet­ter ap­pli­ca­tions. Like any other mo­bile OS, mem­ory is man­aged dif­fer­ently when com­pared to servers, which most peo­ple have an un­der­stand­ing of. It is im­por­tant to ac­com­mo­date that dif­fer­ence in the way you write code. Mo­bile de­vel­op­ers have to work with the UX/UI of the ap­pli­ca­tion. For this, an An­droid app de­vel­oper needs to be aware of the de­sign guide­lines, cod­ing best prac­tices and user in­ter­ac­tion pat­terns,” says Am­rit.

Chal­lenges faced while de­vel­op­ing a mo­bile app

When we asked the de­vel­op­ers about the ma­jor chal­lenges they stum­ble upon while de­vel­op­ing an app, they came up with a long list. Ac­cord­ing to Pooja Ma­hesh­wari, some of the ma­jor chal­lenges are:

Iden­ti­fy­ing tar­get use cases: How­ever good a mem­ory and con­fig­u­ra­tion a smart­phone or tablet has, we must not for­get that mo­bile ap­pli­ca­tions are dif­fer­ent from desk­top ap­pli­ca­tions in terms of screen size, mem­ory, bat­tery power and CPU cy­cles. The bet­ter these as­pects are ad­dressed by your app, the more it will be pre­ferred by users. Hence, de­cide the use cases you want to ex­tend to the mo­bile, keep­ing in view the fol­low­ing points: (a) Con­sider if the use case re­ally makes a strong rea­son to

be­come part of the mo­bile app. (b) The in­for­ma­tion shown or taken from the user should op­ti­mally utilise the view-port without clut­ter­ing it. (c) The amount of in­for­ma­tion stored on the de­vice should be purely from the per­spec­tive of off­line mode us­age. Any ex­tra de­tails should be down­loaded from the server on a need ba­sis and re­moved af­ter use. Off­line us­age sup­port: The ap­pli­ca­tion use cases should be eval­u­ated from the per­spec­tive of all the key ac­tors for the real sce­nar­ios. The sce­nar­ios high­light­ing off-net­work us­age of the app should be an­a­lysed fur­ther and a plan for tack­ling those sce­nar­ios with iden­ti­fied restricted data ac­cess should be fi­nalised. De­vel­op­ment ap­proach: Iden­tify the tar­get users of your ap­pli­ca­tion. If the ap­pli­ca­tion caters to the B2C seg­ment, then the con­sumers would ex­pect it to be sup­ported on all pop­u­lar mo­bile plat­forms. In such a case, app use cases should be an­a­lysed and, ac­cord­ingly, the thin, hy­brid or na­tive ap­pli­ca­tion de­vel­op­ment ap­proach should be se­lected. Tak­ing care of neg­a­tive sce­nar­ios: All neg­a­tive sce­nar­ios should be an­a­lysed and taken care of in the app care­fully. Iden­tify the tar­get An­droid ver­sions: The An­droid min­i­mum plat­form level should be tar­geted keep­ing in view the tar­get An­droid ver­sions for the app. The lower the plat­form level, the more de­vices the app would be able to cater to. Usu­ally, a tar­get An­droid ver­sion of >= 4.0 should pro­vide you a de­cent cov­er­age. Iden­tify the tar­get An­droid de­vices: The An­droid de­vices in the mar­ket today mostly fall un­der the cat­e­gory of MDPI, HDPI, XHDPI and XXHDPI. Also, the form fac­tors avail­able vary from 7.62 - 25.4 cm (3 -10 inches). In such a di­verse port­fo­lio, it be­comes im­por­tant to de­cide the spe­cific range of form fac­tors, the DPI and ref­er­ence de­vices you would con­sider for your app. For a B2C seg­ment app, you would want to tar­get about five ref­er­ence de­vices. Among those five, two smart­phones should have MDPI and HDPI res­o­lu­tions, re­spec­tively, and there should be a smart­phone and two tablets with XHDPI and XXHDPI res­o­lu­tion, and form fac­tors of 12.7, 17.7 and 25.4 cm (5, 7 and 10 inch). De­sign guide­lines: The ap­pli­ca­tions de­vel­oped for An­droid must ad­here to cer­tain de­sign guide­lines as spec­i­fied on the Google site. The ap­pli­ca­tion UI must ad­here to these guide­lines in or­der to be ac­cepted in Google Play, and it is also gen­er­ally rec­om­mended that de­vel­op­ers en­sure the app pro­vides a uni­form user ex­pe­ri­ence on all An­droid de­vices. White­la­belling en­abled app: If the use cases tar­geted as part of the app deem to sup­port white-la­belling without the need for app up­grade on the re­spec­tive app stores, then pro­vi­sion of dy­namic con­fig­u­ra­tion in the ap­pli­ca­tion and dy­namic app be­hav­iour (depend­ing on the dy­namic con­fig­u­ra­tion el­e­ments pushed from the server) should be sup­ported. Ex­ten­si­bil­ity: App de­sign and de­vel­op­ment should al­ways be done from the point of view of the ex­ten­si­bil­ity of the app. Sachin Naik adds, “De­vel­op­ing ap­pli­ca­tions for higher per­for­mance with less mem­ory and power con­sump­tion is still a chal­lenge. The other chal­lenge is re­lated to An­droid frag­men­ta­tion. With many An­droid ver­sions and skins from OEMs, it is a chal­lenge to write com­pat­i­ble ap­pli­ca­tions.”

Show me the money!

And what does the lu­cra­tive An­droid de­vel­op­ment mar­ket of­fer in terms of re­mu­ner­a­tion? In­dus­try ex­perts say the re­mu­ner­a­tion de­pends on the skill sets of the de­vel­op­ers. An en­try level en­gi­neer gets any­where be­tween Rs 500,000 to Rs 800,000 per an­num. For an ex­pert in the field, it can be any­where be­tween Rs 20,00,000 to Rs 25,00,000 per an­num.

Handy tips to stay ahead of the com­pe­ti­tion

At a time when there are in­nu­mer­able An­droid app de­vel­op­ers, what is the mantra to have that ex­tra edge over oth­ers? De­velop apps that solve a prob­lem and do some re­search to un­der­stand what your users want, feels Am­rit. “Use An­droid guide­lines, best prac­tices and de­sign prac­tices as much as pos­si­ble. An­other thing to keep in mind is that the user ex­pe­ri­ence and UI are not as­pects that one should try to deal with right at the end of the de­vel­op­ment process. Mak­ing apps look good and fol­low­ing stan­dard de­sign guide­lines should be some­thing that is worked at early in the project. This saves a lot of time re-fac­tor­ing code just to fit the UI later in the project cy­cle,” he says.

The first ex­tra edge is the thought and ap­pli­ca­tion it­self. Cre­at­ing an ap­pli­ca­tion based on a spe­cific prob­lem and tar­get seg­ment will help a lot, feels Naik. “As vis­i­bil­ity in the crowded An­droid mar­ket is an is­sue, de­vel­op­ers need to in­vest in get­ting the ini­tial down­load num­bers. There are many com­pa­nies like Flurry, which help in get­ting the ini­tial num­bers. Once you have the crit­i­cal mass, the ap­pli­ca­tion starts pick­ing up trac­tion. De­vel­op­ers also need to spend time in cre­at­ing ex­cel­lent prod­uct videos and con­stantly talk to users through so­cial me­dia. Once ini­tial trac­tion is in place, they must ap­proach in­flu­en­tial blog­gers for re­views. De­vel­op­ers with a good un­der­stand­ing of de­sign and user in­ter­ac­tion pat­terns are in de­mand. Write apps and pub­lish them in the Play store. That will give a clear per­spec­tive on what to im­prove on,” he says.

Newspapers in English

Newspapers from India

© PressReader. All rights reserved.