Friday, January 10, 2025

Learn things that don't change

authorImage
Noor Mohammad
why we should learn fundamentals rather than frameworks

Have you ever wondered why some technologies are still with us and some have disappeared? Here is the Lindy effect to explain it. This effect tells me developers will still use C# and SQL when I retire. It is a concept in technology and innovation that suggests that the future life expectancy of a non-perishable item is proportional to its current age. In other words, the longer an item has been in use, the longer it is likely to continue to be used.

The concept was named after Lindy's Deli in New York City, where Nassim Nicholas Taleb popularized it in his book "The Black Swan." According to Taleb, the Lindy effect applies to many things, including technologies, ideas, and cultures, and evaluates their potential longevity.


We developers like to learn new stuff as soon as possible. That stuff consists mostly of new frameworks and tools (such as React, Angular, Spring, Web Forms, etc.). Yet, those frameworks usually have a short life, 2 to 5 years at their best. Instead of learning frameworks, which are needed to some extent, we should focus more on learning fundamentals.

Learning software development fundamentals allows developers to understand the underlying principles and concepts common across different frameworks and programming languages. This understanding allows for more flexibility and adaptability when working with new technologies or facing problems that a specific framework may take time to solve.

Additionally, a strong understanding of the fundamentals can lead to more efficient and effective use of frameworks, as the developer can better understand how to customize and extend them to meet specific needs.

Take an example of a web application that allows users to upload and share images, which is done, e.g., in Ruby on Rails and its functionalities for image processing. If the number of users increases, we could only work with performance issues if we know the framework well. Yet, if we understand the fundamentals of web development, we could identify bottlenecks and try different solutions, such as using CDN-s, optimizing image sizes, using various storage solutions, etc.

So, which fundamentals do you learn? Here are some:

  • Algorithms
  • Data
  • Clean Code
  • SOLID Principles
  • OO Programming
  • Design Patterns
  • Distributed Computing
  • System Design
  • And more.

Try to learn those fundamentals by reading these books in the next section.

All the energy I put into learning those technologies 10-15 years ago continues to support my work today. Some things changed, but the fundamentals stayed the same and even improved.

So, try to learn things that don’t change (quote from Jeff Bezos). Focus on foundations, not frameworks. I've been doing this for two decades now.

Enjoyed this article?

Leave a Comment below!


Please login to write a comment

Login

Comments


You may also like

Must-Know Websites

11 Free Must-Know Websites for Every Developer

Noor Mohammad

Friday, January 10, 2025

Building Dynamic and Interactive Websites

5 ReactJs Projects to Become a Better Developer

Noor Mohammad

Friday, January 10, 2025

In 2025, one skill stands out as a timeless and highly lucrative way to make money—writing.

Writing Is the Best Skill to Make Money in 2025

John Doe

Friday, January 10, 2025

Christian

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Blanditiis, eius! Ea, rem doloremque libero atque sunt veniam molestias eligendi culpa, consequatur sint minus deserunt delectus ex porro voluptatem commodi eveniet iusto facilis corrupti magni sit odio quae.