Wer den Code schreibt
Ich bin Mariusz Szatkowski, Softwareentwickler in Gdynia an der polnischen Ostsee, in derselben Zeitzone wie Berlin, Wien und Zürich. Seit 2006 arbeite ich mit WordPress, seit 2007 unter dem Namen WPPoland. Von dort kamen WooCommerce, TypeScript und Node.js, Headless-Frontends mit Astro und Next.js und Code auf Cloudflare Workers dazu.
Ich arbeite allein. Es gibt keine Mobile-Abteilung, keine Grafiker und keine Junior-Entwickler, an die ich Aufträge weiterreiche. Den Code, den Sie bekommen, schreibe ich selbst, und für Ihren bestehenden Code, den ich anfasse, stehe ich gerade.
Was ich entwickle
Im DACH-Raum geht es meist darum, dass ein Shop oder eine Website mit den Systemen spricht, die im Unternehmen schon laufen.
- Schnittstellen. WooCommerce mit ERP, Warenwirtschaft, Großhändler-Preisfeed oder Buchhaltung: DATEV-Export in Deutschland, BMD in Österreich, Bexio in der Schweiz. Der API-Aufruf ist selten das Problem. Schwierig ist die Frage, welches System für Bestand, Preise und Bestellstatus maßgeblich ist und was passiert, wenn zwei Systeme sich widersprechen.
- Shop-Logik. Checkout, Zahlungsarten, die Ihre Kunden erwarten (PayPal, Klarna, SEPA-Lastschrift, in Österreich EPS, in der Schweiz TWINT), Versand über DHL, DPD oder die Post und Performance, gemessen an echten Besuchern.
- WordPress-Plugins mit eigenem Datenmodell: Hintergrundjobs, REST- und WP-CLI-Schnittstellen und Verwaltungsseiten, die Ihre Redaktion ohne Handbuch bedient.
- Headless-Frontends mit Astro oder Next.js auf WordPress, ausgeliefert über Cloudflare. Das lohnt sich bei stabilem Inhaltsmodell, für eine Imageseite mit zwei Änderungen im Jahr nicht.
- KI- und MCP-Anbindungen, standardmäßig nur lesend, protokolliert und umkehrbar.
Öffentlicher Code, den Sie ohne Gespräch prüfen können
- wppoland/woocommerce-mcp: ein Model-Context-Protocol-Server für WordPress und WooCommerce in TypeScript, MIT-Lizenz. Fünf Tools (Produktliste, einzelnes Produkt, Bestellungen, Umsatzbericht, Beitragssuche), keines davon kann den Shop verändern. Diese Entscheidung ist der interessante Teil.
- wppoland/hidden-text-detector: ein Python-Werkzeug, das in PDF- und DOCX-Dateien weißen Text auf weißem Grund, unlesbar kleine Schrift, Text außerhalb der Seite und unsichtbare Unicode-Zeichen findet. Ich habe es geschrieben, weil Verträge und Ausschreibungen inzwischen Anweisungen für KI-Leser enthalten.
- Profil motylanogha auf wordpress.org: 30 kostenlose Plugins im offiziellen Verzeichnis (Stand 29. Oktober 2026), darunter Shoplex, Quotlet, Plogins Customs und Polski für polnische Shops. Es sind meine Produkte aus der Reihe plogins.com, gebaut auf PHP 8.1 mit PHPStan und PHPCS.
- Diese Website. wppoland.com ist ein Astro-7-Build auf Cloudflare Pages in sechs Sprachen, der vor jeder Auslieferung automatische Prüfungen für Links, Schema, Sitemaps und Überschriften durchläuft. Die HTML-Minifizierung habe ich im September 2026 auf Worker-Threads verlegt; dieser Schritt sank von 910 auf 199 Sekunden, mit byte-identischem Ergebnis.
Mein Werkzeugkasten und wann ich etwas weglasse
| Ebene | Werkzeug | Ich nehme es, wenn | Ich lasse es weg, wenn |
|---|---|---|---|
| Server | PHP 8 und WordPress | Redaktion, Benutzerkonten, Plugins und günstiges Hosting gebraucht werden | ein Dienst ohne Inhaltsmodell dauerhaft laufen muss |
| Shop | WooCommerce | Katalog und Bestellungen in Ihrer eigenen Datenbank bleiben sollen | die Grenzen einer SaaS-Plattform Sie nicht stören |
| Dienste | TypeScript auf Node.js | Integrationsworker, CLI-Werkzeuge, MCP-Server | WP-CLI dasselbe mit einem Befehl erledigt |
| Massendaten | Kotlin und Spring Boot | lange Importe mit Warteschlange und Wiederholungen | Ihr Team nur PHP pflegt |
| Frontend | Astro oder Next.js | Astro für inhaltslastige Seiten, Next.js für anwendungsartige Oberflächen | die Seite mit einem Block-Theme schneller fertig ist |
| Edge | Cloudflare Workers und Pages | Caching, Weiterleitungen, kleine APIs nah am Besucher | minutenlange Datenbankverbindungen nötig sind |
Datenschutz, AVV und E-Rechnung
Bevor ich Zugang zu einem System mit personenbezogenen Daten bekomme, schließen wir einen Auftragsverarbeitungsvertrag nach Art. 28 DSGVO. Unterauftragsverarbeiter setze ich nicht ein. Für Kunden in der Schweiz gilt daneben das revidierte Datenschutzgesetz (DSG), in Kraft seit 1. September 2023.
- Zugänge legen Sie in Ihren Systemen auf meinen Namen an und entziehen sie nach Projektende. Keine geteilten Admin-Passwörter per E-Mail.
- Produktionsdaten kopiere ich nur, wenn es nötig ist, verschlüsselt, für die Testumgebung anonymisiert, und lösche sie nach Abschluss.
- Jede Auslieferung gehört zu einem Commit, jeder Commit hat einen beschriebenen Grund.
Verkauft Ihr Shop an Unternehmen in Deutschland, betrifft Sie die E-Rechnung: Nach § 14 UStG ist eine Rechnung zwischen zwei im Inland ansässigen Unternehmern als elektronische Rechnung in einem strukturierten Format nach der europäischen Norm auszustellen, die Übergangsregeln stehen in § 27 UStG. Wie WooCommerce solche Rechnungen erzeugt oder an Ihre Buchhaltung übergibt, klären wir im Umfang.
Wie ich Code von anderen Entwicklern übernehme
Die meisten Aufträge beginnen in einem System, das schon läuft. Die ersten Tage lese ich. Ich halte fest, welche Plugins und Dienste Geschäftslogik enthalten, welche Cronjobs und Webhooks laufen und welche Daten außerhalb der Datenbank liegen, etwa im Dashboard des Zahlungsanbieters. Diese Übersicht kommt als kurzes Dokument ins Repository. Fehler stelle ich auf einer Kopie mit anonymisierten Kundendaten nach, damit die Korrektur belegt ist, bevor sie live geht. Hässlicher, aber korrekter Code bleibt. Fehlerhaften Code ersetze ich in kleinen, prüfbaren Schritten. Eine Neuentwicklung ist der teuerste Weg, ein System zu reparieren, und der am leichtesten empfohlene.
Ablauf und Vertrag
- Briefing in Schriftform: System, Problem, Termin, Repositorys, Hosting und wer auf Ihrer Seite entscheidet.
- Umfang mit Annahmen: was enthalten ist, was nicht und was zutreffen muss, damit das Angebot hält. Design, Wireframes und Inhalte liefern Sie, das steht ausdrücklich drin.
- Ausgangsmessung: Zugang, Kopie in der Testumgebung, Messwerte vor der ersten Änderung.
- Arbeit im Repository: prüfbare Commits, jede Änderung mit Beschreibung auf der Testumgebung, Entscheidungen im Repository statt im Chat.
- Livegang und Übergabe: geprobter Rücksetzpfad und eine Dokumentation, mit der eine andere Person weiterarbeiten kann.
Der Vertrag ist ein B2B-Vertrag nach polnischem Recht. Die Rechnung läuft im Reverse-Charge-Verfahren mit meiner EU-USt-IdNr. PL7393037445 und Ihrer USt-IdNr. bzw. UID. Die Zahlungsbedingungen stehen mit konkreten Daten im Umfang, ich beginne nach Eingang der Anzahlung, je nach Projekt 30 bis 50 %.
Beruflicher Werdegang
Die Rollen sind auf LinkedIn öffentlich, Kundennamen innerhalb dieser Aufträge nenne ich nicht.
| Zeitraum | Rolle | Woran ich gearbeitet habe |
|---|---|---|
| Seit Okt. 2025 | Full-Stack-Entwickler (Vertrag), Wiener Softwareentwicklungsagentur | Abo-Plattform für Medien und Commerce: Composer-Monorepo, CI mit zwei Freigabeschranken, Stripe-Abos und ein Dienst in Kotlin und Spring Boot, der ERP-, CleverReach- und Adressdaten in Mautic zusammenführt. Mein Teil: Import von Abo-Rechnungspositionen in Blöcken an Mautic, überwachter Backfill, Wiederholungen bei vorübergehenden Mautic-Fehlern, Runbooks |
| Seit Jan. 2021 | WordPress-, WooCommerce- und PHP-Entwickler (Vertrag), Equiqo, Berlin | WordPress, WooCommerce, HubSpot und Shopify auf dem Roots-Stack (Bedrock, Sage), Performance und strukturierte Daten |
| 2020 | WordPress-Entwickler, Itineris, Ipswich (Großbritannien) | WordPress auf Sage und Bedrock, CircleCI, Performance und SEO |
| 2019 bis 2020 | WordPress-Entwickler (freiberuflich), what., Zürich | Individuelles WordPress, Performance, strukturierte Daten |
| 2016 bis 2019 | WordPress-Entwickler, AirHelp | Mehrsprachigkeit, AMP und Performance auf einer stark besuchten Verbraucher-Website |
| Bis 2015 | Webentwickler und Spezialist für Internetmarketing, Vector Group, Gdynia | Websites, B2B-Commerce, Suchmaschinenmarketing |
Daneben organisiere ich das WordCamp Gdynia, gehöre seit 2024 zum Organisationsteam des WordCamp Europe und organisiere die CMSConf in Gdynia mit. Anonymisierte Fallstudien: WooCommerce-Performance, TYPO3 zu WordPress, MCP-Server für die Redaktion, Headless WooCommerce auf Cloudflare, Headless-Migrationsplan, KI in Content-Abläufen. Zum jeweiligen Stack: WordPress-Entwickler, WooCommerce-Entwickler, PHP-Entwickler, Astro-Entwickler, Next.js, Cloudflare Edge, MCP-Server.
Freelancer, Agentur oder Softwarehaus?
Für eine Integration oder die Rettung eines bestehenden Systems mit einer verantwortlichen Person auf Ihrer Seite passt ein einzelner Entwickler gut: Eine Person überblickt das ganze Problem. Für ein neues Produkt, das gleichzeitig Design, Frontend und Backend braucht, oder für sechs Entwickler innerhalb eines Monats ist eine Agentur oder ein Softwarehaus die bessere Wahl. Mobile Apps mache ich nicht.
Das Risiko bei einer Einzelperson ist die Kontinuität: Krankheit, Urlaub, der Tag, an dem jemand nicht mehr antwortet. Bei mir sichern das der Code in Ihrem Repository ab dem ersten Commit, die Dokumentation daneben, Zugangsdaten bei Ihnen und eine Übergabebeschreibung, nach der ein anderer Entwickler weitermachen kann. Agenturen, die einen festen technischen Partner suchen, finden Kooperationsmodelle unter Partnerschaften.
Fragen, die Sie jedem Entwickler stellen sollten: Wo liegt der Code? Wie wird eine Änderung vor der Produktion getestet? Wie wird eine Auslieferung zurückgenommen? Was wurde vor Beginn gemessen? Was machen Sie nicht? Kann ich etwas lesen, das Sie geschrieben haben?
Was ich nicht mache
- Grafikdesign, Wireframes und UX-Design. Das Layout liefern Sie, oft als einfache Tabelle, die jeder Ansicht ihre Elemente zuordnet. Ich setze es als funktionierende, responsive Oberfläche um.
- Native Apps für iOS und Android. Das ist eine eigene Disziplin.
- Rufbereitschaft rund um die Uhr und garantierte Reaktionszeiten. Ich arbeite allein und verspreche keinen Einsatz um drei Uhr nachts.
- So tun, als wäre ich ein Team. Eine Person hat einen Kalender. Große, parallele Arbeitspakete gehören zu einer Agentur.
Wenn Sie ein Web- oder E-Commerce-System haben, das zuverlässig laufen und für die nächste Person verständlich bleiben soll, beschreiben Sie es schriftlich. Mehr über mich steht auf der Seite Über mich.







