• Christiaan Quyn

A software developer’s analysis of Adam Smith’s Wealth of Nations

Updated: Jul 13

A revisit of the concepts indispensable to the understanding of contemporary society and capitalism in a digital world.


After my boss independently suggested this book, I finally brought myself to read it. An Inquiry into the Nature and Causes of The Wealth of Nations by Adam Smith remains one of the single most important accounts of the rise of modern capitalism. I found it applicable to understanding modern software engineering and the process of developing such products and decided to document and share some of my personal takeaways.


Disclaimer: I don’t claim to accurately reflect Adam Smith’s point of view. These are just some of my learnings and thoughts as I read the book.


The division of labor

Adam Smith uses the process of making pins to introduce the idea of division of labor.

“But if they had all wrought separately and independently, and without any of them having been educated to this peculiar business, they certainly could not each of them have made twenty, perhaps not one pin in a day; that is, certainly, not the two hundred and fortieth, perhaps not the four thousand eight hundredth part of what they are at present capable of performing, in consequence of a proper division and combination of their different operations.”

The big idea here is that work broken down into different processes and subprocesses, with a single person or groups of people specializing in a certain process results in an overall increase in productivity.


So how does this apply to the development of modern software?


Let’s look at Netflix


Dave Hahn, critical operations and reliability engineer at Netflix gave a really interesting talk at the DevOpsDays Rockies conference in 2016 (check out the video here). Here were some of the major takeaways -

  • Netflix uses a large ever-changing micro-service infrastructure so complex that there isn’t probably one person in the organization that understands all of it.

  • 100’s of Micro-services, 1000’s of daily production changes and 10,000+ virtual instances.

* Microservice architecture, or simply microservices, is a distinctive method of developing software systems that try to focus on building single-function modules with well-defined interfaces and operations. In the simplest form, they help build an application as a suite of small services, each running in its own process and are independently deployable. (source — https://smartbear.com/learn/api-design/what-are-microservices/)

Netflix illustrates how something seemingly as simple as personalizing your movie and TV show experience on the web is a complex combination of highly specialized and skilled teams working on their service, continuously deploying their changes to the application, irrespective (usually) of what other teams are working on at the same time.

Netflix is a classic example of personalization executed brilliantly. Its consistent, gorgeous design and user experience seamlessly showcases fantastic recommendations and featured content. It is beautiful, not just visually but in terms of interactivity as well. However, behind those recommendations are many ranking algorithms to provide personalized recommendations to every user.

As an example, you would have a team of data scientists sometimes working specifically on just one section of the experience with different algorithms being tested for each of these different sections.

Here’s an excerpt from a Netflix technology blog article — Source — https://medium.com/netflix-techblog/interleaving-in-online-experiments-at-netflix-a04ee392ec55


This, however, is just one part of the entire experience. The other parts of the experience include the UI technology stack, the delivery of content and much more. The conclusion here is that each section of the Netflix webpage has specialized teams working on different aspects of that section to deliver its entire experience. Although it may have been seen as trivial, the said section of TV show recommendations on your Netflix homepage is actually the work of data scientists, front-end developers, designers, and many others put together into a seamless, rather simple piece of content that makes up one section of your Netflix experience.


Productivity

Let’s further explore the role of productivity in “The Wealth of Nations”.

“The division of labour, however, so far as it can be introduced, occasions, in every art, a proportionable increase of the productive powers of labour.”

The idea here is that the division of labor brings about an improvement in overall productivity. Adam Smith cites productivity as one of the reasons why the division of labor is so beneficial.

Increasing the overall output without an increase in the amount of labor is a big idea that is explored in software development.

A person who specializes in a particular task develops his skills and has the ability to become an expert at it. In an environment where he/she is allowed to share and collaborate with the rest of the world at relative ease, this work could be expanded upon to create new innovation and spark improvement in that field. Let’s look at an example of this in the software world.

The JavaScript world JavaScript is one of the most important programming languages in the world. JavaScript code is modular and can be encapsulated. NPM is an online service where you can download (and upload) JavaScript packages.

* A package is a reusable piece of software which can be downloaded from a global registry into a developer’s local environment. Each package may or may not depend on other packages. (source: https://medium.freecodecamp.org/javascript-package-managers-101-9afd926add0a)

There are over 700,000 different packages available on NPM. Each package is a reusable chunk of code that can be assembled in powerful new ways. The power of high-quality packages, written by a variety of different developers and is accessible so easily means we can focus on solving specific problems we encounter rather than reinventing or solving a generic function that has been written many times before.

So what are the implications of this? As JavaScript rose to be the dominant client-side language of the web, developers have been able to produce nearly any type of application from real-time web applications, native desktop apps, to native mobile apps all built on JavaScript. Apps built on this technology are used by billions of people, generating billions of dollars in value every day. These include products built by Facebook, Microsoft, Google and Slack etc.


Free Markets

Adam Smith proposed the idea of free markets to have a tendency of regulating themselves by means of competition, supply and demand, and self-interest.

“It is not from the benevolence of the butcher, the brewer, or the baker that we expect our dinner, but from their regard to their own interest. We address ourselves, not to their humanity but to their self-love, and never talk to them of our own necessities but of their advantages.”

Investopedia.com eloquently expands upon the above.

By selling products that people want to buy, the butcher, brewer, and baker hope to make money. If they are effective in meeting the needs of their customers, they will enjoy the financial rewards. While they are engaging in their enterprises for the purpose of earning money, they are also providing products that people want. Such a system, Smith argued, creates wealth not just for the butcher, brewer, and baker, but for the nation as a whole when that nation is populated with citizens working productively to better themselves and address their financial needs.

(source — https://www.investopedia.com/updates/adam-smith-economics/)

So where can we draw parallels to an industry in modern times, that has prospered but largely been left unregulated and to its own devices?

The world of bits The explosion of ‘Open Source’ software (source code made freely available to download with the ability to be modified and redistributed at ease) has brought about powerful software that is constantly improving. This software is in a state of ‘perpetual beta’ by constantly being re-engineered and evaluated by developers all around the world. This could account for one of the reasons why some of the most incredible innovations of recent memory have been in the digital sphere (or the world of bits).

This world of bits, unlike its counter-part — the world atoms, is largely unregulated. The barriers of entry to creating software companies are significantly lower than industries such as energy, finance, etc. The internet allows communication on a global scale, the free flow of information almost instantaneously to anyone connected to the network. That information could be audio, video, and text or it could be cash payments made via credit cards to purchase goods and services on the other side of the world.

To understand what this means for the global economy, look at the economic impact of the ‘Web 2.0’ by looking at the total market capitalization of some of the most valuable public companies in 2006 vs 2016. In a relatively short period of time technology companies have become some of the most valuable public companies in the world. This is yet a simple illustration of the macroeconomic story of the last few years, and a plausible correlation between the argument Adam Smith makes for free markets and the rise of modern technology companies, due to the free flow of information, de-regulation and open contribution on the internet in the world today.


Adam Smith died on July 19, 1790, at the age of 67 but the ideas he put forward in ‘The Wealth of Nations’ live on. Hopefully, I have broken down and shared some interesting ideas worth further evaluation, applicable to the understanding of the rather confusing modern digital world we sometimes often find ourselves in today.



1 view0 comments

Recent Posts

See All