BANGALORE, INDIA: India has always been looked as a place from where companies could hire programmers and coders because of the vast talent pool available. Indian software developers were equally on demand internationally as well. All actions came to a halt with the economic downturn last year.
Now economy is crawling back in to shape. So the demand curve for software pros is going to rebound. But now, organizations are looking for software professionals who can see the bigger picture, and not have just the micro view of the project they are assigned. The shift is towards professionals who apart from having IT knowledge would also be aware of industry dynamics and can adapt to the changing needs of the industry and be up with the competition.
Enterprises are now starting to spend again on streamlining their business processes by using IT thereby creating new opportunities in the IT job market. The important thing for professionals now is to know the areas that would see most traction, and accordingly hone their skills and learn relevant technologies to be ready.
Evergreen Java and .NET
The two key technology platforms used by software houses the world over for developing applications are Java and .NET. The professionals having core expertise in either of these enjoy being in the evergreen market demand. There are two professional career paths that these professionals can follow. One towards web development and the other to enterprise class applications development.
The application development both on web front as well on the enterprise level will be on demand and so the demand for such professionals will always be there. But just knowing the core technology is not of much help nowadays. As the skill requirement for Java and .NET developers now encompasses not being just a web developer or an enterprise developer but to be able to bridge the gap between the two. For instance, a Java professional of enterprise applications would be having expertise on J2EE technologies like Java EJBs, RMI or Spring framework and other distributed computing components.
Since the natural progression is now more towards web oriented applications, a developer needs to add skillsets for web technologies to his core expertise, so as to be able to adapt and make himself suitable to the changing needs. Similarly for .NET developers, there isn't any dearth of opportunities. There is a lot happening in the Web 2.0 space. So a developer can also build skills on technologies that enable the next generation web such as Silverlight, AJAX, Expression as well as those which enable rich user experiences such as WPF.
Cloud Computing
This year saw Cloud computing as the big buzzword. And just because of the benefits that the cloud computing architecture offers, it's going to be adopted in a large scale. Many organizations have started contemplating having their own private clouds or plan to offer Cloud based services. The application development for the Cloud is not any different from mainstream application development, but there are some constraints attached to that.
A developer of enterprise applications knows what his likely overhead is going to be, as his application will be in a closed environment. While application deployed on the Cloud will have to be flexible and robust enough to scale itself to the sudden inflow of requests and also retract back when there is no traffic or requests so as to save on resources. Such constraints will have to be kept in mind by developers while developing applications for the Cloud environment. Google AppEngine, Microsoft Azure, Amazon are few cloud platforms for which developers can build and deploy applications.
Enterprise applications like CRM, ERP etc. which were already being offered as SaaS based services, are now being hosted on Cloud platform. Similarly enterprises who would be setting up their private clouds would be shifting their existing applications to the new platform. There would be a need for such application to be compliant with the Cloud architecture. There would be need to modify and test the applications for the Cloud. This would require both developers as well as testers for the process of transition to the Cloud platform.
Era of Rich Internet Apps
With the advent of Web 2.0 there has been an increased focus towards user experience and interactive software development. The appearance of Rich Internet Applications (RIAs) is the result of this evolvement. Unlike standard HTML based application, RIAs enable seamless and interactive transitions from one stage to another. RIAs offer enterprises a new platform for various types of content distribution as RIAs allow allocation of text, images, audio and video data in the most effective and user-oriented way.
For many years, we have been seeing Flash based animations and regarded it as an overload while delivering a webpage. But now Flash with supported functionalities of Flex and AIR has become the main platform for RIA development. Flash's competitors, such as JavaFx and Silverlight, are also upping the ante on features and performance.
Microsoft's Silverlight though stands second, it's surprising that JavaFX has lagged behind in the race of RIAs. The upcoming set of new web standards, i.e. HTML 5 will also be incorporation RIA functionalities including database connectivity. With so much happening on the technology front, and also organizations coming up with more intuitive, interactive and rich applications, having an RIA expertise will be the key resume differentiator for the coming year.
As discussed earlier, it is not enough to know core languages; Java or .NET. Enterprises are looking at adding more disparate functionalities to their applications, it's imperative and essential for a developer to be able to grasp on opportunities to know at least one of the RIA associated framework and technology. The gap between the designer and the developer is now fading.
Earlier developers didn't focus on the design of their applications. Now as user experience is rated the most on any software development project, the focus of developer is towards design also. Microsoft's Silverlight or JavaFX or even Flex and AIR are the technologies that are not difficult to learn and provide developer to add RIA functionalities to their applications.
It's not just the Web but also desktop applications that are being delivered on RIA platform. Application like TweetDeck, a desktop client for Twitter or Ebay's client applications are based on AIR. Flex and AIR developers can command for high opportunity and demand as organizations are developing RIA applications for their users and thus creating huge demand for such professionals.
Mobile development
iPhones, Blackberrys and other smartphones have triggered a whole new avenue as a career for software developers. It won't be wrong to say that enterprises are going mobile. Because, applications that a business user would want are available to him on his smartphone, for example he can send/ receive emails, view and create documents and presentations, etc. As smartphones are becoming more powerful and replacing computers or notebooks, enterprises want applications like CRM or BI to be available to their employees. The coming year will see more and more organizations delivering their enterprise applications on the mobile platform.
But mobile platforms are on disparate frameworks, be it Java, Windows or Symbian. A developer who wants to foray into the mobile development domain will have to gain core expertise in one of the framework. For instance, a Java developer should gain knowledge of java ME along with the specifications of CLDP, etc. Similarly .NET developers have a good prospect here as many of these areas are based on .NET framework and developers having core .NET skills can switch easily to mobile domain. These technologies are seeing large-scale adoption in small as well as large IT companies in India and developers are uniquely positioned to leverage this opportunity without having to go through a completely new learning curve.
Unlike iPhone, the new Android platform is open and developers can build applications for the phones that will be on Android platform. This too has opened new opportunity for developers who want to work freelance, and can sell their applications as downloads from Android store.
Embedded technologies
The advent of mobile devices and smart electronic devices has opened up an exciting area for embedded software developers. With embedded technology being used in digital devices of daily use, like cellphones, televisions, video players, cameras, cars, etc, the IT industry needs professionals -both hardware as well as software levels, for embedded software. With devices mostly being based on ARM chips or x86, it is important for embedded software developers to have complete knowledge of the architecture knowledge of C/ C++ languages for programming purposes. A developer should know the different architectures of the chipsets and how to deploy an application across.
It's not that embedded developers would be planting BIOS and other hardware level programs into the devices. Now as netbooks are becoming popular and dual chipset based netbooks being available having both Intel as well as an ARM processor. It has opened up avenues like having a complete operating system like Android embedded into the ARM chipset. There are many innovations going in the industry and thus is the increasing demand-supply gap for embedded professionals in India.
Project management
The biggest revenue provider to the Indian IT Industry is the IT services/export industry. Success for an organization is defined by the ability to deliver projects on time, within budgets as per the defined scope. Project management plays a crucial role in the success of the Indian IT Industry. It is also evident from the fact that a majority of the members of the PMI community comes from the IT industry. Most enterprises now demand Project management certification for employment or advancement as a Project Manger in the organization.
Project management as a career can take you to different directions and to many different industries. It is the domain knowledge which helps in deciding which industry you are apt for. Coming from an IT industry does not bound you to handle the projects in IT industry only. Your IT knowledge and project management skills can be suitable for enterprises that are going through various IT implementation projects --for instance a financial institution or a bank may require Project Mangers to handle their bank's automation project which will require the expertise of an IT professional having project management experience. IT professionals can aim for the project manager positions not only in IT companies, but also for the IT functions in other industries as well.
There are industry recognized professional project management certifications that include PMP, PRINCE2 that can be pursued. IBM in particular also has accreditation and certification programs for different proficiency levels in project management. As per a salary survey conducted by ZDNET, candidates with PMP certifications were the highest paid. Thus, with a PMP certificate from a Project Management Institute one can broaden his scope not only for Indian companies but also abroad.