Why Programming More Difficult Today Than it Used to be?

The answer is simpler than you might imagine. Digital technologies are growing in accordance to the increase of number of areas of their application. The number of areas is growing, therefore new and new functions being added to already existing digital technologies, moreover, programmers even inventing new programming languages.
Let’s reduce everything to a simple example, in the form of: the stages of the country’s formation. The formation of a country begins with the establishment of a settlement in a uninhabited place. A house is built, nothing extraordinary, wood and stone, enough for sleeping and protection from predators.
It’s time to evolve. Children are born, they formed own families, there is a need to build new houses and pave roads.
More people in a settlement means more food is needed for survival. Within the current territory, there is not enough food, that mean larger areas had to be explored or agriculture should be started. The community needs hunters, farmers, bakers. Ultimately, you have mouths to feed.
With the expansion of the settlement, more and more is needed. Taller buildings, better roads, sewerage, schools, hospitals, administrative institutions.
When the time comes to care for millions of people, new unexpected problems will arise, leading to the emergence of new professions and fields of activity. Life, which began with simple things, became complex and unfathomable to understand for the ordinary citizen.
Thousands of years ago, the caveman got fire by rubbing two sticks – a simple process that was taught to descendants. Now fire is everywhere, and there are a million ways to get it. Wheel, knife, rope – inventions that made our life easier, but it also requires us to learn more and more.
The caveman knew little, but he had everything at once. Hunted a mammoth, ran away from a tiger; snake – danger, berry – food. Nowadays you have to pay for food, the caveman had everything for free!
Once, in order to send a letter, you had to write it, buy an envelope and a stamp, drop it in the box and wait a month for a reply, now correspondence takes seconds. Complex tasks are automated and simplified on one hand, on the other hand, a lot of knowledge is required if you want to use these facilities.
Fifteen years ago, one programmer could make the backend, design overlay, write testss, configure server, because web sites were simple and did not bring so much income. Today, applications can bring millions and are developed by entire teams. In general, systems have become more complex, but a wider choise of technologies for a specific project appeared, flexibility and functionality increased accordingly. The project is now divided into parts, each of which is developed by a separate developer.
Nowadays, the complexity of programming has not increased, there are many ready-made solutions on the Internet, one thing left though, how to use all of them?, and this opens a new era in programming for us.