Tag Archives: software developers

The real disruption from the cloud is yet to come for Indian IT services companies

About 60% of revenue for software vendors (for businesses) is custom and 40% ($135 Billion, 2014) of it is packaged. Over the last 10 years, the trend has shifted from custom  to packaged (Saas). With the rise of cloud deployment the time to install, upgrade and customize software has reduced dramatically as well. Finally with cloud deployments, the number of people needed to manage servers, patch and upgrade systems has dramatically gone down.

These 3 main factors are the reasons why there is a lesser need for software developers, system administrators and systems integrators.

The WSJ has a piece on Indian Outsourcing firms changing direction thanks to cloud. The piece talks about how larger customers of Indian outsourcing firms are no longer signing up for large contracts to outsource their work.

The Indian outsourcing market has grown over the last 20 years from less than $1 Billion to over $120 Billion in 2014. There were 5 major drivers of this work as large IT organizations moved their back office work to India.

1. Support and maintenance of existing custom software. – 30% of revenues

2. Customization, deployment and installation of package software (SAP, Oracle, Siebel, etc.) – 25%

3. Remote managed services – managing, hosting, upgrading and patching systems – 20%

4. Business process outsourcing such as legal, administrative, and finance and accounting – 15%

5. Call center services and customer support – 10%.

In the next 10 years, there are expected to be over 10,000 SaaS companies catering to needs of most all sub segments of the market and niche user spaces.

Thanks to SaaS, the need for custom software is going down.

The rise of cloud-deployed SaaS also means fewer companies need as many people to upgrade or “deploy” packaged software. Customization is still needed, but much less so.

The rise of IaaS (Infrastructure as a Service) means the need for remote managed services is also reducing.

Many of the call center processes are being automated with machine learning, Artificial intelligence and data science. Which means that the need for call center services is reducing but that’s also because the customer experience was poor compared to having folks in the US support customers locally.

What does this mean for Indian IT outsourcing? Will they evolve or perish?

The large companies will try to morph and grow (many are struggling to do so), into full service providers with a focus on consulting (which needs fewer, but higher-end resources), data science and cloud managed hosting services.

Many of the resources will need to be retrained and redeployed.

The real disruption in IT outsourcing to India over the next 10 years is coming. The challenge that’s being faced by these companies is to figure out how to disrupt the larger systems integration firms that are migrating to consulting and complete IT outsourcing as opposed to software development, maintenance and monitoring.

What has changed for developers in the last 20 years

I asked this question on Hacker News last week to understand the shifts in software development over the last 20 years. From 1995 to 2015, there has been a dramatic change in the developer ecosystem. I thought I’d summarize all the changes and try to make sense of the trends. In this post I am only going to focus on the identification of the trends, as opposed to the analysis. I would love your thoughts on trends I may have missed.

1. The rise of open source options: In 1995, there were about 5 open source languages for the web including Perl. Now there are over 100 languages including Ruby, PhP and Javascript.

2. Plethora of libraries and frameworks: From < 10 libraries and frameworks to over 200 (Bootstrap, Javascript frameworks, etc.) The only libraries available in 1995 were those for Javascript. Today, there are over 100 libraries and frameworks for Php alone.

3. From waterfall approach to development to Agile: Most early software development was based on Requirements -> Design -> Architecture -> Development -> Testing -> Release. Now with agile methodologies being followed by many development teams, we are seeing a rise of faster release and in many cases daily releases.

4. Client-server application development to Web apps to Mobile apps: The overall changes are from PC (dekstop / laptop) client software to web applications and now to mobile applications. We have gone from native clients to browser based apps back to native mobile apps all over again.

5. Phenomenal rise of consumer apps, thanks to mobile : Personal finance (Intuit), to 1+ Million consumer apps thanks to mobile. PC’s were largely (90%) used for “work” with few consumers having home PC’s. The home PC’s rose thanks to the web, but now everyone has a mobile phone. Which has led to a phenomenal increase in # of consumer apps, not just business or productivity apps.

6. Increased availability of application level API’s: From providers such as Facebook, Twitter, and others on programmable web. The abstraction of core API’s from just Operating system SDK’s to application level API’s has made the move for apps to be built on the next level of the application stack.

7. Ease of looking up coding examples, tutorials and sample code: Thanks to Stack Overflow and Github, there are many more samples, code snippets and examples that developers can use to be more productive quicker.

8. Rise of coding / hacking schools: From no programming skills to employed developer in less than 6 months. Most developers, 20 years ago, needed to have an education in Computer science, before they could code. With the rise of frameworks and libraries, along with higher level languages, there has been a significant rise in number of coding schools and bootcamps to get anyone with any degree be a developer in less than 6 months.

9. Increase in the number of indie developer (solo): With the rise of consumer mobile apps and mobile games, there has been a significant rise in # of solo developers who are able to make a living based on building applications for niche audiences.

10. The change in market share of complied versus interpreted languages: 20 years ago, most programs and applications were compiled (C, C++) and the share of interpreted languages was small. Now, with Javascript Ruby and Php taking the forefront, most applications are interpreted not compiled. The only exception is mobile apps – which are still compiled.

11. The rise of DevOps: Developers are now being asked to not just build and architect, but also release and push their apps to production. Roles that were previously performed by specialized system administrators and release engineers are now performed by the software developers themselves.

12. The fall of software testing: More developers are also being asked to test their own code and software applications, instead of handing off the testing to a separate team.

13. The changes in app distribution – App Stores: Discovering, installing and using apps is a much more smoother and easier process now than before thanks to App stores.

14. The availability of Cloud infrastructure for app development: The biggest change for developers over the last 10 years has been the rise of AWS and other cloud services, which allow developers to provision, build and deploy instances and machines much faster than 20 years ago.

I’d love your feedback on the relative ranking of these trends and if I have missed any trends I’d love your feedback on those as well.