Kategorie: Blog

  • Vom Problem zum Tool in 6 Stunden: Mein AEVO-Simulator mit Lovable & ChatGPT

    Vom Problem zum Tool in 6 Stunden: Mein AEVO-Simulator mit Lovable & ChatGPT

    Ich hatte keine Lust, Geld für eine Lern-App auszugeben oder mir Bücher zu kaufen. Also habe ich mir in 6 Stunden meine eigene gebaut – mit ChatGPT, Lovable.

    Wer nicht lesen und direkt zur Lösung will: aevo-trainer.davidsblog.eu

    Aber kurz Zum Anfang. Die Ausbildereignugsprüfung besteht aus zwei Teilen. Einen praktischen Teil und einem schriftlichen. Der schriftliche Teil ist einfach aufgebaut:

    • 180 Minuten Zeit
    • 80 (mittelschwere) Fragen
    • Multiple Choice oder Single Choice – also nur Ankreuzaufgaben

    Auf den praktischen Teil gehe ich in diesem Artikel nicht ein. Mir ging es erstmal nur um die Theorieprüfung und die Frage: Wie bereitet man sich darauf am besten vor? Im Grunde gibt es zwei klassische Wege. Entweder man holt sich ein Übungsbuch mit Testprüfungen oder man bezahlt für irgendwelche Lernapps. Oder man macht es wie ich und nutzt die übrigen Tokens aus einem Hackathon, kombiniert Lovable, ChatGPT und GitHub und baut sich einfach seine eigene Software. Genau darum soll es hier gehen: wie ich mir eine Prüfungs-Simulation gebaut, deployed und am Ende auch wirklich zum Lernen genutzt habe.

    Zusammenfassung

    EigenschaftTechnologie / Tool
    FrameworkNext.js (React)
    StylingTailwind CSS
    AI-BuilderLovable.dev
    LLMsChatGPT, Gemini
    DatenstrukturStatisches JSON-Array
    VersionsverwaltungGitHub
    DeploymentGitHub Pages & Actions
    DomainNetcup (Subdomain)
    Budget0 € (Free-Tiers / Tokens)

    Schritt 1: Die Idee

    Am Anfang war ich in der Stadtbibliothek und habe geschaut, ob es die passenden Bücher für Übungsaufgaben gibt. Gab es auch, aber eben aus dem Jahr 2009. Inzwischen hat sich so viel weiterentwickelt und geändert, dass mir die Fragen und Antworten aus dem Buch heutzutage nicht weiterhelfen würden.

    Was ist Plan B? Eigenes Geld in die Hand nehmen! Aber ganz ehrlich: die Prüfungsanmeldung selbst hat so viel gekostet. Jetzt noch ein Buch zu kaufen war nicht so meins. Also mach ich es einfach und nutze KI. Die KI (ChatGPT) stellt fragen, ich antworte und die KI sagt mir schließlich, ob meine Antworten richtig waren.

    An sich ganz cool, aber es fehlen zwei Aspekte: eine richtige Prüfungssimulation mit mehreren Fragen hintereinander und eben ein Timer, damit man sich schonmal an die Zeitbegrenzungen gewöhnen kann. Was macht man? Man baut eine eigene Lösung!

    Schritt 2: Der Plan und Umsetzung auf Lovable

    Ich hatte von einem Hackathon noch Tokens übrig. Tokens für die Nutzung verschiedener KI-Modelle auf Tensorix und ein Probemonat für Lovable. Und GitHub ist sowieso für die meisten Funktionen kostenlos. Schließlich lege ich los.

    Ich habe mir davor Gedanken gemacht und zusammen mit ChatGPT den besten Prompt für Lovable ausgearbeitet. Eines war mir wichtig: die Software sollte in next.js geschrieben sein und eine minimalistische UI haben. Schon das erste Ergebnis war erstaunlich. Nicht nur, dass Lovable die UI-Anforderungen komplett erfüllte, nein, auch im Code wurde alles so gemacht wie gewünscht. So gibt es ein zum Beispiel File, wo ich alle Fragen und Antworten als JSON in einem Array speichere, so wie in meinem Prompt angegeben.

    Warum aber genau als JSON im Frontend und nicht in der Datenbank oder live Fragen von der KI generieren lassen? mehr dazu später. Im folgenden ein Beispiel JSON-Eintrag im Array:

    {
        handlungsfeld: "3",
        schwierigkeit: 3,
        question: "Beim 'Blended Learning' werden verschiedene Lernformen kombiniert. Welche Kombination ist hier typisch?",
        answers: {
          A: "Präsenzunterricht im Betrieb und E-Learning-Phasen.",
          B: "Lernen während der Arbeit und Lernen in der Freizeit.",
          C: "Vortrag des Ausbilders und anschließendes Gruppengespräch.",
          D: "Verbindung von Theorie in der Berufsschule und Praxis im Betrieb."
        },
        correct_answer: ["A"],
        explanation: "Blended Learning (integriertes Lernen) bezeichnet die didaktisch sinnvolle Verknüpfung von traditionellen Präsenzveranstaltungen und modernen Formen von E-Learning.",
        question_type: "normal"
      }

    Meine zwei Tipps: bevor ihr mit dem Prompt beginnt, macht euch zumindest auf dem DIN A4 Papier grob eine Skizze oder generelle Planung der Software, also der Vision, die ihr im Kopf habt. So könnt ihr detailiertere Prompts geben. Der zweite Tipp betrifft Prompts: wenn ihr bei euren Tokens begrenzt seid, gebt eure Eingabe einem kostenlosen Modell wie ChatGPT oder Gemini und fragt nach Verbesserungen und Tipps. Es passiert schnell, dass man was offensichtliches übersieht.

    Schritt 3: Anpassungen

    Ich habe auf Lovable mehrere Anpassungen vorgenommen. Klar, das Ergebnis war bereits echt gut, aber man merkt eben nachträglich, dass man im Prompt doch das ein oder andere vergessen hat. So habe ich auf der Landingpage einen Absatz über mich hinzufügen lassen, also wer ich bin und warum ich das Projekt mache und einen Bereich für Sponsoren und Spender. Ich habe aber den Sponsoren-Bereich vorerst auskommentiert, weil der Bereich optional für die Zukunft ist, falls die Nachfrage nach der Lösung größer sein sollte als erwartet.

    Schritt 4: Umzug auf GitHub und kleine Anpassungen

    Nachdem alles auf Lovable gepasst hat, habe ich den Code in ein eigenes GitHub-Repo übertragen und direkt gecloned, damit ich lokal weiterarbeiten kann. Hinzu kamen noch kleine Veränderungen, wie zum Beispiel Anpassung der Inhalte im Impressum. In dem Stadium war die Software schon fertig. Doch es fehlte eins: die Fragen.

    Schritt 5: Die Fragen

    Wie bereits davor erwähnt habe ich die Fragen in einem statischen Array hinzugefügt. Deswegen ging es nun ans generieren. ChatGPT und Gemini sind heißgelaufen. Die Fragen wurden generiert und direkt von mir kopiert und in das Array hinzugefügt. Problem: natürlich sind jetzt viele Fragen doppelt oder sogar dreifach im Array drin (weil klar, woher sollen die Modelle wissen, wer welche Frage schon erstellt hat?), aber das war in diesem Moment nicht für mich relevant. Und jetzt zu den drei wichtigsten Fragen:

    • Warum in einem Array und nicht in einer Datenbank? Ganz einfach: ich wollte so schnell wie möglich anfangen zu lernen und nicht erst mich damit beschäftigen, eine Datenbank aufzusetzen. Klar, designtechnisch ist es nicht schön gelöst, da alle Fragen vom user vor der Nutzung heruntergeladen werden müssen. Aber bei einer Größe unter 200kb noch vertretbar. Also: bei einem Privatprojekt ja, bei einem Kundenprojekt bitte niemals machen.
    • Warum eine Liste an Fragen erstellen und nicht von der KI live generieren lassen? Es wäre praktisch, wenn Fragen live von LLMs generiert werden und die KI gezielt die Schwächen der User erkennt und diese trainiert. Hierbei gibt es aber ein Problem: LLMs kosten Tokens und ich will kein Open Source Projekt machen, wo ich monatlich bezahlen muss. Und dazu gibt es auch eine klare Eingrenzung der Fragen in der AEVO Prüfung auf die vier Hauptbereiche. Wenn im Array jetzt 500 Fragen und Antworten drin sind, dann hat man eigentlich alle Themen abgedeckt. Also warum dann immer neu generieren lassen, wenn jeder user sowieso die gleichen oder zumindest ähnliche Fragen bekommt?
    • Wie gehe ich sicher, ob die Antworten richtig sind, wenn ich sie blind von der KI übernehme? Ehrlich gesagt: Ich hab’s beim Lernen gecheckt. Für einen kompletten Anfänger wäre das riskant, aber da ich schon 150 Seiten Buch hinter mir hatte, war mein Bullshit-Detektor scharf genug. Wenn mir eine Antwort komisch vorkam, hab ich kurz gegoogelt. So hab ich die App während des Nutzens quasi „live“ korrigiert. Ein cooler Nebeneffekt: Durch das Fehlersuchen lernt man fast noch mehr.

    Schritt 6: letzte Anpassungen und mehr Fragen

    Nun, die Software war fertig und hatte über 300 (generierte) Fragen inkludiert. Nun ging es an die letzten Anpassungen:

    • Erstellung eines Cookie-Banner (nur um hinzuweisen, dass es keine Cookies gibt)
    • Entfernung von Google Fonts die von Lovable automatisch hinzugefügt wurden.
    • Veröffentlichung auf GitHub Pages mithilfe von GitHub Actions, hierfür habe ich ein Workflow für GitHub Actions geschrieben
    • Und zu guter letzt: eine neue Subdomain auf netcup erstellen und mit GitHub Pages verbinden!

    Wie ist es eigentlich mit dem Urheberrecht?

    Bei der Theorieprüfung zum Führerschein ist es so, dass es eine feste Liste an Fragen gibt und diese natürlich urheberrechtlich geschützt sind (Fragenkatalog). Die darf man also nicht einfach übernehmen oder veröffentlichen. Bei der AEVO Prüfung ist das anders. Es gibt keine feste Fragenliste, sondern die Fragen variieren bei jeder Prüfung und decken die vier Handlungsfelder ab. Solange die Fragen selbst generiert sind und nicht einfach 1 zu 1 aus Büchern, Apps oder alten Prüfungen kopiert werden, bewegt man sich hier auf der sicheren Seite.

    Und klar, Logos von IHK oder HWK zu verwenden ist natürlich nicht erlaubt, aber das versteht sich von selbst.

    Open Source & GitHub

    Wer jetzt Lust bekommen hat, selbst mal reinzuschauen oder das Ding für seine eigene Prüfung (oder ein ganz anderes Thema) zu erweitern: Nur zu! Ich habe den kompletten Code auf GitHub veröffentlicht. Ihr könnt das Repository gerne forken, kopieren oder nach euren Wünschen anpassen.

    Hier geht’s zum Projekt: https://github.com/RischDav/aevo-trainer-hub

    Vielleicht hat ja jemand Lust, das oben erwähnte Python-Skript zur Dubletten-Prüfung einzubauen: ich freue mich über jeden Pull-Request!

    Learnings

    Von der ersten Idee bis zur fertigen Software inklusive der Fragen hat es am Ende nur etwa 6 Stunden gedauert und ich habe dabei echt viel gelernt. Es war das erste Mal, dass ich richtig mit Lovable gearbeitet habe und gerade in Kombination mit meinen Programmiererfahrungen hat das super funktioniert, weil ich Dinge im Code direkt selbst anpassen konnte.

    Ein Beispiel: Durch das Hin-und-Her-Generieren mit ChatGPT und Gemini hatte ich am Ende einige Fragen doppelt im JSON. Klar, ich hätte mir kurz ein Python-Skript schreiben können, das die Texte vergleicht und Dubletten (z.B. per Levenshtein-Distanz) rauskickt. Das wäre die „saubere“ Entwickler-Lösung gewesen. Aber ganz ehrlich? Für meinen privaten Lern-Sprint war mir das egal. Ich wollte lernen, nicht die perfekte Datenbank-Struktur gewinnen.

    Genau das hat für mich den Unterschied gemacht. Was ich dabei am spannendsten fand: wie schnell man heute von einem Problem zu einer funktionierenden Lösung kommt. Vor ein paar Jahren hätte ich dafür deutlich länger gebraucht, jetzt sind es ein paar Stunden. Und genau das macht es irgendwie auch so cool.

  • Ich lerne PyTorch – Tag 1

    Ich lerne PyTorch – Tag 1

    Person sitzt nachts am Computer und schreibt PyTorch code. KI-generiertes Bild.

    Heute geht es los, ich will PyTorch lernen. Warum? Naja, KI ist heutzutage nicht mehr wegzudenken und KI nicht nur nutzen, sondern auch eigene Modelle entwickeln zu können, ist eigentlich ein richtig guter Skill heutzutage, der sich gut im Lebenslauf macht. Deswegen mein Ziel: jeden Tag ein bisschen PyTorch lernen und euch auf die Reise mitnehmen.

    Schritt 1 – PyTorch oder Tensorflow

    Also bevor wir überhaupt loslegen können (und bevor ich die Serie gestartet habe) kam die erste große Frage: Tensorflow oder PyTorch. Beide sind gute Frameworks und weit verbreitet. Doch nach kurzer Recherche war für mich klar: es wird PyTorch. Warum? Ganz einfach:

    1. Es ist einfach erlernbar und sehr intuitiv, als würde man Python-Code schreiben
    2. PyTorch hat deswegen derzeit die Nase vorne. Vor allem bei Startups und bei Forschungsprojekten.

    Und klar: Tensorflow hat die Nase vorne, wenn es um große Projekte in der Industrie geht, aber das ist jetzt nicht mein Ziel. Ich will erstmal klein anfangen und eigene Projekte realisieren

    Schritt 2 – Installation

    Jetzt benötigen wir alle Tools. Unter anderem Jupyter Notebook, weil sich damit das Arbeiten besonders angenehm gestaltet und man auch Zeile für Zeile die Ausgaben sieht…gut fürs Debugging.

    Mein Vorteil: Ich hatte bereits Python installiert und konnte deswegen einfach mit den Befehlen

    pip install torch torchvision
    pip install notebook

    bereits PyTorch und Jupyter Notebook installieren. Dann kann man bereits loslegen, oder?

    Schritt 3 – Das venv-Problem

    Ich sage so wie es ist: ich lerne teilweise mithilfe von Google Gemini. Besonders die ersten Schritte und auch Bugs lösen. So hat mit Gemini vorgeschlagen ein virtuelles Environment mit Venv zu erstellen. Warum? Wenn ich in Zukunft weitere Packages mit pip installiere, gehe ich sicher, dass keine Konflikte entstehen. Also, ich gehe in das Verzeichnis und erstelle ein eigenes Venv environment. Dafür gehe ich in den Ordner und gebe ein:

    python -m venv venv
    source venv/bin/activate

    Mit den Befehlen erstelle ich eine neue Umgebung und aktiviere sie bereits.

    Schritt 4 – Alles installiert?

    Ab jetzt bin ich im Terminal in der neuen Umgebung drin. Danach nochmal PyTorch und Jupyter Notebook über Pip installieren und es geht los:

    jupyter notebook

    Und es öffnet sich ein neues Browserfenster auf localhost:8888 und es kann losgehen. Ich erstelle eine neue Notebook-Datei und wie es sich gehört starte ich erstmal mit print(„Hallo Welt“) – siehe da, es klappt. Dann noch kurz testen, ob PyTorch installiert wurde:

    import torch
    x = torch.rand(5, 3)
    print(x)

    Und siehe da, die Ausführung klappt! Der Beweis, dass Pytorch installiert wurde!

    Danke, dass du bis hier hin gelesen hast, morgen geht es weiter!

    Hier noch die Installationsanleitung, die ich für PyTorch benutzt habe:

    https://pytorch.org/get-started/locally/?_gl=11rcv0rg_upMQ.._gaODYwNjA1OTkxLjE3NzUyNTQ3NTM._ga_469Y0W5V62*czE3NzUyNTQ3NTMkbzEkZzAkdDE3NzUyNTQ3NTMkajYwJGwwJGgw

  • Macht KI jetzt alle arbeitslos? Nein, aber es verstärkt den Fachkräftemangel!

    Macht KI jetzt alle arbeitslos? Nein, aber es verstärkt den Fachkräftemangel!

    Seit 2021 ist nichts mehr so, wie es davor war. Big Player wie Anthropic oder OpenAI übertreffen sich mit jedem neuen Modell selbst – und die Arbeitswelt hat sich radikal gewandelt. Praktikanten, Werkstudenten oder Berufseinsteiger? Brauchen wir für die klassischen Büro-Jobs nicht mehr. Ich meine, digitale Akten sortieren oder einfache Skripte schreiben kann die KI mittlerweile problemlos. Aber schauen wir mal fünf Jahre in die Zukunft: Sind dann alle ITler arbeitslos?

    Bei diesem Beitrag handelt es sich um meine persönliche Meinung. Ich werde hier vorrangig über die IT-Branche sprechen, aber im Kern betrifft es viele andere Berufsbilder genauso.

    Aktueller Stand

    Überall werden gerade massenweise Mitarbeiter ersetzt, was vor allem den IT-Bereich trifft. Das ist kein Wunder, denn Codezeilen tippen und Dateien hin- und herschieben kann die KI extrem gut. Zudem braucht eine KI keinen Urlaub und meldet sich nie krank. Sie wirkt wie der perfekte Mitarbeiter.

    Unternehmen wie Google und Spotify wissen das längst zu nutzen. Google hat bereits massive Einsparungen im Marketing vorgenommen. Spotify-Gründer Daniel Ek erklärte zudem, dass Entwickler bei ihnen kaum noch selbst Code schreiben, sondern ihn nur noch generieren lassen. Sein Zitat dazu bringt es auf den Punkt:

    Wenn ich mit meinen erfahrensten Ingenieuren spreche, den besten Entwicklern, die wir hatten, sagen sie, dass sie seit Dezember keine einzige Zeile Code mehr geschrieben haben. Sie generieren nur noch Code und überwachen ihn.“

    Daniel Ek

    Also: anhand dieses Stands müssten Entwickler sowie alle anderen, die tagtäglich am Computer arbeiten, eigentlich zittern. Die KI kann bereits viele Berufe ersetzen und steht doch erst am ganz Anfang ihrer Entwicklung.

    Die schmerzhafte Wahrheit

    Man muss es so offen und direkt sagen: Wer die KI jetzt prinzipiell ablehnt oder kein Interesse hat, sich weiterzuentwickeln, sollte sich entweder auf einen Bereich umschulen, den die KI noch nicht übernommen hat, oder eben hinnehmen, ersetzt zu werden. Large Language Models (LLMs) sind da, sie entwickeln sich rasant weiter und werden nicht mehr verschwinden. Es geht also nicht um die Frage, wie man verhindert, dass die KI einem den Job klaut. Es geht eher darum, wie man mit ihr zusammenarbeitet. Die wichtigsten Skills der Zukunft werden Prompting sowie das schnelle Erlernen und Bewerten neuer Tools sein. Wer da nicht mithalten kann, ist raus.

    Warum uns KI aber doch nicht vollständig ersetzt

    Jetzt kommen wir aber zum Positiven. Was sind die positiven Ausblicke durch die KI?

    Physische Welt

    Einerseits ersetzt die KI zwar viele Mitarbeiter, aber was sie nicht kann und wahrscheinlich noch sehr lange nicht lernen wird, ist die Interaktion mit der physischen Welt. Handwerker können also beruhigt sein.

    Haben Dampfmaschinen Mitarbeiter ersetzt?

    Als die ersten Dampfmaschinen kamen, war die Angst vor Massenarbeitslosigkeit riesig. Und dennoch sind wir heute nicht alle arbeitslos. In Fabriken, besonders bei Autoherstellern, stehen zwar bereits viele Roboter an den Bändern und etliche Prozesse sind automatisiert. Trotzdem haben uns die Maschinen nicht ersetzt. Im Gegenteil brauchen wir Menschen, welche diese Maschinen bauen, programmieren und warten. Die Mitarbeiter stehen nicht mehr direkt am Band, sondern entwickeln die Technik, die später dort arbeitet. Genauso wird es sich mit der KI entwickeln. Je mehr die KI übernimmt, desto komplexer wird der Prozess dahinter und desto mehr Personal benötigen wir, um diesen Prozess zu bändigen.

    Fachkräfte-Lücke

    Jeder Spezialist und jede Führungskraft hat mal klein angefangen. Man startete mit genau den Aufgaben, die heutzutage eine KI übernimmt. Erst später kamen komplexere Aufgaben und Verantwortung dazu. Was passiert aber, wenn diese erste Stufe der Karriereleiter wegfällt? Was passiert, wenn wir keine Einsteiger mehr brauchen? Womit füllen wir die Lücke, wenn die aktuellen Seniors in Rente gehen oder aufsteigen? Wer kommt dann nach?

    In Rollen, in denen es um echte Verantwortung und Haftung geht, kann man nicht einfach eine KI hinsetzen. Man spart vielleicht kurzfristig Geld, aber der Vorteil schwindet in dem Moment, wo die KI richtigen Mist baut. Meine Vermutung ist daher: Jetzt lassen sich viele vom KI-Hype mitreißen, aber in ein paar Jahren wird man feststellen, dass man doch deutlich mehr menschliches Personal braucht, als man heute vermutet hat.

    …und so weiter

    Es gibt noch viele weitere Argumente, warum die Angst vor der KI nicht berechtigt ist. Die aufzuzählen würde zu lange dauern (eventuell mache ich mal einen zweiten Part).

    Mein Fazit

    Klar, derzeit ist die Situation (vor allem für Absolventen) gar nicht schön. Man studiert jahrelang, um später um einen Einsteigsjob kämpfen zu müssen. Vor allem sah die Lage vor ein paar Jahren ganz anders aus: viel IT-Studenten hatten bereits vor Ihrem Abschluss einen sicheren Job in der Tasche.

    Aber wir sind gerade in der Mitte der Transofrmation. Es ist eine regelrechte Hysterie um KI, aber wie es sich entwickelt, es ist schwer abzusehen. Auch ist dieser Artikel deswegen meine persönliche Prognose ohne wissenschaftliche Belege und ähnliches. Aber eins ist klar, wir werden uns ändern müssen und lernen, gemeinsam mit der KI zu leben. Die KI wird keine Arbeitnehmer ersetzen, menschliches Personal wird aber eben in Zukunft anders eingesetzt als heute.

    Quellen

    https://www.br.de/nachrichten/netzwelt/trotz-digitalminister-prognose-jetzt-noch-informatiker-werden,VFRclOn

    https://www.heise.de/news/Spotify-Co-CEO-Top-Entwickler-schreiben-dank-KI-keinen-Code-mehr-11176381.html

  • Ist Ruby on Rails tot? Ich denke nicht!

    Ist Ruby on Rails tot? Ich denke nicht!

    Ja, ich arbeite noch mit Ruby on Rails (booooo), und ich muss ehrlich sagen, ich liebe es. Die Gründe? Viele! Aber darauf werde ich später eingehen. Aber egal wie man zu Ruby on Rails steht, eins ist klar: es ist inzwischen eine Nische, also zumindest im Vergleich zu den JavaScript-Frameworks. Klar, viele bekannte Namen (Shopify, GitHub etc.) nutzen noch Ruby on Rails, aber meistens noch irgendwo tief im Core. Große Teile, wie zum Beispiel das Frontend, wurden schon längst durch React oder Next ersetzt. Deswegen die Frage, warum sollte man Ruby on Rails heutzutage noch benutzen?

    Wichtig: Ich werde Ruby on Rails im Artikel nur Rails nennen. Ruby ist die Programmiersprache hinter Rails
    KI-generiertes Bild von Verschiedenen Frameworks, die Ruby on Rails beerdigen

    Was ist eigentlich Rails

    Ruby on Rails, oft einfach nur Rails genannt, ist ein Open-Source-Webframework, das in der Programmiersprache Ruby geschrieben ist. Seit seinem Erscheinen im Jahr 2004 hat es die Art und Weise, wie moderne Webanwendungen gebaut werden, revolutioniert. Das Ziel von Rails ist simpel, aber ambitioniert: Entwicklern dabei zu helfen, komplexe Anwendungen mit deutlich weniger Code und in kürzerer Zeit zu erstellen als mit anderen Technologien.

    Rails basiert auf zwei zentralen Philosophien, die es so effizient machen:

    • Convention over Configuration (Konvention vor Konfiguration): Rails trifft intelligente Standard-Entscheidungen für dich. Anstatt endlose Konfigurationsdateien zu schreiben, folgt das Framework bewährten Mustern. Solange du dich an diese Konventionen hältst, „weiß“ Rails automatisch, was zu tun ist.
    • Don’t Repeat Yourself (DRY): Jedes Stück Information und jede Logik sollte innerhalb eines Systems nur einmal existieren. Das macht den Code sauberer, wartungsarmer und weniger anfällig für Fehler.

    Dank seiner MVC-Architektur (Model-View-Controller) trennt Rails die Daten, die Logik und die Darstellung strikt voneinander.

    Wie bin ich zu Rails gekommen?

    Es ist eigentlich einfach: nicht ich habe Rails ausgesucht, sondern Rails mich (wie der Zauberstab bei Harry Potter).

    Wir hatten an der Uni eine Vorlesung, in welcher wir eine Software umsetzen mussten. Technologisch gab es drei Bedinungen:

    1. Rails
    2. Hosting auf Heroku (durch den Studenten-discount war es für so eine kleines Projekt kostenlos)
    3. SQLite3 als Datenbank

    Warum das ganze? Naja, der Professor mochte eben Rails und es ging darum den Prozess hinter der Entwicklung einer Software zu verstehen und nicht, dass man dann monatelang nur einem Bug nach dem anderen hinterherrennt, weil sich Datenbank und Framework nicht verstehen.

    Nun ja, ich fand es so toll, wie schnell man mit Rails eine funktionsfähige Plattform bauen kann und vor allem, wie gut Vibecoden funktioniert, dass ich später sogar ein anderes Projekt darauf aufgesetzt habe. Das Projekt ist bis heute immer noch 100% auf Rails. Aber genug dazu, kommen wir jetzt zu dem Teil, warum du überhaupt auf den Artikel geklickt hast.

    Konkurenzdruck

    Rails hat die Webentwicklung revoluzioniert. All-in-one Framework, in dem du das Frontend und das Backend verwalten kannst, ist ja zu schön um wahr zu sein. Deswegen dauerte es nicht lange, bis Konkurenz aufgekommen ist. Laravel auf PHP, Django auf Python oder next.js auf Javascript. Heißt, Ruby on Rails muss sich den Markt teilen. Und da kommt noch ein anderes Problem: an den wenigsten Universitäten oder Ausbildungsbetrieben wird noch Ruby gelehrt. Wenn man schon mit JavaScript arbeiten kann, dann steigt man lieber bei next.js ein, als eine neue Programmiersprache zu lernen, nur um ein bestimmtes Framework zu beherrschen.

    Das Ruby-Ecosystem

    Gefühlt jede Stunde erscheint ein neues Javascript Framework, Python ist der Champion in KI und Wissenschaft, PHP ist…naja…ist wie die Band, die seit 20 Jahren auf Abschiedstournee ist, aber irgendwie immer noch in den Charts auftaucht. Und Ruby? Fällt dir da ein bekanntes Framework ein? Das ist leider auch ein Problem zum Nachteil von Rails. Wenn ich zum Beispiel eine neue KI mit Python aufsetze, warum sollte ich mir die Mühe machen und dann noch schauen, wie ich Ruby und Rails in den Prozess involvieren kann, wenn Python mir ja mit Django schon direkt die Lösung bietet?

    Monolith-Monster

    Monolithen…für Software-Architekten schlimmer als jeder Horrorfilm. Während du bei einer Microservice-Architektur eine neue Datenbank dranhängst und im besten Fall alles weiterhin so läuft wie davor, musst du bei Rails die Architektur von Grund auf sauber planen, statt einfach nur neue Services dranzuklatschen. Aber hier kommt meine eigene Meinung: Deine persönliche Plattform ist nicht Amazon oder Google, wo tausende verschiedene Services perfekt miteinander kommunizieren und skalieren müssen. Solange man jetzt nicht einen Milliardenkonzern aufbauen will, ist ein Monolith kein Problem. Und vor allem am Anfang bleiben durch die monolithische Architektur viele Kopfschmerzen erspart.

    Löscht Vibecoding Rails aus?

    Vibecoding ist der Endgegner der Rails-Magie. Warum sollte ich mich noch an strenge Konventionen halten, wenn ein LLM mir auch den schlimmsten Spaghetti-Code in Sekunden mundgerecht serviert? Die exklusive Geschwindigkeit, mit der Rails Jahrzehnte lang gepunktet hat, ist durch KI demokratisiert worden. Wer nur ‚vibet‘, dem ist die Eleganz unter der Haube egal.

    Doch hier verbrennen sich die KI-Jünger die Finger: Vibecoding auf Treibsand funktioniert nicht. Wenn die KI halluziniert, bist du in einem Framework ohne klare Regeln verloren. Rails ist in dieser neuen Welt kein Hindernis, sondern der Sicherheitsgurt. Während andere noch versuchen, ihre generierten Puzzleteile zusammenzukleben, liefert Rails das fertige Brett mit. Vielleicht löscht die KI Rails nicht aus…sie entlarvt nur die Architekten, die ohne stabilen Unterbau bauen.

    Fazit: KI löscht Rails nicht aus, es macht gute Rails-Entwickler noch besser.

    Die Frage der Fragen: soll ich noch Ruby on Rails lernen?

    Vielleicht dachtest du es schon: Ja!

    Es hat nämlich Vorteile, die man auf den ersten Blick nicht so sieht:

    1. Rails ist 2004 erschienen, also sie hatten mehr als genug Zeit sich zu entwickeln und sie haben sich bewährt. Wenn ein Framework seit über 20 Jahre existiert, ist es sehr wahrscheinlich, dass es mindestens noch die nächsten 10 Jahre existieren wird
    2. Ruby ist sehr anfängerfreundlich. Klar, man fragt sich vielleicht was ist, wenn das eigene Projekt mal größer wird und eine virtuelle Maschine nicht mehr ausreicht und man stattdessen schauen muss, wie man eine effektive Infrastruktur aufsetzt. Aber da bist du am Anfang weit entfernt. Mit Ruby on Rails kannst du schnell und einfach erste MVPs bauen, ohne dass du erst ein halbes Jahr schauen musst, wie du die ganzen Microservices zusammenfügst.
    3. Klar, du findest jetzt nicht so viele Jobs, wo du unbedingt Ruby on Rails kennen musst, aber wenn doch: Glückwunsch, du hast ausgesorgt! Naja, das war jetzt natürlich etwas übertrieben. Aber es ist Fakt: Es gibt noch viele Plattformen, die auf Ruby on Rails laufen und natürlich braucht man Menschen, welche diese weiterentwickeln können. Und Rails-Entwickler werden immer seltener
    4. Und natürlich der wichtigste Faktor: Vibecoding. Es funktioniert. Und das richtig gut. Natürlich einerseits dadurch, dass es die Sprache schon so lange gibt und dementsprechend genug Trainingsmaterial existiert, andererseits liefern Errors bereits die genaue Information, wo der Fehler liegt. Glaubt mir, ich war selbst erstaunt, als ich Fehlermeldungen ChatGPT gegeben habe (also ohne, dass es die ganze Codebase ist) und es mir gesagt hat, wo der Fehler ist und was für ein Fehler es ist, weil es alles bereits detailliert in den Logs stand.


    Du siehst es anders als ich?

    Kein Problem, schreib mir einfach eine Nachricht über LinkedIn oder über das Kontaktformular

    (Ich muss rechtlich darauf hinweisen, dass wenn du auf „LinkedIn“ drückst, du zu LinkedIn weitergeleitet wirst)


    Quellen

    https://www.bacancytechnology.com/blog/ruby-on-rails-statistics-and-facts

    https://medium.com/@stewteh698/rails-today-54b13419b13a

    https://medium.com/@nehanakrani004/why-i-love-ruby-on-rails-for-web-development-5c7a9de27baa

    https://paolino.me/ruby-is-the-best-language-for-ai-apps

    https://www.reddit.com/r/rails/comments/17qvwsz/my_thoughts_on_the_rise_and_fall_of_ruby_on_rails/

    https://elazzabi.com/2020/09/01/why-the-majority-of-developers-hate-ruby-on-rails/