With the success of Azure and Hybrid Cloud, Microsoft is one step closer to dominate in multiple sectors. Buying Nokia is a signal that it wants to domiante the Mobile smartphhone devices world. With Azure offering media services also, Microsoft is becoming a software, devices and a services company.
Azure datacenters and the software built around it are the backbone for the future Microsoft offerings. It has begun its battle earnestly by offering a discount to those who come in and are willing to exchange their old iPads and buy Surface tablet. MS recognizes that the tablet will be a key device for people and it is accordingly moving ahead.
This is a major shift in the path ahead, from being only a software company, to devices, software and services company. Microsoft has been manufacturing devices but never before have we seen such a major shift. It is rumoured that 90% of its staff (Microsoft's) are working on cloud and cloud related products. Cloud will form the backbone and will be a key factor for its success.
Given this major shift, is Microsoft doing enough to get developers ready to take up the jobs which will come up from cloud and smartphone adopters. To answer this question
let us consider the following :
1. Developers today are working and getting jobs because of their proficiency in developing desktop and web applications. They have gained this knowledge by steadily working on Microsoft tech.
2. Training programs were driven by huge demand for developers which resulted in many training institutes coming up thereby meeting the demand. Software development was relatively easier for engineers who had gone through rigorous academic exercize. However, software development has evolved and learning curve is steep today.
3. New developers (just out of college) will find it difficult to catch up with the multitude of technologies in the market and multiple requirements.
In this background, it will be good if Microsoft contributed towards training in a more diverse way. I have ventured to suggest to Microsoft the following steps to ensure that beginners, those who have just passed out of college, and the experinced are well prepared to take up jobs in Microsoft environment are ready to take up assignments.
1. Training should be in four areas - desktop, web, cloud, iaas, hybrid application development
Desktop : teach developers desktop application development for beginners, covering techniques and steps of developing an database software application for the desktop / single user and network
Web : teach developers who have completed the above module, web development, and this coursea should cover techniques and steps of developing an web database software application (can be uploaded to the SaaS option in cloud)
Iaas : teach developers how to use Microsoft Inrastructure as a service (the above two modules are a must)
Cloud : teach techniques and steps of developing an database software application for the cloud (PaaS)
Hybrid : this course will be for an advanced user and can be prescribed for those who finish the above courses
2. Emphasise on Domain knowledge
Domain knowledge in any specific vertical is a must for any developer. One of the ways available for developers to enhance their durability in the IT industry is by increasing their domain knowledge. Suppose, they were in the Healthcare industry, they should try and strive for a reasonable level of proficiency in the working of hospitals, health insusrance,
finance in healthcare, local laws etc. This knowledge makes it easier for prospective employers to hire these engineers and developers as training costs, time to aclimitize will
be lesser. And, this will go a long way in securing their careers.
Microsoft can consider doing something for enhancing developers domain knowledge - with their Universities program.
Universities can become the hub for nurturing developers in cities which are near the hub.
3. MS should come out with marketplace for MS related products, whether it is books, software, or other services.
4. Provide an enabling platform to allow people who are behind MS based products to Network
5. Associate these product developers to network with Evangelists
6. Associate Universities and colleges with individual companies who are into Microsoft related software
7. Promote across country networking among developers. Given the concepts based training required it is necessary for more experts in Azure, Hybrid and Smartphone computing to be visible
Azure is big. Comes with many features and wide range of services. It is at the beginning and doorstep of a new technology. In fact, Steve Ballmer said after Windows 95 this is the big
Can students coming out of college grasp the enormity of the change?
Are there enough trainers who grasp what is required of a developer to be able to contribute at workplace?
These are the concerns MS should try and address.