Strategie
und
Konzept





Full Stack Developer






SKILLS



In den letzten 15 Jahren habe ich über 3 Meter Computerbücher gelesen, weil ich mir als Autodidakt immer alles selbst beibringe. Durch meine berufliche Erfahrung fällt es mir leicht, die meisten Programmiersprachen zu verstehen. Mehr Informationen finden Sie auf „Hacker-Coach“. Besonders viel Spaß machen mir Projekte, in denen man allein mit Wissen nicht weiterkommt und es darum geht, komplexe Zusammenhänge zu erkennen. Aus diesem Grund habe ich mit Freunden die „Bug-Hunter-Group“ gegründet.

Oft benutzte Werkzeuge:Architektur & Analyse, Caching & Performance, SEO & Social-Media, Java, PHP, JQuery, SQL, CSS & HTML5, Git & Docker & Jira, u.a.“


Architektur & Analyse¹

Ich liebe es, stundenlang den Quellcode von Frameworks oder dem Linux-Kernel aufzusaugen. So habe ich z.B. die komplette Software-Architektur des JBoss-Servers oder einiger Script-Engines analysiert. Außerdem schrecke ich nicht davor zurück, die komplette Schnittstelle für eine objektorientierte SAP-Datenbank ohne Anleitung nachzuprogrammieren.

Caching & Performance¹

Wie programmiert man eine schnelle Formular-Engine? Ohne ein eigenes Caching-Framework ist dies oft unmöglich. Hier sind unkonventionelle Lösungen gefragt. Die meisten CMS-Systeme & Frameworks auf dem Markt sind super langsam, weil die Architektur nicht besonders elegant gelöst ist. Aus diesem Grund hatte ich vor 4 Jahren ein eigenes CMS entwickelt, welches sofort nach der Installation einen Page-Speed von 100% schafft, bei dynamischen Anwendungen auf einem Mini-Server. Hauptziel war ein CMS, welches zudem keine Anleitung benötigt.

SEO & Social-Media¹

Wegen meines CMS-Systems habe ich mich intensiv mit technischer SEO beschäftigt. Dies geht von der richtigen Komprimierung von Bildern bis zum richtigen „Response“ der Server-Antwort, damit Google die Webseite oder den Internet-Shop in der Suche ganz oben platziert. Social-Media benutze ich intensiv für meine eigenen Kanäle auf LinkedIn und Facebook.

Java¹

Mit dem JBoss-Server habe ich angeblich die zweitgrößte Datenbank Europas an einen Webshop angebunden. Der Webshop ist ein Multi-Shop-System für Dokumente, welche von Konzernen aus Deutschland gekauft werden. Zusammen mit einem Team habe ich zuletzt mit Spring-Boot eine Multi-Server-Anwendung zur Synchronisation von Fabrik-Logistik und deren Maschinen programmiert. Die Maschinen standen in unterschiedlichen Ländern. Diese sollten sich automatisch nachsynchronisieren, falls mal eine einzelne Maschine offline geht.

PHP¹

Für TYPO3 habe ich über 100 Anwendungen programmiert. Außerdem hatte ich mal ein Installationsprogramm für TYPO3-Distributionen erstellt. Den Artikel aus der T3N können Sie hier lesen. Nachdem der Artikel veröffentlicht wurde, bekam ich 100-200 E-Mails aus der ganzen Welt. Außerdem wurden mir internationale Jobs angeboten. Mit Laravel und Symfony hatte ich mehrere Anwendungen zur Datenerfassung erstellt. Vorletztes Jahr hatte ich mal wieder als Magento-Core-Entwickler gearbeitet. Und manchmal programmiere ich 20GB Datenbank-Import-Skripte oder Multi-Payment-Schnittstellen.

JavaScript & jQuery¹

Mit JavaScript habe ich einen eigenen WYSIWYG-HTML-Editor programmiert. jQuery benutze ich oft für dynamische Ajax-Anwendungen.

SQL¹

Mit Oracle und PL/SQL-Skripten habe ich angeblich die 2. größte Datenbank Europas an einen Webshop angebunden. Sehr oft habe ich mit MySql-Datenbanken gearbeitet, die aus 100-200 Tabellen bestanden. Zuletzt hatte ich PostgreSQL verwendet für eine Java-Anwendung.

CSS, HTML & Themes¹

Für TYPO3 habe ich ein eigenes T3Sugar-CSS-Framework entwickelt. Für mein eigenes CMS hatte ich mehrere Themes auf Basis von Bootstrap erstellt.

Docker & Jira¹

Als Entwickler verwende ich unterschiedliche Entwicklungsumgebungen. Meine agilen Projekte laufen meistens mit Git und Docker. Jira oder Trello helfen mir beim Projekt-Management. Mit englischsprachigen Projekten habe ich keine Probleme.

¹ Firmen-Aufträge: Die meisten meiner Arbeiten entstanden im Rahmen von Firmen-Aufträgen mit Verschwiegenheitserklärung. Diese Projekte kann ich Ihnen leider nicht Öffentlich zugänglich machen.






PRINZIPIEN



PRAGMATISMUS

Systematisches Arbeiten, mit dem Ziel das Projekt praktisch und sinnvoll umzusetzen.

DRY, LESBARER & WARTUNGSARMER CODE

Programmierung nach dem DRY-Prinzip (Don't repeat yourself) ohne abstrakte Verschachtelung, für wartungsfreundlichen lesbaren Quellcode.

ZUSAMMENARBEIT IM TEAM

Fachübergreifende Zusammenarbeit auf Augenhöhe. Flexibler Umgang mit neuen Anforderungen und gemeinsames Erarbeiten von Lösungen im Rahmen der realistischen Möglichkeiten.

SOFTWARE-ARCHITEKTUR

Die Softwarearchitektur definiert den grundlegenden Aufbau von Softwaresystemen und das Zusammenspiel ihrer diversen Komponenten. Ziel ist es, ein stabiles Grundgerüst über die nächsten 10 Jahre hinaus zu schaffen, fernab von Technologie-Hype und Design-Pattern.