Tag Archives: software developers

Why few developers will make multi-millions but most will see their salaries flatten

This week on the app Blind there were several discussions about salaries. Specifically if technology engineer salaries have peaked.

Blind App

Google, Meta and Microsoft in particular, and some other companies in the valley, were known to pay over $1 Million for senior developers. In 2019, Google had 21 engineers making over a million and that number has most certainly gone up since. Similarly Facebook was known to have over 25 engineers making salaries over a million dollars (outside of stock RSUs and options).

To be fair, in the valley, a million dollars is a lot, but not unusual.

The discussion on Blind, the anonymous networking app, was if mid-level and senior engineers will no longer see $500K – $1M salaries without becoming Directors or VPs.

There are 3 trends to consider before I came to the conclusion that software development salaries will become more like Hollywood or professional sports salaries.

Few people at the top make a lot of money, while most B list actors make decent, but not more than the median income.

  1. With the flattening of the organization, Meta & others are seeking to be more like Amazon where there are certain metrics on span of control and ownership – minimum 6 people reporting to a manager and Directors should have at least 6-8 managers, which means their organization would be 50 – 100 people minimum. This means more developers per manager, and with AI, this will likely go higher, not lower (the number of developers reporting to an engineering manager will increase is my point).

2. The use of Artificial intelligence tools such as CoPilot and Tabnine will reduce the number of developers needed, as AI increasingly does a lot of the basic code output. This means a 10X developer will have to make 10X more than the average. If the average developer makes $150K, it makes sense for the 10X developer to make more than a million dollars.

3. 90% of the skills developers possess will become worth a tenth (e.g. actual writing of code that is reusable), but 10% of their skills (e.g. communicating with users and rapid iteration) will become more 10X more valuable.

Given these 3 trends, I predict that most developers will see their salaries remain same ($150K or so in the US as the median), but there will be far fewer developers in each team & organization.

At the same time a 1or 2 developers in each team or organization will make $1 million or more, even though they are not the manager.

Poll by Zigantic

In the poll yesterday by Zigantic, over 40% of developer (n=1362) expected their salaries to go dramatically lower. Which I dont think will happen.

While I understand the fear developers have, that’s not what I think is the way CEO’s and managers think. To prevent loss of morale, they will just hire fewer developers and make the current developers do more with AI.

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.