FS Frank Stuhec · Laravel & Symfony Freelancer | Legacy PHP modernisieren
ProjekteÜber michStackLogbuchKontakt
Teilweise verfügbar · auf Anfrage
Projekte/03Über mich/04Stack/05LogbuchKontakt/07
Teilweise verfügbar · auf Anfrage
01 · Was ich mache

Alte PHP-Codebase, die keiner mehr anfassen will?
Lass uns reden.

Ich übernehme, analysiere und modernisiere — ohne dass Production stehen bleibt. Kein Rewrite wenn es nicht sein muss. Kein Subunternehmer. Dein Team weiß jederzeit, woran ich gerade arbeite.

Projekt anfragen → Projekte anschauen
25+
Jahre Web-Entwicklung
Ø 8 Jahre
Mandatsdauer
48 h
Antwort — Ja oder Nein, immer
src/Controller/UserController.php PHP 5.6 → 8.3
@@ -12,6 +12,7 @@ UserController::show()
12 − class UserController extends Controller {
13 − function show($id) {
14 − $r = mysqli_query($conn,
15 − „SELECT * FROM users WHERE id=$id“);
16 − $user = mysqli_fetch_assoc($r);
17 − return $this->render(‚user.tpl‘, $user);
12 + #[Route(‚/user/{id}‘, name: ‚user_show‘)]
13 + public function show(
14 + int $id, UserRepository $users
15 + ): Response {
16 + return $this->render(‚user.html.twig‘, [
17 + ‚user‘ => $users->find($id) ?? throw new NotFoundHttpException(),
18 + ]);
Beispiel-Refactor · PHP 5.6 → Symfony 7 mit Attributes, DI, typed args Im laufenden Betrieb, mit Tests
01 · Was ich mache

Alte PHP-Codebase, die keiner mehr anfassen will?
Lass uns reden.

Ich übernehme, analysiere und modernisiere — ohne dass Production stehen bleibt. Kein Rewrite wenn es nicht sein muss. Kein Subunternehmer. Dein Team weiß jederzeit, woran ich gerade arbeite.

Projekt anfragen → Projekte anschauen
25+
Jahre Web-Entwicklung
Ø 8 Jahre
Mandatsdauer
48 h
Antwort — Ja oder Nein, immer
Kunden, mit denen ich arbeiten durfte
universumonline
cdh
cosinex-logo
danx-carousel
02 · Zwei Beispiele

Zwei alte Systeme. Eins läuft heute noch, eins ist sauber abgelöst.

Einmal war Neubau die einzige vernünftige Antwort. Einmal war er es nicht — 28 Jahre, kein Rewrite, kein Feature-Freeze. Den Unterschied erkennst du nur, wenn du den Code kennst.

01 Modernisierung
[ modernisierung · angular × laravel ]
2017 ──────── 2026
Overnight-Logistiker · 2017 – heute · Lead Development

Altes System komplett ersetzt durch eine Angular/Laravel-Plattform. Modular gewachsen seit 9 Jahren.

Plattform komplett neu gebaut auf Basis des alten Systems des Kunden. TDD seit dem ersten Tag, CI bei jedem Commit. Heute läuft das gesamte Tagesgeschäft darüber.
Angular REST PHP · Laravel TDD Continuous Integration
02 Langlauf
Sport-Onlinehändler · 1998 – 2025 · Lead E-Commerce + WaWi

28 Jahre eine Codebase. Drei Generationen Frontend-Frameworks. Schritt für Schritt modernisiert.

Mehrere Shop-Frontends plus Waren­wirtschaft eines Sport-Onlinehändlers. Seit über 20 Jahren gepflegt und Schritt für Schritt modernisiert — kein Rewrite, kein Feature-Freeze.
Live seit
1998
28 Jahre durchgehend
Storefronts
multiple
+ Waren­wirtschaft
Methode
TDD seit Tag 1
kein Feature-Freeze
Frontend
Bootstrap-Responsive
3 Framework-Generationen überlebt
Eine Codebase überlebt drei Generationen Frontend-Frameworks nicht zufällig. Sondern weil sich jemand kontinuierlich darum kümmert.
PHP MySQL / MariaDB Bootstrap SCSS TDD Continuous Integration
03 · Projekte

Was ich aktuell und zuletzt gemacht habe.

Projekte über Jahre, nicht Sprints. Immer als Lead. Viele laufen noch, andere habe ich sauber übergeben. Konkrete Zahlen (Last, Nutzer, Transaktionen) sag ich dir gern im Gespräch — die stehen unter NDA.

2024 – heute
E-Government Öffentlicher Sektor
PHP-Entwicklung. Ich analysiere und erweitere eine Behörden-Anwendung — viel Code-Archäologie, viel Migration.
PHP Legacy-Analyse REST
aktiv
2017 – heute
Overnight-Logistik Mittelstand
Lead Development. Plattform komplett neu gebaut auf Basis des alten Systems. Modular gewachsen, TDD und CI seit dem ersten Commit.
Angular REST PHP · Laravel TDD CI
✦ Highlight
1998 – 2025
Sport-Onlinehändler Retail
Lead. Mehrere Shop-Frontends plus Warenwirtschaft. Über die Jahre Schritt für Schritt modernisiert, immer im laufenden Betrieb. 28 Jahre, eine Codebase.
PHP MySQL Bootstrap TDD SCSS
✦ Highlight
2013 – 2020
Online-Customer-Portal Banking
Lead Development. Komplett selbst entwickelt — Bootstrap-Frontend, durchgehend TDD und CI. 2020 sauber ans interne Team übergeben.
Angular REST PHP TDD CI Bootstrap
übergeben · 2020
04 · Über mich

Der, den du rufst wenn keiner mehr ran will.

Die meisten Codebases, die ich übernehme, hat vorher jemand anderes aufgegeben.

Portrait Frank Stuhec
Verfügbarkeit
Teilweise verfügbar · auf Anfrage
Standort Rhein-Main · CET
Modus Remote, weltweit
Seit 1998 hauptberuflich
Auslastung 2 Projekte aktiv
Tagessatz auf Anfrage
Vertrag AV nach DSGVO möglich

Ich baue Webanwendungen seit Ende der 90er — was bedeutet, dass ich CSS noch ohne box-sizing kennengelernt habe.

Das Ziel ist immer dasselbe: ein System, das morgen noch läuft — ohne dass heute alles stillsteht. Was läuft, lass ich laufen und räume nach und nach auf. Was nicht mehr passt, tausche ich Schritt für Schritt aus, im laufenden Betrieb, mit Tests. Das Werkzeug wähle ich nach dem Problem — nicht nach Gewohnheit.

Seit über 20 Jahren — Banking, Logistik, Retail, öffentlicher Sektor — kenne ich die typischen Muster: warum Legacy-Projekte scheitern, wie Codebases veralten, welche Entscheidungen sich rächen. Ich rede direkt mit deinem Team, stelle die Fragen, die intern niemand gestellt hat — und schreibe Code, der auch nach mir noch lesbar ist.

Wenn wir zusammenarbeiten: Ich frag erst, bevor ich was umbaue. Wenn ich was nicht weiß, sag ich das — statt zu raten. Und ich halte Termine ein, auch wenn die Antwort „nein“ ist.

Was du nicht von mir bekommst
  • Greenfield-Rewrites, wenn Modernisierung reicht
  • Subunternehmer — an deinem Code arbeite ich selbst
  • Jemand, der nach dem Go-live verschwindet — meine Projekte laufen seit Jahren
05 · Stack

Womit ich arbeite.

Alles hier hab ich produktiv im Einsatz — meistens über ein Jahr. Die mit Punkt nutze ich gerade aktiv in einem laufenden Projekt.

Sprachen
TypeScript PHP JavaScript SQL HTML CSS · SCSS
Frameworks
Laravel Symfony Angular React.js Node.js WordPress
Frontend-Systeme
Tailwind CSS Responsive Design
Daten
MySQL MariaDB REST · API SOAP
DevOps & Methodik
Docker Kubernetes TDD Continuous Integration
Legacy-Erfahrung
PHP 5.x → 8.x Symfony 3.x → 7 Zend Framework CakePHP Drupal Bootstrap LESS Material Design
Mit Punkt = nutze ich gerade in einem laufenden Projekt. Ohne Punkt = hab ich produktiv im Einsatz gehabt, aktuell nicht. Legacy-Erfahrung ist explizit für Übernahmen alter Codebases — nicht für Neubauten.
06 · Logbuch

Logbuch und Learnings.

Hier schreib ich auf, wo es bei Symfony-Migrationen, Laravel-Updates und PHP Legacy oder WP-Multisite-Übernahmen immer wieder hakt.

1. September 2026

Legacy-Laravel ohne Tests übernehmen: Was ich zuerst prüfe, bevor ich loslege

Eine aktuelle Framework-Version ist kein Qualitätssiegel. Ein gewachsenes Laravel ohne Tests ist genauso Legacy wie prozeduraler Alt-PHP-Code, die Fassade täuscht nur besser. Was ich in den ersten Wochen einer Laravel-Übernahme anschaue, warum das Sicherheitsnetz vor allem anderen kommt, und ein Feature-Test, der das Ist-Verhalten festhält, bevor jemand refactort.

Lesen →
20. August 2026

Wann Rewrite tatsächlich die richtige Antwort ist – und warum fast nie

Der Rewrite-Reflex ist oft eine Flucht vor Komplexität, keine technische Notwendigkeit. Es gibt drei Konstellationen, in denen Neubau trotzdem trägt – und die haben nichts mit 'der Code ist hässlich' zu tun. Meine drei Fragen und ein Diff aus einem Fall, der fast neu gebaut worden wäre.

Lesen →
24. Juli 2026

Vier Migrationsstrategien im Vergleich: Big-Bang, Strangler, Branch-by-Abstraction, Parallel Run

Es gibt nicht die eine Migrationsstrategie, sondern vier brauchbare – jede mit klaren Mindestvoraussetzungen. Wer die falsche wählt, zahlt mit Downtime oder mit einem Projekt, das nach Monat neun niemand mehr anfasst. Die vier im Vergleich, mit Code-Ankern und einem Entscheidungsbaum am Ende.

Lesen →
07 · Kontakt

Lass uns reden. Eine Mail reicht.

Teilweise verfügbar · auf Anfrage

Drei Zeilen reichen: was läuft heute, was soll laufen, ab wann. Ich melde mich innerhalb von zwei Tagen — ehrlich, mit Ja oder Nein.

projekte@stuhec.de → oder 30-Min-Slot buchen
Antwort in 48 h · AV nach DSGVO möglich · Teilweise verfügbar · auf Anfrage
FS Frank Stuhec

Laravel & Symfony Freelancer aus dem Rhein-Main-Gebiet. Ich übernehme alte PHP-Codebases und modernisiere sie im laufenden Betrieb — kein Rewrite-Reflex, kein Subunternehmer.

Kontakt

  • projekte@stuhec.de
  • 30 Min Erstgespräch buchen
  • LinkedIn

Seite

  • Projekte
  • Über mich
  • Stack
  • Logbuch

Standort

Rhein-Main-Gebiet
CET (UTC+1)
Remote weltweit
© 2026 Frank Stuhec
Impressum Datenschutzerklärung
projekte@stuhec.de · kopiert