Pick Your Battles – Mature Technology is worth something

Zef Hemel von Cloud9 IDE, bzw. jetzt LogicBlox hat einen interessanten Artikel über Softwareentwicklung und Technologieentscheidungen geschrieben.

Er weist darauf hin, dass es einen Unterschied gibt, ob man eine Technologie einsetzt, weil sie dem Projekt hilft oder ob man sie einsetzt, weil man die Technologie ausprobieren möchte.

Seiner Meinung nach hat man zwei Optionen:

  • Eine geile App mit einer langweiligen, bewährten Technologie bauen
  • Eine langweilige, bewährte App mit einer Cutting-Edge Technologie bauen

Aus seiner Sicht verkraften die wenigsten Projekte beides…

  • Eine langweilige App mit langweiliger Technologie sorgt für Langeweile und Unmut bei der Entwicklung
  • Eine Cutting-Edge App mit Cutting-Edge Technologie birgt zuviel Komplexität und zuviele Unwägbarkeiten

Ein interessanter Standpunkt. Wie seht ihr das?

Der Artikel ist sehr umfangreich und bietet eine Menge Stoff zum Nachdenken.

Pick Your Battles by Zef Hemel

In summation:

  1. Don’t underestimate the value of mature technology. Things will break, and you will have to fix them. It’s bad enough if your own code is a problem, it’s worse when the problem is a poorly understood “feature” of your platform of choice.

  2. Don’t optimise prematurely. Don’t choose C because it’s faster. Don’t use MongoDB because, supposedly, it scales better. Don’t cache until you’re sure you have to.

  3. Be pragmatic. Technology like node.js and Redis have many great uses. If you hit one of their use cases: limit their scope to what makes sense. There’s no need to go all-in at all costs.