Human tail is like tech debt

Ming
2 min readJan 17, 2022

--

Did you know that human embryos develop a tail at some stage? I found it similar to tech debt in software engineering.

Human Embryo (7th week of pregnancy). Photo credit: Ed Uthman. Source: Flickr

Apoptosis is like a deprecation switch

You won’t see any appendage on newborns, because tails are removed by the end of embryonic development. “Why develop a tail in the first place”, you may wonder. My answer: Genetic mutations of adding apoptosis (“programmed cell death”) is safer than those of removing the tail-generating step.

Think of it like deprecating a feature in your software:

  1. You announce the deprecation first, perhaps by adding a @deprecated decorator.
  2. In a later version, you add a config switch that works around the old logic. You do this because, in case anything goes south, you can turn the old behavior back on.
  3. You only remove the actual code after full user migration has been confirmed, which may never come.

The apoptotic genes are the feature switch. It removes ex post facto.

Not developing a tail can cause trouble

In my answer above, “safer” means “more likely to pass the filtering effect of natural selection”. Over the past 375 million years when we evolved from fishes (Elpistostege or Tiktaalik, to name a few possibilities), there are likely times that the tail-generating genes has been knocked out completely. Unfortunately, these intermediate species went extinct.

Why the extinction? Because the mutation could’ve been a…

  • physical disadvantage. Maybe those deleted genes were also responsible for developing critical organs, and these unfortunate species were born handicapped and didn’t survive before they had the chance to reproduce.
  • social disadvantage. Even if those mutations led to healthy individuals, the absence of a tail could still have horrified their tailed peers, so much so that none was willing to mate with them. (These lonely bachelors would wind up drowning their sorrow in with beer while writing a story that compares tech debt to human embryos, a weird topic that made them even less desirable.)

As paleobiologist Lauren Sallan stated, “it would be very difficult to get rid of [the tails] entirely without causing other problems.”

The same goes in software engineering. Old components can be hard to remove, because higher-level features may be built on them. Think about the great effort it took Facebook to replace their server-rendered PHP website with React.

One more toast to the infertile species.

Final Words

Deprecation switches bloat up the codebase over time, so it’s important to review and remove as you go. We engineers can act with intention, a crucial advantage over our Mother Nature, who does things stochastically. Let’s make good use of this gift.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

No responses yet

Write a response