Das Look Around You (LAY)-Prinzip
Das LAY- Prinzip - in Kürze
Eines meiner aktuellen Projekte ist die Entwicklung eines Offline-Syncs für hybride Apps, die u.a. mit OpenID Connect arbeiten.
Konkret soll das Sync-Feature dem User also ermöglichen, mit oder ohne Internet-Konnektivität, mit großen Datenmengen zu arbeiten. Hat man eine aktive und ausreichend schnelle Internetverbindung, werden die Offline-Änderungen auf die dedizierten Cloud-Instanzen synchronisiert.
Eines der von mir angewandten Prinzipien, um die Herausforderungen in diesem Projekt zu meistern, ist das sogenannte LAY-Prinzip.
Von Grund auf neu?
Manche Entwickler haben die (schlechte) Angewohnheit, sich selbst als den besten Software-Entwickler der Welt zu sehen.
Kommt schon Leute, ist das euer Ernst?
Nicht falsch verstehen: Entwickler können und sollen stolz auf das sein, was sie geschaffen haben.
Aber, es ist davon auszugehen, dass es mindestens eine Person da draußen gibt, die auf die gleiche oder bessere (im unwahrscheinlichen Fall) auf eine Lösung kommt.
Ich bin der Beste. Sicher?
Neben dieser Angewohnheit neigt diese Art von "Ingenieur" nicht umzusehen und zu identifizieren, welche Lösungen es da draußen bereits gibt, welche die Anforderungen bis zu einem gewissen Grad lösen - denn niemand kann das so gut wie sie.
Aber es kann nicht schaden, sich mal umzuschauen... ;) Und nur genau darauf zielt das LAY-Prinzip ab. Ziemlich einfach, oder?
Das Rad neu erfinden. Nicht schon wieder!
Es gibt einige hochtalentierte Entwickler da draußen, die jeden Tag großartige Produkte, Bibliotheken oder Frameworks entwickeln. Und... einer von ihnen macht die Welt für viele Entwickler in ihrem täglichen Geschäft um einiges einfacher.
Ein schönes Beispiel ist das Gebiet des maschinellen Lernens...
Ist es wirklich sinnvoll, die ganze Theorie, die an sich schon komplitziert genug ist, auch noch in eigene Software-Bibliotheken abzubilden? Natürlich können Sie das, aber warum sollten Sie das tun (und NEIN, ich beziehe mich nicht nur auf wirtschaftliche Gründe)? Vor einem didaktischen Hintergrund wäre das in Ordnung. Ich habe auch bereits Algorithmen von Hand implementiert.
Lernen und profitieren Sie von den Erfahrungen anderer
Indem Sie bestehende Lösungen bis zu einem gewissen Grad integrieren, adaptieren oder erweitern, werden Sie in der Regel schneller und effizienter zu einer Lösung kommen.
So können Sie sich auf Ihre spezifischen Probleme, Domänenlogik, konzentrieren :)
Unsere Zeit ist zu wertvoll, als dass wir uns mit bereits gelösten Problemen beschäftigen sollten.
ABER, wenn es nichts adäquates gibt und Ihre Lösung ein wirkliches Problem löst, dann können Sie etwas bewirken und das Leben anderer um Einiges einfacher machen, in dem Sie ihre Lösung teilen.
Conclusion
Schauen Sie sich um - schauen Sie sich bestehende Lösungen und Vorgehen an, die Sie beim Aufbau Ihrer nächsten Lösung unterstützen. Lernen Sie von anderen und versuchen Sie, jeden Tag einen Unterschied zu machen.
Cheers PG