惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Full Disclosure
WordPress大学
WordPress大学
小众软件
小众软件
Cloudbric
Cloudbric
AWS News Blog
AWS News Blog
腾讯CDC
量子位
人人都是产品经理
人人都是产品经理
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Vulnerabilities – Threatpost
Scott Helme
Scott Helme
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
C
CXSECURITY Database RSS Feed - CXSecurity.com
The Hacker News
The Hacker News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
IT之家
IT之家
Jina AI
Jina AI
Attack and Defense Labs
Attack and Defense Labs
S
SegmentFault 最新的问题
Simon Willison's Weblog
Simon Willison's Weblog
The Cloudflare Blog
阮一峰的网络日志
阮一峰的网络日志
T
Tailwind CSS Blog
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
Google Online Security Blog
Google Online Security Blog
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
罗磊的独立博客
L
LINUX DO - 最新话题
博客园 - Franky
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
The Last Watchdog
The Last Watchdog
J
Java Code Geeks
AI
AI
C
Cisco Blogs
酷 壳 – CoolShell
酷 壳 – CoolShell
C
Cyber Attacks, Cyber Crime and Cyber Security
Cisco Talos Blog
Cisco Talos Blog
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
Help Net Security
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
云风的 BLOG
云风的 BLOG
I
Intezer
S
Securelist

Arpit Bhayani

Temporal Primer - Building Long-Running Systems What Matters in Production RAG Structure of Every LLM Chat How LLMs Really Work Your Monolith Is Already A Distributed System Databases Were Not Designed For This BM25 JOIN Algorithms Venting at Work Comes at a Reputation Cost Multi-Paxos - Consensus in Distributed Databases MySQL Replication Internals Bloom Filters When You Increase Kafka Partitions Product Quantization The Q, K, V Matrices The Day I Accidentally Deleted Production How LLM Inference Works What are Blocking Queues and Why We Need Them Heartbeats in Distributed Systems How Writes Work in Apache Cassandra Redis Replication Internals How to Handle Arrogant Colleagues at Work How Does a CDN Handle Content Replication You Can't Fix Everything on Day One When Emotions Spill Over at Work Why gRPC Uses HTTP2 Meetings With No Agenda Are a Waste of Time Career Longevity Beats Constant Job Hopping Stay Relevant at Higher Salary Levels Why Distributed Systems Need Consensus Algorithms Like Raft Why Do Databases Deadlock and How Do They Resolve It Why and How Cache Locality Can Make Your Code Faster Why Eventual Consistency is Preferred in Distributed Systems Why does DNS use both UDP and TCP Should You Do a Master's My Honest Take Empathy Makes Great Engineers Unstoppable Good Mentors Build People, Not Just Skills Why You Should Always Have Back-Burner Projects Before You Push Back, Know What You're Standing On Be the One They Can Count On How Much Are People Willing to Bet on You How to Get Leadership to Say Yes to Your Project Don't Let Your Best Ideas Die in Silence Be the Person Everyone Wants to Work With The XY Problem and How to Avoid It The Startup Hiring Lie Nobody Talks About You Won't Be Promoted Unless You Ask It's Not Enough to be Right; Learn to be Heard No One Ships Great Software Alone You Don't Win by Proving Others Wrong Appreciate Generously; It Costs Nothing, But Builds Everything Your Soft Skills Aren't Soft at All Before you form an opinion, experience it Why You Need Both Curiosity and Action to Thrive A Daily Worklog Changed Everything How We Handle Mistakes Defines Us Own Your Mistakes Don't Wait. Step Up. Temporary Fixes Are Permanent Why Interviews Are Biased And What Sets You Apart Saying 'This isn't my problem' is actually the problem How to Write Effective OKRs Never Lose a Battle due to Miscommunication When In Doubt, Code It Out How to Follow Up Without Annoying People Lead Projects That Land, Execution Over Everything Abstract Thinking Will Define Your Next Decade We Engineers Suck at Task Estimation Shiny Obect Syndrome in Tech When to Change Jobs - The 3P Framework Comfort and Competition - Know When to Switch Gears Paper Notes - On-demand Container Loading in AWS Lambda Paper Notes - SQL Has Problems. We Can Fix Them Pipe Syntax In SQL Paper Notes - NanoLog - A Nanosecond Scale Logging System Don't Wait, Learn - The Best Resource is Mythical Paper Notes - WTF - The Who to Follow Service at Twitter The Unexpected Benefit of Reading Random Engineering Articles Roadmaps Are Limiting Your Growth Stop Leaving Money on the Table - Negotiate Your Job Offer Never Bad-Mouth Your Past Employers Show You're a Culture Fit Quantify your resume, Know Your Numbers The Importance of Being Likeable in Interviews Questions to Ask Your Interviewer How to Build Trust Through Collaboration Do This, Once You Are Out of the Interview Cycle Stop Pitching Ideas, Start Pitching Projects Read Those Design Docs, Even the Ones That Seem Irrelevant The Best Engineering Lessons Happen During Outages Great Engineers Start Broad LLM Summaries are Ruining Your Learning Turn System Design Interviews into Discussions Title Inflation At Work, Find Your Own Projects 6 Simple Strategies to Cracking Any Tech Interview How to Remain Unblocked Solving the Knapsack Problem with Evolutionary Algorithms Generating Pseudorandom Numbers with LFSR Local vs Global Indexes in Partitioned Databases Partitioning Data - Range, Hash, and When to Use Them
Why Half Your Skills Expire Every Few Years
Arpit Bhayani · 2026-02-08 · via Arpit Bhayani

Every three years, half of what you know becomes obsolete.

That is the half-life of knowledge in computer science and software engineering - the time it takes for half of what you know to be replaced by better tools, approaches, or understanding. For an engineering degree earned in 1930, the half-life was roughly 35 years. By 1960, it had dropped to about a decade.

Today, estimates for software engineers range from two and a half to seven years, with most trending toward the lower end.

The Half-Life

The half-life of knowledge borrows its name from nuclear physics, where it describes how long it takes for half of an unstable substance to decay.

Applied to professional knowledge, it measures how quickly what you learned becomes outdated or replaced.

In 1966, Thomas Jones, president of the University of South Carolina, estimated that an undergraduate engineer invests about 4,800 hours earning a degree. With a ten-year half-life, roughly 2,400 of those hours become obsolete within a decade.

Jones concluded that engineers would need to spend about five hours per week learning just to stay relevant. Over a forty-year career, that equals 9,600 hours - essentially two additional degrees.

But that estimate assumed a ten-year half-life. Later research, such as that cited in the IEEE Transactions on Education, placed engineering knowledge between seven and two and a half years. For software engineering, modern workforce studies by Deloitte fall below five years.

Using a five-year half-life, a modern engineer needs roughly seven to ten hours per week of deliberate learning to stay current. That is effectively a permanent second job.

Why Software Ages Faster

Not all engineering knowledge decays equally. Mechanical and civil engineering rely on physical laws that change slowly. Software operates under very different pressures.

Rate of Innovation

Languages, frameworks, and architectures evolve constantly. Web development alone has shifted from static HTML to dynamic JavaScript, from jQuery to Angular to React to Svelte, and from monoliths to microservices to cloud-native systems. Tools considered modern five years ago often become legacy.

Market-Driven Obsolescence

Software ecosystems evolve as much through adoption as technical merit. A technology can dominate because a large company backs it or because developer momentum builds around it. The Stack Overflow Developer Survey consistently tracks this “churn,” showing how quickly entire frameworks fall out of favor. When the ecosystem moves, entire skill sets can disappear quickly.

Compounding Abstraction

Every generation of tooling hides complexity behind new layers of abstraction. This improves productivity but creates knowledge tightly coupled to specific tools. When those tools change, the knowledge often becomes irrelevant.

Two Layers of Software Knowledge

Software expertise exists in two distinct layers.

Eternal Knowledge

Foundational concepts - data structures, algorithms, distributed systems, compiler theory, and computational complexity - remain valuable regardless of language or framework. Engineers who understand why systems work can adapt across technologies.

Ephemeral Knowledge

Frameworks, libraries, APIs, and tooling conventions provide immediate practical value but decay quickly. Knowing React internals, Kubernetes configuration details, or database-specific query patterns may be critical today and irrelevant within a few years.

The uncomfortable reality is that most day-to-day engineering work relies heavily on ephemeral knowledge. According to the OECD Skills Outlook, technical “specialist” skills have a significantly higher decay rate than transversal cognitive skills.

Experience vs Freshness

The shrinking half-life helps explain a persistent industry dynamic: experience does not age linearly in software.

Consider two engineers competing for the same role. One has twenty years of experience. The other has three. The senior engineer has accumulated far more knowledge overall. But if knowledge decays every five years, much of the older experience may no longer align with current stacks, tooling, or practices.

Hiring processes often amplify this effect. Resume screening favors current buzzwords over transferable expertise. Meanwhile, senior engineers command higher salaries, making younger candidates economically attractive.

This is not purely bias. It is a market response to rapid knowledge turnover.

Continuous Learning Is Not Optional

The only durable strategy in software engineering is continuous learning. Not occasional upskilling. Sustained, career-long adaptation.

Conservative estimates suggest maintaining relevance requires seven to ten focused learning hours per week. Most organizations implicitly push this responsibility onto individuals.

This creates a clear advantage for engineers who enjoy learning. For them, staying current feels natural. For others, it becomes an exhausting treadmill.

Several strategies make this manageable.

Prioritize Transferable Foundations

Invest heavily in fundamentals. Strong mental models in system design, distributed computing, and algorithmic thinking transfer across languages and frameworks. Tooling changes. Problem-solving patterns do not.

Optimize Learning Efficiency

Learning how to learn becomes a critical skill. Quickly identifying core concepts, ignoring noise, and extracting transferable patterns reduces the time cost of adopting new technologies.

Turn Work Into Learning

Introduce new tools or approaches through real business problems. Learning sticks best when applied to production challenges rather than isolated experimentation.

Build Breadth Before Depth

Engineers with broad familiarity across ecosystems and deep expertise in a few areas (the “T-shaped” model) adapt more easily than specialists tied to a single stack.

AI Is Accelerating Everything

Artificial intelligence is compressing knowledge half-lives even further.

AI coding tools now generate boilerplate code, suggest implementations, identify bugs, and automate testing. Tasks that once trained junior engineers are increasingly automated.

This creates a paradox. Entry-level engineers lose traditional pathways to gain experience, while senior engineers become more valuable because AI output still requires strong review and architectural judgment.

AI amplifies experienced engineers but raises the bar for developing that experience in the first place.

The Reward and the Risk

Software engineering offers a rare combination of intellectual stimulation and career volatility.

The upside is constant novelty. New problems, new tools, and new paradigms keep the field intellectually engaging. Adaptability and curiosity are rewarded more here than in most professions.

The downside is relentless reinvention. Past expertise can lose value quickly. Career stability depends on sustained learning at a pace that can be difficult to maintain alongside life responsibilities.

Some researchers argue knowledge does not truly decay but evolves into new contexts. Foundational knowledge certainly supports adaptation. But market hiring trends still heavily prioritize current technical relevance.

In software engineering, learning is not preparation for your career. Learning is your career.

e moment learning slows, your professional relevance begins to decline. The half-life of knowledge is not theoretical, rather it has become a continuous countdown running on every skill you have.