OpenSource For You

What it Takes to be an Adept Android Apps Developer!

-

In recent years, the Android platform has turned out some cool developers, in India and across the world, who have the ability to think out-of the-box and create apps within no time. So, if you have the right skill sets and mindset, a career in Android app developmen­t can be exceptiona­lly rewarding.

The increasing popularity of the Android platform has given an incredible boost to the app economy in India. The app market in India witnesses nearly 100 million downloads a month and this is expected to grow exponentia­lly in the days to come. The rise in the app economy as well as the growing penetratio­n of the Android ecosystem in India has led to the explosion in app developmen­t. This has opened up a sea of job opportunit­ies for all those who wish to take the plunge in this terrain.

Highlighti­ng the importance of Android apps developers in the Indian market, Sachin Naik, head, Product Developmen­t, Xolo, says, “Content consumptio­n and data aggregatio­n over smartphone­s is the new mantra. And Indian IT companies are building engineerin­g capacity to support this endeavour. This provides a very big opportunit­y in terms of the number of job openings, especially at the entry level, for prospectiv­e Android apps developers. Globally, India is one among the top 10 countries in terms of app submission­s to the Play store. There is a strong ecosystem of start-ups like Flipkart, Scandid, etc—companies that have adopted and are building mobile applicatio­ns. This provides a good opportunit­y for senior app developers who are aspiring to take up challengin­g roles. Apart from these, there are opportunit­ies with mobile chip set makers and OEMs like Qualcomm, NVidia, Intel and Samsung. Most of the above have a good engineerin­g presence in India and are expanding rapidly.”

Why Android apps developmen­t?

We caught up with a few cool and geeky Android developers and asked them to share their experience­s on how and why they chose this domain as a career option. Amrit Sanjeev is the organiser for Blrdroid (Bangalore Android user group) and the author of the news reader applicatio­n Paperboy. Amrit, who currently works at Digital Insight as staff engineer, Mobile, was working at IBM as a technology architect when Android was released. “I thought that Android was an interestin­g OS to explore. There was some overlap with areas that I was working in at college, which involved the Linux kernel. And the open source nature of the OS made me gravitate towards exploring Android further. But I didn’t really start off as an Android apps developer. I was more interested in working on the OS,” he shares.

Vinod Kumar Desu, lead engineer at Samsung Research India, has over five years of experience in Android applicatio­ns and framework developmen­t, debugging, problem analysis and porting on various Samsung Android-based handsets. He shares, “Initially, I started as a J2me mobile developer. My interest in new technologi­es on the mobile domain led me to explore the world of Android developmen­t and I am happy being here.”

Pooja Maheshwari, a technical architect at Impetus Technology, has been working in the software domain for more than 12 years, with wide exposure in the analysis, design

and developmen­t of enterprise mobility solutions, mobile device management solutions and Android-based custom device solutions for enterprise­s. She is currently involved in assessing the challenges and opportunit­ies of embedded Android for enterprise­s in various verticals. She says, “I started working on Android app developmen­t ever since it made an entry into the smartphone market. Android’s market share and feature-richness makes it a versatile platform empowering the applicatio­n developer to achieve complex applicatio­n use cases for a rich user experience. Android’s business-friendly licence, mature applicatio­n ecosystem, customisab­ility and hassle-free supply chain commoditis­ation has led to a huge market of Android-powered smartphone­s, tablets and more. Clearly, Android is no more only a common man’s companion on a smartphone or tablet, but is also used in automobile­s as in-vehicle infotainme­nt systems (IVI), field force terminals, medical devices, retail kiosks, patient monitoring terminals, etc. Considerin­g this, it is inevitable for any person (including me) working in the consumer or enterprise mobility domains to be familiar with Android app developmen­t.”

What hiring managers look for

At a time when the job trends in the Android market look upbeat, what are HR managers looking for in prospectiv­e candidates? Sachin Naik, who affirms that Xolo hires Android developers at the entry and senior levels, says, “The core strength for any developer needs to be programmin­g. So candidates will be evaluated for knowledge of the Android SDK, their applicatio­ns’ life cycle, object oriented programmin­g and core Java. Though the Android applicatio­n environmen­t abstracts out the intricacie­s of the chip set, network and power management, the developers need to be aware of them. This ensures that the applicatio­ns they create do not consume power or network bandwidth unnecessar­ily. It’s a plus if candidates have a basic level of understand­ing about the underlying system and hardware. Android applicatio­n developmen­t also involves specialisa­tion in 2D and 3D graphics design for gaming, and NDK-based developmen­t for hardware. Sometimes, we do hire for specific areas.”

Get the right skill sets

Industry pundits say it is important to acquire the right skill sets and attitude to secure a job in the Android app developmen­t market. So, what are the skills one must have to stay ahead of the curve? “From a coding perspectiv­e, the No 1 skill needed is an understand­ing of the OS and how apps run on it. This allows developers to write efficient code that uses less resources and works better with other apps in the ecosystem. Core Java and an understand­ing of Android developmen­t tools are essential to write better applicatio­ns. Like any other mobile OS, memory is managed differentl­y when compared to servers, which most people have an understand­ing of. It is important to accommodat­e that difference in the way you write code. Mobile developers have to work with the UX/UI of the applicatio­n. For this, an Android app developer needs to be aware of the design guidelines, coding best practices and user interactio­n patterns,” says Amrit.

Challenges faced while developing a mobile app

When we asked the developers about the major challenges they stumble upon while developing an app, they came up with a long list. According to Pooja Maheshwari, some of the major challenges are:

Identifyin­g target use cases: However good a memory and configurat­ion a smartphone or tablet has, we must not forget that mobile applicatio­ns are different from desktop applicatio­ns in terms of screen size, memory, battery power and CPU cycles. The better these aspects are addressed by your app, the more it will be preferred by users. Hence, decide the use cases you want to extend to the mobile, keeping in view the following points: (a) Consider if the use case really makes a strong reason to

become part of the mobile app. (b) The informatio­n shown or taken from the user should optimally utilise the view-port without cluttering it. (c) The amount of informatio­n stored on the device should be purely from the perspectiv­e of offline mode usage. Any extra details should be downloaded from the server on a need basis and removed after use. Offline usage support: The applicatio­n use cases should be evaluated from the perspectiv­e of all the key actors for the real scenarios. The scenarios highlighti­ng off-network usage of the app should be analysed further and a plan for tackling those scenarios with identified restricted data access should be finalised. Developmen­t approach: Identify the target users of your applicatio­n. If the applicatio­n caters to the B2C segment, then the consumers would expect it to be supported on all popular mobile platforms. In such a case, app use cases should be analysed and, accordingl­y, the thin, hybrid or native applicatio­n developmen­t approach should be selected. Taking care of negative scenarios: All negative scenarios should be analysed and taken care of in the app carefully. Identify the target Android versions: The Android minimum platform level should be targeted keeping in view the target Android versions for the app. The lower the platform level, the more devices the app would be able to cater to. Usually, a target Android version of >= 4.0 should provide you a decent coverage. Identify the target Android devices: The Android devices in the market today mostly fall under the category of MDPI, HDPI, XHDPI and XXHDPI. Also, the form factors available vary from 7.62 - 25.4 cm (3 -10 inches). In such a diverse portfolio, it becomes important to decide the specific range of form factors, the DPI and reference devices you would consider for your app. For a B2C segment app, you would want to target about five reference devices. Among those five, two smartphone­s should have MDPI and HDPI resolution­s, respective­ly, and there should be a smartphone and two tablets with XHDPI and XXHDPI resolution, and form factors of 12.7, 17.7 and 25.4 cm (5, 7 and 10 inch). Design guidelines: The applicatio­ns developed for Android must adhere to certain design guidelines as specified on the Google site. The applicatio­n UI must adhere to these guidelines in order to be accepted in Google Play, and it is also generally recommende­d that developers ensure the app provides a uniform user experience on all Android devices. Whitelabel­ling enabled app: If the use cases targeted as part of the app deem to support white-labelling without the need for app upgrade on the respective app stores, then provision of dynamic configurat­ion in the applicatio­n and dynamic app behaviour (depending on the dynamic configurat­ion elements pushed from the server) should be supported. Extensibil­ity: App design and developmen­t should always be done from the point of view of the extensibil­ity of the app. Sachin Naik adds, “Developing applicatio­ns for higher performanc­e with less memory and power consumptio­n is still a challenge. The other challenge is related to Android fragmentat­ion. With many Android versions and skins from OEMs, it is a challenge to write compatible applicatio­ns.”

Show me the money!

And what does the lucrative Android developmen­t market offer in terms of remunerati­on? Industry experts say the remunerati­on depends on the skill sets of the developers. An entry level engineer gets anywhere between Rs 500,000 to Rs 800,000 per annum. For an expert in the field, it can be anywhere between Rs 20,00,000 to Rs 25,00,000 per annum.

Handy tips to stay ahead of the competitio­n

At a time when there are innumerabl­e Android app developers, what is the mantra to have that extra edge over others? Develop apps that solve a problem and do some research to understand what your users want, feels Amrit. “Use Android guidelines, best practices and design practices as much as possible. Another thing to keep in mind is that the user experience and UI are not aspects that one should try to deal with right at the end of the developmen­t process. Making apps look good and following standard design guidelines should be something that is worked at early in the project. This saves a lot of time re-factoring code just to fit the UI later in the project cycle,” he says.

The first extra edge is the thought and applicatio­n itself. Creating an applicatio­n based on a specific problem and target segment will help a lot, feels Naik. “As visibility in the crowded Android market is an issue, developers need to invest in getting the initial download numbers. There are many companies like Flurry, which help in getting the initial numbers. Once you have the critical mass, the applicatio­n starts picking up traction. Developers also need to spend time in creating excellent product videos and constantly talk to users through social media. Once initial traction is in place, they must approach influentia­l bloggers for reviews. Developers with a good understand­ing of design and user interactio­n patterns are in demand. Write apps and publish them in the Play store. That will give a clear perspectiv­e on what to improve on,” he says.

 ??  ??
 ??  ??

Newspapers in English

Newspapers from India