If you want to build a ship, dont drum up the men to gather wood, divide the work and give orders. Instead, teach them to yearn for the vast and endless sea. (Antoine de Saint-Exupery)

design

Blaupause der Tower Bridge

Jede Software hat eine Architektur. Nur ist sie nicht immer (sofort) erkennbar. Auf die Frage "Was ist Software-Architektur?" gibt es als Antwort zahlreiche und unterschiedliche Definitionen. Die Frage hat meiner Meinung nach nur akademische Bedeutung.

Viel wichtiger ist die Frage "Welche Bedeutung hat die Architektur für das System?". Ist das System aufgrund der Architektur leicht zu pflegen und zu erweitern, ist es performant und skalierbar, ist es leicht für neue Mitarbeiter zu begreifen, ist es zukunftsfähig. Eine schlechte Architektur kann all diese Punkte zunichte machen.

Die entscheidenden Fragen bezüglich der Software-Architektur fangen also nicht mit 'was' an, sonder mit 'wie'.

Artikel lesen scroll to top

design

Sketchnote zur OOP2017

Die OOP steht für hochkarätige Sprecher, die unsere IT-Landschaft wesentlich gestalten, für interessante Vorträge und Workshops, die unmittelbar für den Arbeitsalltag neue Ideen liefern, und für 2150 Coder, Software-Architekten und Projektmanager, die am Puls der Zeit im IT-Bereich sind.

Die OOP ist ein jährlich wiederkehrender Kongress in München, dieses Jahr vom 30.01. bis 03.02.2017, veranstaltet von SIGS DATACOM. Die 2000 Teilnehmer können aus den 130 sessions, die in meist 8 parallelen slots stattfinden, die auswählen, die sie interessieren. Aus 484 eingereichten Vorschlägen hat ein Komitee von 73 reviewern die Vorträge der 140 Sprecher aus 12 Ländern ausgewählt. Die Vorträge werden je nach Interesse der Teilnehmer und nach Fähigkeit der Referenten entweder in deutscher oder englischer Sprache gehalten. Die Talks und Workshops werden von einer Fachmesse mit 90 Ausstellern begleitet. Auch im Bereich der Fachmesse finden eine Reihe von Vorträge und Präsentationen statt.

Aufgrund der aufgezählten Fakten und dem enorm hohen Anspruch ist die OOP für einen Software-Architekten beziehungsweise für einen Projektleiter im IT-Sektor die Veranstaltung in Deutschland respektive Europa.

Aus dem reichhaltigen Angebot an Talks und Workshops habe ich ein paar ausgewählt, die meiner Meinung nach für eine Berichterstattung interessant sind und die mich persönlich interessieren. Die Auswahl ist etwas Entwickler und Software-Architekten-lastig, was eventuell einen falschen Eindruck von der Vielfalt der Talks vermitteln könnte.

Artikel lesen scroll to top

editorial

Es kamen ein paar Suchende zu einem alten Zenmeister.

„Herr“, fragten sie „was tust du, um glu?cklich und zufrieden zu sein? Wir wa?ren auch gerne so glu?cklich wie du.“ Der Alte antwortete mit mildem La?cheln: „Wenn ich liege, dann liege ich. Wenn ich aufstehe, dann stehe ich auf. Wenn ich gehe, dann gehe ich und wenn ich esse, dann esse ich.“ Die Fragenden schauten etwas betreten in die Runde. Einer platzte heraus: „Bitte, treibe keinen Spott mit uns. Was du sagst, tun wir auch. Wir schlafen, essen und gehen. Aber wir sind nicht glu?cklich. Was ist also dein Geheimnis?“ Es kam die glei- che Antwort: „Wenn ich liege, dann liege ich. Wenn ich aufstehe, dann stehe ich auf. Wenn ich gehe, dann gehe ich und wenn ich esse, dann esse ich.“

Die Unruhe und den Unmut der Suchenden spu?rend, fu?gte der Meister nach einer Weile hinzu: „Sicher liegt auch Ihr und Ihr geht auch und Ihr esst. Aber wa?hrend Ihr liegt, denkt Ihr schon ans Aufstehen. Wa?hrend Ihr aufsteht, u?berlegt Ihr wohin Ihr geht und wa?hrend Ihr geht, fragt Ihr Euch, was Ihr essen werdet. So sind Eure Gedanken sta?ndig woanders und nicht da, wo Ihr gerade seid. In dem Schnittpunkt zwischen Vergan- genheit und Zukunft  ndet das eigentliche Leben statt. Lasst Euch auf diesen nicht messbaren Augenblick ganz ein und Ihr habt die Chance, wirklich glu?cklich und zufrieden zu sein.“

Artikel lesen scroll to top

design

Architektur Antipattern passieren. Software Entwickler erzeugen sie nicht (absichtlich). Antipattern werden in vorhandener Software gefunden, bestaunt und beschimpft. Man kann ihnen auf zwei verschiedenen Wegen begegnen: Zum einen kann man versuchen, sie in Zukunft zu vermeiden. Zum anderen kann man dagegen angehen und beginnen sie aufzulösen.

Im Folgenden werde ich auf einige bekannte Antipattern in der Software-Architektur eingehen und sie hinsichtlich dieser zwei Herangehensweisen untersuchen.

Artikel lesen scroll to top

design

Als Software-Entwickler oder Software-Designer steht man vor der Aufgabe, mit Code zu arbeiten, der von möglichst vielen anderen Entwicklern und Designern verstanden werden können soll. Das schließt den ursprünglichen Autor mit ein, wenn er unter Umständen Jahre danach den Code wieder selbst bearbeitet. Zu rund 80% arbeiten Entwickler mit bestehendem Code und stehen oft vor dem Problem, dass sie ihn nicht (auf Anhieb) verstehen. Das hat unterschiedliche Ursachen:

  • Der Quellcode wurde über die Zeit immer wieder unter Umständen von unterschiedlichen Entwicklern ergänzt,
  • und er hat unter Umständen unter den vielen verschiedenen Stilen gelitten.
  • Durch debugfixing wurde der Code immer nur an lokal mit geringem scope gefixt, ohne das große Ganze zu sehen.

Das realisiert sich dann durch unleserlichen Code oder in einer Software-Architektur, die beide als Vorlage für sogenannte Antipatterns dienen können. Antipattern begegnen uns in zweierlei Hinsicht: Im Kleinen im Code in Form von unverständlichen Bezeichnern, Sprach-Konstrukten oder Code-Strukturen. Im Großen in einer Architektur, die schwer zu verstehen ist und aber auch eine Pflege, Ergänzung oder Fehlerbeseitigung erheblich erschwert.

Artikel lesen scroll to top

organize

Egal ob zu Schulzeiten oder später im Berufsalltag, in jeder Lebensphase lernen wir dazu. Dem Schulalltag Entflohene haben oft das Gefühl, das Lernen fällt schwerer als in jungen Jahren. Aufgrund von ständigen Veränderungen im Berufsleben und in der Umwelt wächst der Druck dazu zu lernen. Um dieser Situation besser gerecht werden zu können, macht es Sinn, das Lernen möglichst effektiv zu gestalten.

Im Folgenden gehe ich auf die Motivation zum Lernen, auf die Medien, die eingesetzt werden, auf die Prinzipien beim Lernen und auf effektive Lernmethoden ein.

Artikel lesen scroll to top

books

Cover des Buchs Flow

Rezension über ein Buch von Harald Philipp und Simon Sirch; Flow macht glücklich; das ist zumindest eine plausible Erklärung für das Grinsen, das den meisten Mountainbikern im Gesicht steht, wenn sie auf den Trails entgegenkommen. Dieses Phänomen untersuchen die beiden Autoren Harald Philipp aus der Sicht als bikender Bergsteiger und Simon Sirch aus der Sicht als Sportwissenschaftler, Coach und Erlebnispädagoge. Außerdem gibt es da noch sehr viele sehr schöne Bilder von namhaften Fotografen wie Manfred Stromberg, Tom Brause, Colin Stewart und Sebastian Doerk. Ich sehe das Buch aus der Sicht eines Mountainbikers, der das erzählte nachempfinden kann und nun eine Erklärung bekommt. Ich denke mir aber, dass das Buch auch für nicht-Mountainbiker erklärt, was so faszinierend am Mountainbiken und am Flow ist.

Artikel lesen scroll to top

hardware

Mit platten Reifen stand es jahrelang in verschiedenen Kellern. Ich kann mich gar nicht mehr erinnern, wann ich das letzte Mal damit gefahren bin. Allerdings habe ich in jungen Jahren einige tausend Kilometer darauf abgespult. Nicht weil es das einzige damals war, oder weil es das Rad war, das ich von meinem Vater geerbt habe. Wahrscheinlich hat es genau aus diesem Grund all die Jahre in den Kellern überlebt. Zumindest waren die Keller trocken und der Stahlrahmen hat nicht zu sehr gelitten. 

Artikel lesen scroll to top

organize

Igelball

Kreativität und logisch denkende Entwickler - passt das zusammen?

Kreativ, wie ein Künstler, Maler? Kreativ wie ein Handwerker oder Tüftler?

Welcher Software-Entwickler glaubt, dass er so kreativ wie ein Künstler arbeitet? Wie ein Handwerker? Wer glaubt, dass ein Entwickler nicht kreativ ist?

Artikel lesen scroll to top

design

Warum schon wieder ein Vortrag über refactoring?

Wie ist das Verhältnis bei den Tätigkeiten eines Entwicklers zwischen neuen Code erstellen und Code warten? Wie viele von den anwesenden Entwicklern haben so angefangen zu Coden in der letzten Woche? Laut Nicholas Zakas kann man von neuen Code erstellen sprechen, wenn ein Entwickler mit einem leeren Editor-Fenster beginnt. (Bücher von Nicholas Zarkas)

Folge: Die meiste Zeit verbringt ein Entwickler damit, Code zu warten. Jedes Mal, wenn Code gewartet wird, stellt sich implizit die Frage, kann soll darf ich diesen Code einem refactoring unterziehen?

Wo lernt man refactoring? Nicht in der Ausbildung, nicht in der Schule nicht im Studium1. - In der Praxis. daraus kann man ableiten:

  • refactoring hat mit Erfahrung zu tun.
  • refactoring wird unter anderem von dem Team beeinflusst, in dessen Umfeld der Entwickler arbeitet.

Deshalb kann auf dieses Thema nicht oft genug eingegangen werden, und zwar an der (Arbeits-)Stelle, an der es passiert.

Was ist der größte Feind von refactoring? Rockstar Mentalität - ‘Das ist mein Code und der ist so genial und kunstvoll, so dass niemand daran etwas ändern darf.’ Welcher Entwickler produziert den wertvolleren Code? Der Rockstar oder der Teamplayer? sicherlich der Teamplayer, denn was nützt der genialste Code, wenn er nicht gepflegt werden kann, weil keiner ihn versteht.

Oft haben Entwickler das Gefühl, wenn sie refactoring betreiben, dass sie sich freien Fall befinden, und sie wissen nicht, ob am Ende der Fallschirm aufgeht. Ziel ist es nun, dieses Gefühl gar nicht erst aufkommen zu lassen, beziehungsweise mehr Vertrauen in das gear und die eigenen Fähigkeiten zu bringen.


  1. Ein Kollege hat mich auf ein Skript der Fernuniversität Hagen aufmerksam gemacht, welches anscheinend als Grundlage für einen Studiengang dient, und in welchem detailliert mit speziellen Methoden auf Techniken des refactoring eingegangen wird. ?

Artikel lesen scroll to top

text

Gerade lief im österreichischen Free-TV der Film "The Social Network", ein Film über die Gründung von Facebook und seinen Gründer Mark Zuckerberg. Ich glaube, dass der Film von Nerds anders gesehen wird als von nicht-Nerds. Das ist sicher so gewollt. Die Nerds schauen zu ihm auf, weil er als ein genialer Programmierer dargestellt wird, der den Durchbruch geschafft hat. Die nicht-Nerds sehen das gleiche nur auf einer komplett anderen Basis. Welche der beiden Gruppen kann nun besser beurteilen, was da eigentlich passiert ist?

Artikel lesen scroll to top

books

Ich habe letztens ein Buch gelesen, das könnte Dich auch interessieren. Ich kann es Dir ja einmal ausleihen - äh geht ja gar nicht, ist ein E-Book. Konnte man die gedruckten Bücher noch ohne weiteres verleihen, so geht das mit E-Books bis dato überhaupt nicht. Gibt es überhaupt einen technisch organisatorische Möglichkeit E-Books zu verleihen?

Artikel lesen scroll to top

books

Eine Intelligenz 'des Gelingens' fordert Gunter Dueck in seinem Buch 'Professionelle Intelligenz'. Schon fast über zwei Jahre verfolge ich seine Vorträge und das Buch scheint die logische Konsequenz aus seinen bisherigen Reden zu sein, in denen er mahnt, dass vom normalen, arbeitenden Menschen in Zukunft mehr verlangt wird, als dieser in den meisten Fällen gemeinhin angenommen hat. Neben meiner Empfehlung, dieses Buch unbedingt zu lesen, möchte ich aber auch noch der Frage nachgehen, wie wir diesen Forderungen begegnen und sie befriedigen können.

Artikel lesen scroll to top

web

Wer kennt es nicht? Die Vorsätze sind hoch, die Motivation anfangs auch, das Thema ist interessant und wichtig, die Geschichten sind gut und kurzweilig erzählt, das Buch: Clean Code von Robert C. Martin. 

Aber wir kennen den Punkt: früher oder später verliert sich die Motivation und wir verlagern bei der Hälfte des Buches unsere Prioritäten. 

Artikel lesen scroll to top

web

TED Logo

Als großer Fan von den TED Talks bin ich immer wieder begeistert, wie sich die unterschiedlichsten Leute dort auf die Bühne stellen und scheinbar von der Leber weg über Themen referieren, die Ihnen am Herzen liegen. Ein gutes Beispiel ist der Vortrag von Chip Conley zu dem Thema “Measuring what makes life worthwhile”.

Conley untersucht die Frage, wie wir das messen können, worauf es im Leben wirklich ankommt.

Artikel lesen scroll to top

books

Buchtitel Vor einiger Zeit habe ich das Buch von Scott Berkun auf meine Amazon Wunschliste gesetzt. Dann habe ich gehört, dass der Autor bei Microsoft mit am Internet Explorer Version 1 bis 5 mitgewirkte hat. Für einen Webentwickler wie mich gibt es nichts schlimmeres als den Internet-Explorer bis einschließlich Version 8. Sofort habe ich das Buch aus der Wunschliste gelöscht, obwohl mich der Titel und der Inhalt laut der Beschreibung interessiert hat. Einige Jahre später habe ich beim youtubeln den Namen Scott Berkun im Zusammenhang mit einem Vortrag bei Google gelesen und gleich in das Video hineingeschaut.

Artikel lesen scroll to top

organize

Aufgaben können auf verschiedene Arten organisiert werden. Hat man mehr als nur ein paar davon ist das durchaus sinnvoll, ansonsten ist der Sinn und Zweck einer Aufgabenliste schnell ad Absurdum geführt. Die Listen sollen zum Festhalten von Aufgaben dienen, aber ebenso zum Abarbeiten. Für letzteres ist es zweckmäßig, wenn man schnell erkennen kann, was als nächstes zu tun ist.

Artikel lesen scroll to top

books

Cover des Buches Zeitmanagement für Webentwickler

Das Buch "Zeitmanagement für Webentwickler" zeigt Lösungen, Aufgaben als Webentwickler bis hin zu privaten kleinen Projekten in den Griff zu bekommen. Jeder kann sein System finden, ob digital oder analog, mit dem er Prioritäten erkennen und flexibel entscheiden kann. Neben klassischen Methoden werden auch neue mit vielen Tipp, Ratschlägen und weiteren Anregungen gegeben. Weitere Informationen zum Buch finden Sie auf der Website des Autors tseitmanagement.de, beim Verlag OReilly oder bei Amazon.

Artikel lesen scroll to top

photo

Manchmal beneidet man die Menschen aus einer früheren Zeit. Scheinbar war das Leben damals einfacher. Bei einem Besuch des Oberpfälzer Freilandmuseums am 17.06.2007 wurden wir für ein paar Stunden in eine Zeit versetzt, die zwar einfacher als heute erscheint, die aber auch hart war. In meinen Bildern habe ich versucht auf der einen Seite die Nostalgie einzufangen, aber auf den zweiten Blick auch die Demut und Härte des damaligen Alltags - sofern es die wunderbaren Vorgaben des Museums es hergaben.

Artikel lesen scroll to top