Commonly, we confuse mature software with dated.  Boring technology  is full of good arguments there. Old technology not necessarily means i

Tech blog by Diego Pacheco

submited by
Style Pass
2021-05-15 04:16:35

Commonly, we confuse mature software with dated.  Boring technology  is full of good arguments there. Old technology not necessarily means it is terrible. I would argue that’s the case for languages like C, C++, and Java. We often bash relation DBS like MySQL and Postgres; however, they are the solid foundation for many systems. When we try to fix all problems with one single solution, a.k.a is a silver bullet where you might see valid issues for relational databases. However, several use cases are very well addressed by these solutions. We need to avoid confusing old tech with bad tech or dated tech. Dated technology often has several performances, maintainability, security issues. The world moved on, and these dated technologies get into the way. Other times you just can’t find developers any longer. Look at the case of  angular.js may be the youngest legacy ever made.

Another confusing is to say that monolithic things are bad, which is not necessary 100% true. Monoliths and microservices can be seen as different deployment units. Deployments units are about DDD Bounded Context and granularity. Bigger or smaller are acceptable solutions in the same spectrum as long as the decision makes sense and is coherent. It could be the case that a software component, let’s say small(i.e., microservices), is wrong, and you need to make it bigger and merge it with something else to have an easier mantaince path. But is also true that something more significant might need to be sliced to have a better-maintained approach. Evolution cannot be associated with the size of the deployment unit only. Otherwise, you will create a legacy, meaning, lousy maintenance path for your company.

Leave a Comment