Upwardly Mobile.

By Team Digit Published Date
01 - Aug - 2006
| Last Updated
01 - Aug - 2006
Upwardly Mobile.
Operating systems and installable software are no longer associated with just PCs: mobile phones have very rapidly evolved to being computers on the go, with the ability to do almost everything a PC can-Internet browsing, word processing, multimedia, games, and more. With operators offering more value-added services such as downloadable games, the demand For Mobile applications is growing.

To cater to this demand, many large software services companies have a division dedicated to the development of applications and / or games for the mobile platform. Then there are smaller game development companies that have a division working on games for mobiles (or wireless devices as they are called). That's not all-online entertainment/content providers are also looking at reaching out to a wider audience through mobile phones.

All these factors have taken mobile application development from infancy to adulthood with an ample boost of hormones.

The Mobile Vs. The PC Platforms
At this point, it is natural to wonder why mobile application development is viewed differently from development for the PC platform-aren't they the same, or at least similar? Well, in both cases, what's involved is coding, testing, debugging, optimising and such. You need analytical skills and in-depth knowledge of the development tool and the target platform. When it comes to mobile devices, however, there are certain constraints that make writing the software more challenging.

Says Alok Sood, founder and COO of Jivanta, an outsourced game development services company, "Mobile games impose a lot of constraints-for example, limited memory and storage space, limited processing power, limited controls, small display sizes, poor resolution, and so on."  Vijay Jain, CEO and CTO of Astute Systems Technology, a developer and publisher of mobile applications, says, "Only about 20 per cent of the Java APIs are available on the J2ME (Java 2 Micro Edition), which is for mobile development."

In A Nutshell
Most companies currently look for candidates with a B.E. or B.Tech., and then train them according to their needs. In most cases, the training comprises one or more of the following: C , J2ME, Flash, BREW, programming for Palm OS, Symbian OS, and even VC . For game development, an aptitude for mathematics and prior work experience in multimedia is advantageous.
Starting salaries are more or less equal to those in any other software stream. In an established company it can be upwards of Rs 15,000, while in smaller companies, it is around Rs 10,000.
Besides programmers, the industry also looks out for multimedia designers, and in the case of games, script writers.

Raju Patil, head of mobile games, Dhruva Interactive, agrees. He goes on to say that game development in particular "involves cohesive team work involving designers, artists, programmers, testers, sound engineers and, last but not least, the producer who manages the overall development."

Skill Sets And Aptitudes
So what does it take to be a mobile application developer?
Major programming platforms such as Java and Flash come with their mobile editions-J2ME and Flash LITE respectively. Hence knowledge of Java, for instance, will help a fresher get familiar with the mobile version. But as one progresses to advanced levels, the advantage of knowledge of the PC version diminishes, and it takes more or less the same effort to specialise later on. However, all the companies we spoke to agreed that a person with a B.E. or B.Tech. background is easier to train than others, owing to their strong fundamentals.

Most companies look for candidates with a B.E. or B.Tech., preferably in electronics. As Dr Srinivas R Kandula, director, HR, Sasken Communication Technology Ltd, says, "We hire only electronics engineers, or in rare cases, MCAs. A certification in Embedded Systems would give candidates an edge over the others". For mobile game development, there are two other desirables. In the words of Jain, "A sound knowledge of mathematics is essential-to code AI, for instance -while a multimedia background gives an edge over other candidates."

While most companies look specifically for engineering graduates, they may be forced to relax this rule when the demand for manpower increases further. Of course, candidates will need to have some prior knowledge of the platforms they will be working on, and may even be required to initially settle for a lower pay package. One can take up courses in C , Flash (scripting), BREW, and J2ME. Of these, C is something one needs to know, no matter what software development he is interested in. Learning Flash LITE or J2ME will invariably give you the basics of the main platforms-Flash and Java respectively.

Of these, Java seems the hot favourite. Avers Adithyaa Srikkanth,  Director,  Krish Infotek, a Web and mobile game developer, "Java is the most popular choice for game development. Java, or the J2ME platform to be precise, is identified as the most convenient for developing mobile games."

The mobile gaming market could expand by as
much as 700 per cent by 2010 as compared to
December 2005

Once candidates are selected by a company, they are required to undergo training like in any other software field, where they are taught the specific development tools they will be using. The training period can vary depending on the company and the candidate's background. Sasken has a three-month training, after which a further three-month period is spent on getting acquainted with the works on a live project. Sood, however, feels the training period can be as short as a month for someone who has earlier worked in development, such as with Java.
Benefits, Growth, And The Future
There is a growing interest amongst programmers to specialise in the mobile platform-some developers in large software companies are requesting internal transfers to the divisions working on mobile platforms. They realise that their skill sets will be in even greater demand in a couple of years' time, and also that the job is more challenging. Initially, the pay scale is about the same as that of any other entry-level software engineer; it is after about two years' time that the remuneration will exceed that of developers on the PC platform. The designations here are, however, similar to those in the rest of the software field-a Junior Programmer progressing to a Programmer, Senior Programmer, Team Leader, Project Manager, Architect, Chief Architect...

Raghu, a Java professional from Bangalore, feels, "There is more excitement in writing applications for wireless devices than for a full-fledged PC platform. Maybe this is because the stream is relatively new, or because we have to work so much on optimisation for various devices with so many constraints. Besides, as one grows, the money is better!"

In an established company, salaries for beginners hover around Rs 15,000, and at the end of five years, go up to as high as Rs 60,000. There are several start-ups where you can expect around Rs 10,000, but as in any start-up or small company, the learning and growth curve is steeper. These salary figures are only indicative, and depend on individual performance-and, of course, the company.

What is the future for this stream of software development? Will it grow into a separate vertical, or will it eventually merge into the sea of "software development" that subsumes all kinds of software?

Srinivas Rao of Sasken avers that with the boom in the telecom sector, there will soon be a further need for professionals to program mobile applications. According to a research by In-Stat/MDR, the Indian mobile gaming market is projected to grow to $336 million by 2009. Another study indicates that the mobile gaming market could expand by as much as 700 per cent by 2010 (as compared to December 2005)

We need only look around us-many of us now use an application or value-added service on our mobile phones that we didn't have even a couple of years ago. This field is here to stay.  

Team DigitTeam Digit

All of us are better than one of us.