Thomas Nunninger – Experte für moderne Software-Entwicklung

Ihr habt Großes vor und wollt mit der IT wirklich etwas bewegen? Eure Software soll schneller und besser auf die Straße?

tl;dr

Ich unterstütze Teams:

  • Der Legacy-Hölle entkommen: Mit einer durchdachten Software-Architektur und Domain-Driven Design (DDD) beherrscht ihr die Komplexität und seid nachhaltig innovativ.

  • Software-Entwicklung vom Feinsten! Euer Experte für Test-Driven Development (TDD), Refactoring von Legacy-Systemen, PHP & MySQL mit Docker unter Linux. Auch angrenzende Themenfelder decke ich ab: Agile Teams, DevOps, Continuous Delivery, Cloud-Systeme, ... mehr

  • Verantwortung übernehmen: Strategische Entscheidungen, (verteilte) Teams führen, Transformation vermitteln, Recruiting und mehr. Ich unterstütze euch gerne als (Interims-)CTO, Product-Owner, Team-Manager oder Lead-Developer. mehr

  • Schulungen & Coaching: Druckbetankung für starke und leistungsfähigere Teams. Sinkende Aufwände in der Software-Entwicklung und minimierte Risiken zahlen diese Investition mit Zinsen zurück. mehr

Passe ich zu euch?

Post-its an einer Wand

Ist die IT bei euch Fundament für Innovation und geschäftlichen Erfolg?

Vielleicht habt ihr eine (wirtschaftlich wertvolle) Legacy-Anwendung. Aber die Umsetzung neuer Features dauert lange und die Fehleranalyse ist frustrierend. Lasst uns gemeinsam gegensteuern und die Entwicklung kommt wieder in Schwung.

Oder ihr startet ein neues Projekt / Produkt. Das soll agil und effizient entwickelt werden. Und ihr wollt von Beginn an die Weichen richtig stellen. So vermeidet ihr typische Probleme, die Projekte oft schon nach wenigen Monaten ausbremsen und später viel Geld und Nerven kosten.

Was mich unterscheidet

Mich treibt die Frage:

Wie gelingt dauerhaft erfolgreiche Software-Entwicklung bei komplexen Unternehmensanwendungen und in größeren Teams?

Mein Denken ist geprägt vom Domain-Driven Design. Die Fachlichkeit steht im Vordergrund. In Kombination mit einer soliden Software-Architektur und agiler Software-Entwicklung entstehen skalierbare IT-Systeme, die allen Stakeholdern dauerhaft Spaß machen.

Meine Überzeugungen:

  • Software-Entwicklung ist ein gemeinschaftlicher Lernprozess.

  • Lasst uns fachliche Prozesse modellieren – nicht (CRUD-)Datenstrukturen.

  • Denke jenseits existierender Frameworks und hinterfrage technische Hypes.

Ich verfüge sowohl über den theoretischen Hintergrund als auch über langjährige Projekterfahrung. Und die Kompetenz zur Umsetzung ist deutlich entscheidender als konkrete Technologien.

Meine Expertise: Komplexität beherrschbar machen

Älteres Gebäude aus Klinkersteinen mit modernem Aufbau

Ich entwickle seit mehr als 30 Jahren Software und habe in einigen Legacy-Projekten gekämpft. Domain-Driven Design (DDD) und Software-Architektur bieten bewährte Ansätze, die fachliche und technische Komplexität zu reduzieren. So bleibt die Software verständlich und lässt sich gut erweitern. Außerdem verhindert ihr recht zuverlässig Monsterprojekte, etwa wenn Dritt-Software aktualisiert oder gegen performantere Alternativen ausgetauscht werden soll.

Das Zielsystem ist im einfachsten Fall ein modularisierter Monolith aus “langweiligem” PHP und MySQL. Schon damit lassen sich hoch performante, skalierbare und vor allem gut wartbare Anwendungen bauen. Sofern sinnvoll entwickelt sich daraus schrittweise ein message-basiertes, cloud-natives System aus verteilten und unabhängigen Micro- / Domain-Services mit CQRS und Event-Sourcing, das SQL- und NoSQL-Datenbanken optimal nutzt. (Genug der Buzz-Words!)

Das Gegenteil von “gutem Design” ist nicht “kein Design” sondern “schlechtes Design”.

Mathias Verraes, Veranstalter der DDD Europe Konferenz

Legacy-Systeme bringen "gewisse Herausforderungen" mit sich. Aber mit einem klaren Ziel vor Augen lässt sich der Code mittels Refactoring in die richtige Richtung entwickeln. Und sofern ein Refactoring wirtschaftlich nicht vertretbar ist, zeige ich euch Patterns, mit denen ihr neue Entwicklungen entkoppelt vom Bestands-Code umsetzen könnt.

Was ich tue

Hand skizziert Haus; überlagert mit Foto eines Hauses

Ich helfe euch, schneller und besser Software zu entwickeln. Dafür bringe ich gerne neuen Schwung in euer Team, evaluiere, berate, schule, entwickle oder übernehme Verantwortung.

  • Software-Entwicklung: Ich entwickle primär test-getrieben mit PHP, Symfony & MySQL. Auch Refactoring, DevOps, Continuous Delivery, Linux und Docker. mehr

  • Verantwortung übernehmen: Gerne auch als Lead-Developer, Product-Owner, Team-Lead, Interims-CTO oder beim Recruiting. mehr

  • Schulung & Coaching: Alles was euch produktiver macht. mehr

  • Anwendungsentwicklung mit eigenem Team: Damit ihr euch aufs Wesentliche fokussieren könnt. mehr

Über den Mensch Thomas Nunninger

Warum warten? Die Zukunft verändern wir jetzt! Also schreibt mir jetzt eine E-Mail oder ruft unverbindlich an:

Portrait Thomas Nunninger
Thomas Nunninger

Ich bin Diplom-Informatiker (Uni) und lebe im sonnigen Freiburg.

Neben den “engen” IT-Themen interessiere ich mich für Kommunikation, Psychologie, Philosophie, Lean-Startup, Online-Marketing, gesellschaftliches Miteinander und noch einiges mehr. Am Wochenende gehe ich gerne Wandern und habe glücklicherweise den Schwarzwald direkt vor der Tür.

In der Vergangenheit arbeitete ich für Start-Ups, Mittelständler, Konzerne und NGOs. Dabei sammelte ich zahlreiche Branchenerfahrungen: Tourismus, Bildung, E-Commerce, Gesundheit, Automotive, Medien, Lebensmittel-Einzelhandel, Logistik, Verkehr, Telekommunikation.

Das sagen andere über mich

For over three years Thomas Nunninger was a part of our company’s key project for a major international retail business as the leading PHP expert and architect, supporting the project team with his profound academic expertise in software engineering beyond frameworks and tools, conceptual thinking, multilateral practical experience and a decent approach to ensuring code quality, security and efficiency.

Mr. Nunninger was key to the success of the transformation of the poorly structured legacy code base of the project, introducing the Domain-Driven Design concept and the Test-Driven Development practice and leading the change of the project’s framework along with developing numerous new features, mentoring the team members and consulting the project management and the client.

He was the team’s go-to expert not only for the OOP, but also for the complicated DevOps topics, database design and management and the introduction of new technologies and workflows.

Above all, Thomas is a very responsible, friendly and supportive person. It was a pleasure and honor to work with Mr. Nunninger and I hope to have a chance of working with him again in the future.

Alexander Dolgopolskiy, Team Lead evia innovation GmbH