Unser IT-Blog: Wissen & Innovation

Fachartikel, Erfahrungen und aktuelle Entwicklungen aus der Branche

Wie ein Projekt meine Sicht auf Softwareentwicklung veränderte

29. Apr. 2025

Tilo Kowalski

67

Wie ein Projekt meine Sicht auf Softwareentwicklung veränderte

Als ich mit achtzehn Jahren mein erstes eigenes Framework, ein ORM-System namens Flink, entwickelt habe, hatte ich keine Ahnung, wie sehr mich dieses Projekt prägen würde. Es war kein Uni-Projekt, keine Arbeit aus der Ausbildung oder einem Kurs. Flink entstand aus reiner Neugier und dem Wunsch, etwas Eigenes zu erschaffen. Als bislang autodidaktischer Entwickler hatte ich zuvor vor allem kleinere Nebenprojekte betreut und Flink war mein Versuch, ein komplexeres Problem zu lösen: die Abbildung von Datenbankinhalten auf Objekte – ohne viel Boilerplate-Code oder manuelle Abfragen.

Damals kam mir überhaupt nicht die Idee, dass dieses Problem längst schon gelöst sein könnte. Ich habe nicht einmal danach gegoogelt, ob es bestehende Projekte oder Frameworks gibt, die ORM-Funktionalitäten bereitstellen. Im Gegenteil – von dieser Abkürzung hatte ich noch gar nicht gehört. Im Nachhinein bin ich froh darüber, denn diese Unvoreingenommenheit ermöglichte es mir, das Problem völlig eigenständig zu durchdenken und innovative Ansätze zu finden, die mir mit dem Einfluss bestehender Frameworks vielleicht nie in den Sinn gekommen wären. Womöglich hätte ich meinen Gedanken sogar vollständig verworfen und hätte nie die wertvolle Erfahrung gemacht, mal selbst ein Framework zu entwickeln – mit all den Fehlern und Erfolgen, die dazugehören.

Und tatsächlich: Flink funktionierte. Es war im Einsatz für reale Kundenprojekte und hat mir unglaublich viel über Softwareentwicklung beigebracht. Aber wie bei jeder Lernerfahrung wurde mir irgendwann klar, dass es Zeit war, weiterzuziehen. In diesem Artikel möchte ich teilen, was ich aus der Entwicklung von Flink gelernt habe – und warum ich es irgendwann hinter mir gelassen habe.

Die Idee hinter Flink

Damals fand ich die Vorstellung faszinierend, Datenbanktabellen in PHP direkt durch Klassen und Objekte zu repräsentieren. Ich wollte eine Lösung schaffen, die so einfach wie möglich zu nutzen war: Man definiert eine Klasse, gibt ihr ein paar Attribute, und alles – von Speichern über Abrufen bis hin zu Relationen – funktioniert "wie von Zauberhand". Ich habe viel mit magischen Methoden (__call, __get, etc.) experimentiert, um dynamische Abfragen wie User::getByEmail() oder $user->getPosts() zu ermöglichen, ohne dass diese Methoden explizit programmiert werden mussten.

Das Ziel war klar: Ein Entwickler sollte möglichst wenig tun müssen, um mit der Datenbank zu arbeiten. Alles andere sollte Flink erledigen.

Was Flink gut gemacht hat

Flink hatte definitiv seine Stärken:

  1. Schneller Einstieg
    Für kleine, nahezu statische Websites war es perfekt. Viele meiner damaligen Kundenprojekte hatten einfache Anforderungen: ein FAQ mit selbst anpassbaren Inhalten, Kursangebote, Speisekarten und Ähnliches. Ein paar Objekte mit simplen Beziehungen zueinander - Flink konnte das schnell und unkompliziert abbilden.
  2. Modularer Aufbau:
    Auch wenn ich mir damals keine formellen Vorgaben machte und der Großteil bewährter Praktiken noch fremd für mich war, war mir wichtig, dass Flink strukturiert ist. Die strenge Trennung von Entitäten und sonstigen Komponenten und Funktionen, war ein Ansatz, den ich von Anfang an verfolgte.
  3. Lernen durch Praxis:
    Flink hat mich gezwungen, über Themen wie Datenbankdesign, OOP-Prinzipien und sogar grundlegende Sicherheitsmaßnahmen nachzudenken. Das war ein Meilenstein in meiner Entwickler-Laufbahn.

Es war außerdem ein großartiges Gefühl, zu sehen, wie meine Kundenprojekte auf Basis eines eigenen, wiederverwendbaren Werkzeugs liefen. Zu wissen, dass etwas, das ich selbst geschrieben hatte, tatsächlich produktiv genutzt wurde, war unglaublich motivierend.

Die Schwächen von Flink

Trotz aller Erfolge hatte Flink offensichtliche Schwächen – viele davon wurden mir erst später klar:

  1. Hardcoded MySQL
    Flink war komplett auf MySQL zugeschnitten. Es gab keine Abstraktionsschicht, die die Nutzung anderer Datenbanken wie PostgreSQL oder SQLite ermöglicht hätte. Alles, von der Verbindung bis zur Abfrage-Syntax, war MySQL-spezifisch.
  2. Magische Methoden
    Die ausgeprägte Nutzung von __call und __get machte den Code schwer wartbar und debugfähig. Dynamische Methoden wie User::findBy* waren zwar cool, aber die Fehlerbehandlung und das Debugging waren ein Albtraum.
  3. Performanceprobleme
    Relationen wurden immer zur Laufzeit abgerufen, was bei komplexeren Projekten schnell zu massiven Performanceproblemen führen konnte. Ich hatte damals keine Ahnung vom N+1-Problem, geschweige denn von Caching.
  4. Fehlende Tests und Dokumentation
    Flink hatte keine Tests. Es war ein reines "Ich probiere das mal aus"-Projekt. Das führte dazu, dass Änderungen am Code oft unvorhersehbare Seiteneffekte hatten.
  5. Nicht erweiterbar
    Es gab keinen klaren Weg, Flink für größere oder komplexere Projekte anzupassen. Sobald die Anforderungen über einfache One-to-many-Relationen hinausgingen, war das System überfordert.

Warum ich Flink eingestellt habe

Mit der Zeit habe ich die Grenzen von Flink erkannt – und das hat mich dazu gebracht, weiterzuziehen. Ich habe Symfony und das Doctrine ORM kennengelernt und war sofort beeindruckt von der Flexibilität und Professionalität, die diese Tools boten. Dinge, die in Flink mühsam oder unmöglich waren, waren in Doctrine Standard.

Rückblickend war Flink eine unglaubliche Lernmöglichkeit. Es hat mir gezeigt, wie schwer es ist, gute Software zu schreiben, und wie viel Arbeit hinter scheinbar "einfachen" Tools steckt. Es hat mich dazu gebracht, über Wartbarkeit, Performance und Sicherheit nachzudenken – Dinge, die heute in meiner täglichen Arbeit selbstverständlich sind.

Mein größtes Learning

Der wichtigste Punkt, den ich aus Flink mitgenommen habe, ist dieser: Mach Fehler, und mach sie früh.
Flink hatte viele Schwächen, aber es war ein Projekt, bei dem ich all diese Schwächen selbst erleben und verstehen musste. Ohne Flink hätte ich nie so viel über Softwareentwicklung gelernt, wie ich es in den Jahren danach getan habe.

Heute arbeite ich im PHP-Umfeld fast ausschließlich mit Doctrine, aber Flink bleibt für mich ein Meilenstein. Es zeigt mir, wie weit ich gekommen bin – und erinnert mich daran, wie wichtig es ist, neugierig zu bleiben und Neues auszuprobieren.

Schlusswort

Wenn du in einer ähnlichen Situation wie ich damals bist und nicht sicher bist, ob sich diese eine Projektidee, über die du ständig nachdenkst, wirklich lohnt, dann sage ich: Geh es an! Nicht, weil es das beste Tool wird, sondern weil du unglaublich viel daraus lernen wirst. Und wer weiß, vielleicht ist es der erste Schritt auf deinem Weg zu noch größeren Projekten – so wie es Flink für mich war.


>
Logo

Wir bieten kundenspezifische Software, ergänzt durch Beratungsleistungen und Schulungen. Unsere Expertise vereint jahrzehntelange Erfahrung mit frischen, modernen Technologien, um innovative und zuverlässige Ergebnisse zu liefern.

Rechtliches

Impressum Datenschutzerklärung

Kontakt

Kowada UG (haftungsbeschränkt)

Adresse: Kleiner Ring 10, 65550 Limburg

E-Mail: kontakt@kowada.de

Telefon: +49 6431 5687 345

© 2025 Kowada UG (haftungsbeschränkt)