{"id":78,"date":"2014-03-09T13:17:39","date_gmt":"2014-03-09T13:17:39","guid":{"rendered":"http:\/\/projektklinik.de\/?p=78"},"modified":"2015-01-08T08:15:41","modified_gmt":"2015-01-08T08:15:41","slug":"typologie-von-software-entwicklern-teil-2-der-ideologe","status":"publish","type":"post","link":"https:\/\/projektklinik.de\/?p=78","title":{"rendered":"Typologie von Software-Entwicklern (Teil 2): Der Ideologe"},"content":{"rendered":"<p>Nach der <a title=\"Typologie von Software-Entwicklern \u2013 Teil 1: Die Diva\" href=\"http:\/\/projektklinik.de\/?p=16\">Diva <\/a>nun ein paar Charakterisierungen eines weiteren weit verbreiteten Entwicklertyps: des Ideologen.<\/p>\n<p>Der Ideologe m\u00f6chte, dass bei der Entwicklung einer Software alles richtig gemacht <em>wird.<\/em><\/p>\n<p>&#8222;Richtig&#8220; hei\u00dft f\u00fcr ihn in der Regel, &#8222;dem h\u00f6chsten Stand der Wissenschaft entsprechend&#8220; \u2013 was immer er darunter versteht. Der Stand der Wissenschaft (hier: der theoretischen Wissenschaft) wird im Zweifel auch mal fix von ihm selbst definiert.<\/p>\n<p>In der Regel besteht dieser &#8222;Stand der Wissenschaft&#8220; aus einer Menge abstrakter Konzepte, die nur tendentiell auf das anstehende Problem anwendbar sind, weil hoffnungslos \u00fcberdimensioniert.<\/p>\n<p>Der Ideologe ist von dem Konzept, das er zuletzt neu verstanden hat, \u00fcber alle Ma\u00dfen \u00fcberzeugt und strebt danach, es so konsequent wie m\u00f6glich anzuwenden, nach dem Prinzip: Wenn ich H\u00e4mmer geil finde, ist jedes Problem ein Nagel.<\/p>\n<p>Objektorientierung? Alles wird in so viele voneinander abgeleitete, winzige Klassen wie m\u00f6glich zerlegt, bis zu dem Punkt, an dem manche Klassen nur noch aus Deklarationen und geerbten Eigenschaften ohne eigenen Code bestehen; bis der Code vor ellenlangen Bezeichnern mit geerbten, also implizit geforderten Parametern nur so wimmelt und jedes Debugging einem Doodle-Jump-Spiel mit vielen, vielen Ebenenwechseln \u00e4hnelt.<\/p>\n<p>Interfaces? Alle Methoden einer Klasse d\u00fcrfen nur noch \u00fcber Interfaces aufgerufen werden, auch die trivialsten! Damit treibt man sch\u00f6n den Aufwand f\u00fcr die Signaturerstellung, muss ja alles doppelt gemacht werden&#8230;<\/p>\n<p>Service Oriented Architecture? Jede Klasse ein Service, der per SOAP- oder REST-Protokoll mit den anderen Services redet, damit auch das letzte Qu\u00e4ntchen Performance irgendwo in den Netzwerk-Controllern verreckt. Aber alles so herrlich lose gekoppelt!<\/p>\n<p>Projektstrukturierung? Der Theoretiker schafft es, so abstrakte Kategorien und Zerlegungen f\u00fcr jedes Schnipselchen der Software zu definieren, dass sich alle anderen Team-Mitglieder (und oft auch er selbst) in den Tiefen unendlicher und oft ungeeignete Zerlegungsdimensionen nutzender Ordnerhierarchien verlieren.<\/p>\n<p>Verstehen Sie mich nicht falsch: All diese Konzepte sind toll und bei richtiger Anwendung sehr hilfreich. Nur eben dann nicht, wenn sie zur Ideologie werden (&#8222;Am serviceorientierten Wesen soll mein Code genesen!&#8220;), um die herum Fragen wie Eignung, Angemessenheit und Verst\u00e4ndlichkeit verbogen werden.<\/p>\n<p>Die zweite irritierende Haupteigenschaft des Ideologen: Er m\u00f6chte (und kann) seine Ideologie nicht unbedingt selbst umsetzen. Oft genug kann er es gar nicht, denn das reale Verst\u00e4ndnis reicht \u00fcber das Lesen von einen paar Artikeln im Web und ein bisschen &#8222;Spielen zuhause&#8220; nicht hinaus!<br \/>\nDie Umsetzung k\u00f6nnen gern andere machen, solange sie dem Geist seiner Ideen folgen&#8230;<\/p>\n<p>Wie die Diva kann der Ideologe ganze Teams l\u00e4hmen, wenn ihm nicht gen\u00fcgend gesunder Entwicklerverstand entgegengesetzt wird, zum Beispiel deshalb, weil das Management seine Buzzwords f\u00fcr bare M\u00fcnze nimmt und ihn als Experten f\u00fcr die neuesten Trends zum Verantwortlichen f\u00fcr Architektur oder den Software-Entwicklungsprozess macht.<\/p>\n<p>Nein, man muss nicht die allerneueste Technologie verwenden, uns reicht es, gut funktioniernde Software zu bauen, deren Grundlage alle im Team gut beherrschen. Nein, Konsequenz ist nicht das h\u00f6chste Prinzip, wohlfundierter, dem Problem und den Randbedingungen angemessener Pragmatismus ist es.<\/p>\n<p>Was tun mit Ideologen? Lasst sie so lange ihre eigenen Ideen (nicht projektkritisch!) in Prototypen umsetzen und sich die H\u00f6rner daran absto\u00dfen, bis sie sie von selbst verwerfen (&#8222;toller Ansatz, aber unausgereift&#8220;) oder sie die n\u00f6tige Zielorientierung entwickeln und das Ergebnis gel\u00e4utert ins Team tragen k\u00f6nnen. Nicht alles, was ein Ideologe mitbringt, ist ja falsch oder auch nur schlecht. Nur die blinde Missionierung eines Projekts zum Glauben an untaugliche Techno-Gottheiten ist es.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nach der Diva nun ein paar Charakterisierungen eines weiteren weit verbreiteten Entwicklertyps: des Ideologen. Der Ideologe m\u00f6chte, dass bei der Entwicklung einer Software alles richtig gemacht wird. &#8222;Richtig&#8220; hei\u00dft f\u00fcr ihn in der Regel, &#8222;dem h\u00f6chsten [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[64,65],"_links":{"self":[{"href":"https:\/\/projektklinik.de\/index.php?rest_route=\/wp\/v2\/posts\/78"}],"collection":[{"href":"https:\/\/projektklinik.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/projektklinik.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/projektklinik.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/projektklinik.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=78"}],"version-history":[{"count":16,"href":"https:\/\/projektklinik.de\/index.php?rest_route=\/wp\/v2\/posts\/78\/revisions"}],"predecessor-version":[{"id":156,"href":"https:\/\/projektklinik.de\/index.php?rest_route=\/wp\/v2\/posts\/78\/revisions\/156"}],"wp:attachment":[{"href":"https:\/\/projektklinik.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=78"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/projektklinik.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=78"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/projektklinik.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=78"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}