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.

4 thoughts on “What has changed for developers in the last 20 years”

  1. I would like to add one in fall of software testing. There is a rise of many testing methodologies which were followed by developer while developing application. One such is Test Driven Development approach which converge the defects to 0(ideal case) thus reducing software testing and maintenance costs

  2. JavaScript was invented in 1995. I doubt if it had libraries back then.

  3. JavaScript was invented in 1995. There were no libraries available back then . The first significant library was probably jQuery in 2006.

  4. I believe cloud computing and big data too has changed lives of developers significantly!

    Pardon me if this doesn’t count, I am not a developer! Or it could have been covered in one of the points above.

Comments are closed.