Geburtsdatum | 11. November 1973 |
Geburtsort | Bad Harzburg |
Familienstand | 2 Kinder |
Nationalität | deutsch |
Deutsch | Muttersprache |
Englisch | gut in Wort und Schrift |
Italienisch | Grundkenntnisse |
Latein | großes Latinum |
Altgriechisch | Graecum |
Trotz meiner jungendlichen Leidenschaft für das Programmieren, entschied ich mich nach der Schule für das Studium der Fächer Latein und Mathematik. Vor allem durch das Lateinstudium entwickelte ich mein Sprachgefühl. Dieses Sprachgefühl prägte nachhaltig meine Art und Weise Software zu entwickeln. So sind für mich Design Patterns rhetorische Stilmittel, die mir helfen, mich im Code auszudrücken. Overengineering ist für mich einfach nur inhaltsleeres Gerede, das oft die fachlichen Anforderungen verbirgt. Aus meiner Sicht ist aber Code nur lesbar, wenn man die Domäne darin wiederfinden kann. Daher bin ich ein großer Anhänger des domänengetriebenen Designs.
Ich bin überzeugt, dass man nur mit einer ganzheitlichen Sicht auf ein Projekt wirklich gute Softwarearchitektur abliefern kann. Als Softwarearchitekt in Webprojekten arbeite ich sowohl im Backend als auch im Frontend und gehe im Zweifel bis auf die Netzwerkkarte herab.
In den vielen Jahren meiner Entwicklungstätigkeit haben mich auch zunehmend die sozialen Aspekte der Teams interessiert. Daher wende ich gerne meine Kenntnisse in pädagogischer Psychologie, wie z.B. Lern- und Leistungsmotivation, an.
Wichtige Punkte sind für mich die Wirtschaftlichkeit und Zukunftssicherheit der Software. Ich betrachte immer auch den Betrieb und die Verfügbarkeit von möglichen Mitarbeitern. So macht es für mich nur selten Sinn, Aufwände von der Entwicklung in den Betrieb zu verlegen. Ebenso wenig Sinn macht es, auf wenig verbreitete Programmiersprachen zu setzen, wenn die Software dauerhaft weiterentwickelt werden soll.
Es macht mir ungeheuren Spaß, mein Wissen weiterzugeben. Auch deswegen bin ich ein großer Freund des Pairprogramming und gebe auch gerne Schulungen in meinen Spezialgebieten.
Die folgende Auflistung enthält einige Schlagwörter, Softwaresysteme und Technologien, mit denen ich mich im Laufe der Zeit auseinander gesetzt habe. Sie ist weder nach Qualität noch nach Quantität sortiert:
Java EE 7, JSF 2.2, EJB 3.2, JPA 2.1, Facelets, JavaScript, AngularJS, jQuery, Zepto, HTML5, noSQL, MongoDB, morphia, REST, Glassfish, Payara, Servlets, JSP, JDBC, Swing, Webserver, Applicationserver, TCP/IP, HTTP, HTML, CSS, Ajax, Applets, XML, DOM, XSL, XSLT, SOAP, UML, Java SE 8, WebObjects, EOF, GIT, CVS, Subversion, Perforce, ClearCase, JUnit, HttpUnit, Pascal, POP, IMAP, SMTP, SQL, nginx, haproxy, Apache, CGI, Shell-Scripting, AppleScript, Design-Patterns, Extreme Programming, Scrum, Softwareentwicklung auf Zuruf, TDD, Oracle, PostgreSQL, Apache Derby, Eclipse, WOLips, DOM4J, Maven, Ant, Xalan, Xerces, NetBeans, IntelliJ IDEA
Mac OS X, Linux, Solaris, Windows, HP-UX
seit 1996 Java (Appletentwicklung, Desktopapplikationen mit AWT und Swing, Konsolenapplikationen, Serversoftware, WebObjects, Java EE 6/7), JavaScript, Turbo Pascal, x86 Assembler, Delphi, Applescript, OGNL, HTML, XML, Basic, Shellskripte, XML, C-Kenntnisse
TCP/IP, UDP, IP, SMB, Appletalk, HTTP, FTP, SOAP, POP, IMAP, SMTP, NIO