% -----------------------------------------  
% AUTOGENERATED LATEX FILE FROM XML DOCBOOK  
%    customized by wh@haefelinger.it         
% -----------------------------------------  
%%<params>
%%</params>
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{cmap}
\usepackage[hyperlink]{vitae}
%
% Define title and author
%
\newcommand{\dbktitle}{Curriculum Vitae}
\newcommand{\dbkauthors}{Wolfgang Häfelinger}

\usepackage{soul}
\definecolor{ulcolor}{rgb}{0,0,0}
\definecolor{hlcolor}{rgb}{1,0.75,0.5}
\setulcolor{ulcolor}
\sethlcolor{hlcolor}

%
% Let's rock!
%
\begin{document}

\section{ANGESTREBTE POSITION}

Interessante, herausfordernde Tätigkeit in der \ul{Architektur} und/oder \ul{Entwicklung} von Softwaresystemen an europäischen Standorten (Deutschland, Schweiz, Österreich, Benelux, Skandinavien, Großbritannien) 

\section{PERSÖNLICHE DATEN}

{\centering \savetablecounter \begingroup%
\setlength{\newtblsparewidth}{\linewidth-2\tabcolsep-2\tabcolsep-2\tabcolsep}%
\setlength{\newtblstarfactor}{\newtblsparewidth / \real{425}}%
\begin{longtable}{ll}
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Name, Vorname
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Häfelinger, Wolfgang
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Anschrift
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Slangenburg 42, 1082JW Amsterdam, NL
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Nationalität
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Deutscher
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Geburtsjahr
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    1964
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Ausbildung
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Dipl. Informatiker
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Telefon
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    +31 648 27 61 59
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Email
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
      \href{mailto:wh@haefelinger.it}{wh@haefelinger.it}  
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Internet
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
      \href{http://www.haefelinger.it/}{http://www.haefelinger.it}  
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Weblog
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
      \href{http://workbench.haefelinger.it/}{http://workbench.haefelinger.it}  
  %
}\tabularnewline

\end{longtable}\endgroup%
\restoretablecounter%
}

  \imgexists{images/L1010027.jpg}{{\imgevalsize{images/L1010027.jpg}{\includegraphics[width=170pt,]{images/L1010027.jpg}}}}{images/L1010027.jpg}  \imgexists{images/L1010037.jpg}{{\imgevalsize{images/L1010037.jpg}{\includegraphics[width=170pt,]{images/L1010037.jpg}}}}{images/L1010037.jpg}  

  \imgexists{images/L1010042.jpg}{{\imgevalsize{images/L1010042.jpg}{\includegraphics[width=170pt,]{images/L1010042.jpg}}}}{images/L1010042.jpg}  \imgexists{images/L1010044.jpg}{{\imgevalsize{images/L1010044.jpg}{\includegraphics[width=170pt,]{images/L1010044.jpg}}}}{images/L1010044.jpg}  

\section{KOMPETENZEN}

{\centering \savetablecounter \begingroup%
\setlength{\newtblsparewidth}{\linewidth-2\tabcolsep-2\tabcolsep-2\tabcolsep}%
\setlength{\newtblstarfactor}{\newtblsparewidth / \real{425}}%

\begin{longtable}{ll}
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Themen
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    \ul{Software-{}Architektur}, Java EE/J2EE, Buildmanagement, IT Security, Compilerbau, Telekommunikation.
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Arbeitsweise
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Selbständig, Teamorientiert, Belastbar, Flexibel, Lösungsorientiert.
  %
}\tabularnewline

\end{longtable}\endgroup%
\restoretablecounter%
}

\section{PORTFOLIO}

{\centering \savetablecounter \begingroup%
\setlength{\newtblsparewidth}{\linewidth-2\tabcolsep-2\tabcolsep-2\tabcolsep}%
\setlength{\newtblstarfactor}{\newtblsparewidth / \real{425}}%

\begin{longtable}{ll}
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    2011
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Europäisches Patentamt
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    2010
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    T-{}Systems MMS GmbH
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    2009
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    häfelinger IT
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    2005-{}2009
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Europäisches Patentamt
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    2001-{}2005
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Borland
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    2000-{}2001
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Dresdner Bank
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    2000
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Karis AG
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    1999
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    IBM
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    1998
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Robert Bosch GmbH
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    1994-{}2000
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Computec GmbH Software
  %
}\tabularnewline

\end{longtable}\endgroup%
\restoretablecounter%
}

\section{FALLSTUDIE »RESTful OCR-{}Cluster«}
\textbf{Den Haag (NL), 2011-{}? -{} Freiberufliche Tätigkeit\footnote{
Weitere Fallstudien unter \href{http://de.haefelinger.it/portfolio}{http://de.haefelinger.it/\-portfolio}  
} als Software Architekt am Europäischen Patentamt.}

Design, Implementierung und Inbetriebnahme eines OCR\footnote{
Optical Character Recognition, vgl. \href{http://de.wikipedia.org/wiki/Texterkennung}{http://de.wikipedia.org/\-wiki/\-Texterkennung}  
} Clusters. In den einzelnen Knoten des Clusters wird kommerzielle Software zur Texterkennung eingesetzt, die jedoch nur eine synchrone Webservice-{}Schnittstelle anbietet. \ul{Das Cluster soll stattdessen über eine asynchrone Schnittstelle betrieben werden, die zudem die Architektur des Webs voll nutzt (REST). }  

\subsection{Technologien}

MOM(noch offen), Java EE (Jboss), Buildwerkzeuge (Ant, Maven), SCM (Subversion), Projektmanagement (Jira), Wiki (Confluence), OS (Windows XP, Windows 7, GNU/Linux SLES, MacOS X), Virtualisierung (VMWare), IDE(Eclipse), Sonstiges (Java, Groovy, XSLT/XPATH, REST, JSON).

\section{FALLSTUDIE »Infrastructure Engineering«}
\textbf{Den Haag (NL), 2010-{}2011 -{} Freiberufliche Tätigkeit als Software Architekt im Application Engineering Umfeld am Europäisches Patentamt.}

Umstellung der bisherigen, teilweise veralteten, teilweise proprietären Infrastruktur zur agilen Softwareentwicklung auf gängige Komponenten (Subversion, Maven, Jenkins/Hudson, Nexus Pro, SonarJ, Fisheye und Crucible). \ul{Design, Dokumentation, Präsentation und Implementierung des neuen Release-{}Prozesses}. Planung der stufenweisen Stilllegung des bis dato aktuellen Infrastruktur.

\subsection{Technologien}

Buildwerkzeuge (\ul{Maven}), Buildserver (\ul{Jenkins}/Hudson), Artefact Repositories (\ul{Nexus Pro}), SCM (\ul{Subversion}), Projektmanagement (Jira), Wiki (Confluence), OS (Windows XP, GNU/Linux SLES, MacOS X), Virtualisierung (VMWare), IDE(Eclipse), Sonstiges (\ul{Java}, \ul{Groovy}, Ruby, GNU/Emacs, XSLT/XPATH, \ul{REST}).

\section{FALLSTUDIE »Buildmanager«}
\textbf{Jena (DE), 2010 -{} Freiberufliche Tätigkeit als Build-{} und Deploymanager im J2EE Umfeld bei der T-{}Systems Multimedia Solutions GmbH (MMS).}

Die MMS erstellt am Standort Jena vorwiegend webbasierte Shopsysteme für Großkunden, Mittelstand und internen Gebrauch her. Die auf den Kunden zugeschnittenen Lösungen basieren auf IBM Websphere Commerce, einer J2EE Plattform für B2B und B2C-{}Geschäftsmodelle.

Das Build-{} und Deployment Team ist verantwortlich für die Bereitstellung und Konfiguration der Test/Staging-{}Instanzen, der Buildumgebung, dem täglichen Bau und Deployment der Shopapplikationen sowie dem Einspielen und der Wartung von Datensätzen.

  \ul{Schwerpunkt meiner Arbeit war, neben den Aufgaben des Tagesgeschäfts, die Überarbeitung bestehender Prozesse mit dem Ziel, diese zu automatisieren.}  

\subsection{Technologien}

Buildwerkzeuge (\ul{Ant}, Maven), Buildserver (\ul{Hudson}, Anthill), Artefact Repositories (Artefactory, Nexus), SCM (\ul{Subversion}, git), Projektmanagement (\ul{trac}), Windows (XP, 7), Linux (SLES, Opensuse), Virtualisierung (VMWare), IBM Websphere (v6, v7), \ul{IBM Websphere Commerce} (v6, v7), IBM DB2 (v8, v9), IDE(RAD), IBM Scripting Console (wsadmin), Sonstiges (J2EE, ssh, emacs, vi, cygwin, Jython, jacl,Tanuki Wrapper, XSLT/XPATH).

\section{FALLSTUDIE »FLAKA«}
\textbf{Amsterdam (NL), 2009-{}2012 -{} Unentgeltlicher OpenSource Beitrag\footnote{
Weiter OpenSource Beiträge unter \href{http://workbench.haefelinger.it/}{http://workbench.haefelinger.it}  
} zum Thema Software Entwicklung.}

Flaka\footnote{
Siehe \href{http://flaka.haefelinger.it/}{http://flaka.haefelinger.it} sowie \href{http://code.google.com/p/flaka}{http://code.google.com/\-p/\-flaka}  
} ist ein von mir initiiertes OpenSource Projekt, das das populäre Buildwerkzeug Ant erweitert. Durch Flaka werden programmiertypische Strukturen wie Verzweigungen, Schleifen und Ausnahmebehandunglung bereitgestellt. Ferner wird eine eingebettete Sprache, die Expression Language (EL), eingeführt, deren Wurzeln auf J2EE/JSP 2.0 zurückgehen. Durch die EL können beliebig komplexe Ausdrücke formuliert werden, ohne Gefahr zu laufen, die Wohlgeformtheit der XML Skripte zu verletzten. Außerdem erlaubt die EL auf Variablen und auf die Eigenschaften der interne Datenobjekte zuzugreifen. Durch diese Eigenschaften der EL wird der Grad der Ausdrucksfähigkeit wesentlich gesteigert.

  \ul{Mittlerweile wird Flaka in mehreren Projekten eingesetzt, unter anderem bei der HUK-{}Coburg.}  

\subsection{Technologien}

Java, \ul{Ant}, \ul{Java Unified Expression Language}, Eclipse, Subversion, Git, Junit, TeX/LaTeX, \ul{Docbook}, \ul{asciidoc}, dblatex.

\section{FALLSTUDIE »Darwin«}
\textbf{Den Haag (NL), 2005-{}2009 -{} Freiberufliche Position als System Architekt und Softwareentwickler in der Abteilung Architektur und Forschung am Europäischen Patentamt.}

Die Verwendung der korrekten Version einer Komponente ist ein herausforderndes Problem in der Erzeugung komponentenbasierter Softwaresysteme. Eine veraltete Komponente wird typischerweise erst sehr spät, typischerweise beim funktionalen Testen des Gesamtsystems als solche bestätigt. Diesen Kosten-{} und Verzögerungsfaktor galt es zu eliminieren. Meine Aufgabe bestand in der Situationsanalyse sowie Konzeption und Bereitstellung einer Lösung für dieses Problem.

Ich löste diese Aufgabe durch die Konzeption und Inbetriebnahme eines vollautomatischem, agilem Buildsystems, welches unter dem Namen “Darwin” bekannt wurde. Ein fundamentaler Designaspekt von Darwin war die Forderung, daß Entwickler sich nicht um die Version einer Komponente kümmern sondern nur um die Komponente als solche. Die gesamte Verwaltung der Versionen wurde daher komplett von Darwin übernommen. Um dies zu erreichen musste die OpenSource Software CruiseControl\footnote{
http://cruisecontrol.sourceforge.net/
} wesentlich erweitert werden, wobei ein großer Teil der komplexen Versionsverwaltung in der Skriptsprache Python realisiert wurde. Ferner wurde ein auf Ant basierendes Framework entwickelt, welches letztendlich alle Buildskripte auf die Beschreibung versionsloser Abhängigkeiten reduzierte.

  \ul{“Darwin” ist der de facto Standard zur Erzeugung komponentenbasierter Systeme am Europäischen Patentamt in Den Haag.}  

\subsection{Technologien}

\ul{Java}, \ul{CruiseControl}, \ul{Ant}, CVS, Maven, Tomcat, \ul{XML}, Linux, Windows, Eclipse, REST, Python, \ul{JSP}, \ul{XSLT/XPATH}, graphviz.

\section{FALLSTUDIE »pyANTLR«}
\textbf{Amsterdam (NL), 2004-{}2005 -{} Unentgeltlicher OpenSource Beitrag zum Thema Software Entwicklung.}

ANTLR\footnote{
\href{http://www.antlr.org/}{http://www.antlr.org}
} ist eine OpenSource Plattform für den Bau eines Compilers mit einer ausgezeichneten Unterstützung für die Konstruktion von Syntax-{}Bäumen, Manipulation und Traversierung. Obwohl ursprünglich für die Programmiersprache Java gedacht, kann ANTLR auf beliebige Zielsprachen erweitert werden.

Diese Liste erweitertet ich um pyANTLR, mit der nun möglich ist, einen auf ANTLR basierenden Compiler in Python zu realisieren. Neben dem eigentlichen Code-{}Generator schrieb ich auch eine große Anzahl von Beispielen sowie die Core-{}Bibliothek, auf die der erzeugte Python Code aufbaut. 

  \ul{pyANTLR ist seit der Version 2.7.5 integraler Bestandteil von ANTLR.}  

\subsection{Technologien}

Java, \ul{Python}, Make, autoconf

\section{FALLSTUDIE »Software Analyst«}
\textbf{Amsterdam (NL), 2001-{}2004 -{} Festanstellung als Software Analyst beim Softwareunternehmen Borland.}

Als Software Analyst verantwortlich die Betreuung von bekannten Unternehmen (u.A. Nokia, Ericsson, France Telecom, Deutsche Bank London, Euronext Amsterdam, Bundesagentur für Arbeit)im Bereich der Borland'schen Middleware Produkte (J2EE Application Server und Visibroker/CORBA für C++ und Java).

Analyse und Testen von Problemen mit den Produkten vor Ort oder im EMEA Hauptquartier in Amsterdam. Pflege des Kontakts zu den Kunden sowie zu den Ingenieuren der Forschungs-{} und Entwicklungsabteilungen in Singapur und Kalifornien; Bereitstellung von Trainingsmaterial sowie Aufbereitung der Produktinformation für Kunden und Mitglieder des Teams.

Eine beispielhafte Aufgabenstellung war ein Leistungsabfalls des, mit annähernd 90000 Benutzern, größten Visibroker-{}Clusters bei der Bundesagentur für Arbeit. Zur Nachstellung und Testen des Problems wurde vor Ort Silkperformer\footnote{
\href{http://www.borland.com/us/products/silk/silkperformer/index.html}{http://www.borland.com/\-us/\-products/\-silk/\-silkperformer/\-index.html}
}  \footnote{
Silkperformer wurde mittlerweile von Borland aufgekauft und in die Borland'sche Produktfamilie integriert.
} eingesetzt, welches die flexible Fernsteuerung beliebiger Maschinen nach vorgegebenen Schematas oder über eigene Skripte zulässt. \ul{Der Leistungsabfall konnte letztendlich von mir auf eine plattformspezifische Threadbibliothek zurückgeführt werden.}  

\subsection{Technologien}

AIX, Ant, Apache, \ul{Borland Enterprise Server,} C++ Builder, \ul{CORBA}, CORBA NamingService, CORBA Notification Service, CORBA POA, DB2, Dbx, EJB, Ethereal, GIOP, GNU/Linux, Gatekeeper, Gdb, HP-{}UX, HTTP, IIOP,JNDI,JNI,IIS,HTML, IPC, Informix, \ul{J2EE}, JAAS, JCE, JDBC, JDK 1.3, JDK 1.4, JMS, JSP, Jakarta Struts, Jbuilder, LDAP, Make, Montavista Linux, OpenLDAP, OpenSSL, Oracle, Osagent, RMI, Mod\_iiop, NAT, SPY6, SSL, Servlet, Shell Scripting, \ul{Silkperformer}, Solaris, Squid, TCP/IP, Tcpdump, Telnet, Tomcat, UDP, UNIX, \ul{Visibroker for C++}, \ul{Visibroker for Java}, Windows, X.509, XML, Xdoclet

\section{FALLSTUDIE »ASN2XXX«}
\textbf{Karlsruhe (DE), 1994-{}2000 -{} Festanstellung als C/C++ Softwareentwickler und Produktmanager bei der Firma Computec GmbH Software.}

ACCENT (EP 9169\footnote{
\href{http://research.cs.ncl.ac.uk/cabernet/www.laas.research.ec.org/esp-syn/text/9169.html}{http://research.cs.ncl.ac.uk/\-cabernet/\-www.laas.research.ec.org/\-esp-{}syn/\-text/\-9169.html}
}) war die Forschungsarbeit verschiedener europäischer Firmen und Organisationen und wurde von der Europäischen Gemeinschaft im Rahmen des ESPRIT Programms gefördert. Ziel war die Entwicklung einer hardwaregestützten Kodiereinheit als Implementierung des ISO-{}Standards X.209.

Die Aufgabe der Firma Computec war die Bereitstellung einer Softwareschnittstelle und einer softwaregestützten Kodiereinheit. Erstere erlaubte den transparenten Austausch der Kodiereinheiten und Zweck der letzteren war die Abschätzung und Bewertung der Leistungsfähigkeit der hardwaregestüzten Kodiereinheit.

Als Computecs Leiter des Projekts ACCENT übernahm ich das Design und die Entwicklung der Software Schnittstelle (ASN.1 Compiler) und der Kodiereinheit. Ferner repräsentierte ich Computec im ACCENT-{}Gremium und gegenüber der Europäischen Gemeinschaft.

Es stellte sich heraus, dass die von mir realisierte Einheit extrem schnell war, auch und gerade im Vergleich zu anderen bekannten Lösungen wie etwa ISODE und somit letztendlich den Entwurf einer Hardwarezelle in Frage stellte. Konsequenterweise wurde die Hardwarezelle nie gebaut. Aufgrund des außerordentlichen technischen Erfolgs des ASN.1 Compilers und der Kodiereinheit beschloss Computec, diese Komponenten unter dem Namen ASN2CXX zu vermarkten.

  \ul{ASN2CXX wurde unter meiner Leitung zur Marktreife entwickelt und weltweit an bekannte Unternehmen wie Ericsson, Bell Atlantic, Marconi, Telefonica Spain, Storck (Niederlande) und Bosch Telecom Deutschland vertrieben.}  

\subsection{Technologien}

\ul{ASN.1, C++}, Java, Windows, Solaris, Sniff, make, purify, gdb

\section{TECHNOLOGIEN}

{\centering \savetablecounter \begingroup%
\setlength{\newtblsparewidth}{\linewidth-2\tabcolsep-2\tabcolsep-2\tabcolsep}%
\setlength{\newtblstarfactor}{\newtblsparewidth / \real{425}}%

\begin{longtable}{ll}
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Sprachen
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    AWK, \ul{Shell }(Bash, Bourne), C\#, \ul{C/C++}, Lisp (SBCL), \ul{Java}, Groovy, JavaScript, \ul{M4}, PHP, Pascal, Perl, Prolog, \ul{Python}, Ruby, Scheme (Guile, Racket), Tcl/TK, Haskell, ObjectiveC
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Markup
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    \ul{XML}, (X)\ul{HTML}, \ul{ASN.1}, \ul{TeX/LaTeX}, AsciiDoc, \ul{DocBook}
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Minisprachen
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    SQL, \ul{Reguläre Ausdrücke}, \ul{XPath}, \ul{CSS}  
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Betriebssysteme
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Cygwin, \ul{Unix} (Digital, HP-{}UX, AIX, SGI, SunOS, Solaris), MKS, Windows (98, 2ooo, NT, XP), MS-{}DOS, MSYS, \ul{MacOS/X}, Novell Netware, \ul{GNU/Linux} (RedHat, Suse, Ubuntu, Mandrake, Montavista)
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Security
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    \ul{Kerberos}, PKI, SSL/TLS
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Datenbanken
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    DB2, Informix, JDBC, MS Access, \ul{MySQL}, ODBC, ObjectStore, Oracle, NoSQL (CouchDB, MongoDB)
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Kommunikation
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    \ul{ASN.1} (BER, CER, DER, PER, X.68x, X.69x.) CIFS, \ul{CORBA}, CUPS, DNS, GIOP, \ul{HTTP}, \ul{HTTPS}, ICMP, IIOP, IMAP, JAAC, JCA, JNDI, LDAP, NAT, NFS, NIS, NTP, OSI, PEM, POP3, RMI, RPC, S/MIME, SMTP, TCP/IP, UDP, X.509, GDMO, XDR
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Webentwickung
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    CGI, \ul{J2EE}, \ul{REST}, Ajax, jQuery
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Java EE/ J2EE
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Servlets, \ul{JSP}, EJB, RMI, JINI, JNDI, JMS, Webservices
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Methoden
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Extreme Programming, OOP, CI
  %
}\tabularnewline

\end{longtable}\endgroup%
\restoretablecounter%
}

\section{WERKZEUGE}

{\centering \savetablecounter \begingroup%
\setlength{\newtblsparewidth}{\linewidth-2\tabcolsep-2\tabcolsep-2\tabcolsep}%
\setlength{\newtblstarfactor}{\newtblsparewidth / \real{425}}%

\begin{longtable}{ll}
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    IDEs
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    \ul{Eclipse}, Visual Studio, JBuilder, Sniff, Sun Workshop, Symantec, Visual Age
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Editoren
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    \ul{Emacs}, vi
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Versionsverwaltung
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    \ul{CVS}, \ul{Subversion}, \ul{git}, mercurial, RCS, Perforce, GNU arch
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Compilerbau
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    \ul{Antlr}, lex/yacc, \ul{flex/bison}, JavaCC
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Webserver
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    \ul{Apache}, \ul{Tomcat}, lighttpd, winstone, IHS
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Appl. Server
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Borland Application Server, Websphere, Websphere Commerce
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Buildwerkzeuge
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    \ul{Make,}\ul{Ant}, \ul{Maven}, \ul{autoconf}
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Buildserver
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    \ul{Hudson/Jenkins, CruiseControl}, Hudson, Anthill
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Lizenzierung
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    FlexLM
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    CORBA
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    \ul{Visibroker}, mod\_iiop, Mico, OmniORB, Orbix, TAO
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    ASN.1
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    \ul{ASN2CXX}, ISODE, snacc, OSS
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Debugging
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    purify, \ul{gdb}, dbx, nm, wireshark
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Performance
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    silkperformer
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Test
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    expect, \ul{junit}  
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Sicherheit
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    OpenSSL, mod\_ssl
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Konnektivity
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    \ul{Samba}, NFS, automounter, Humingbird Exceed, ssh
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    UML
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Paradigm Plus
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Graphik
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Photoshop, GIMP, Inkscape, SVG, \ul{graphviz}  
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Email
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    \ul{Qmail}, Sendmail
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Installbuilder 
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    InstallAnywhere, InstallShield, MSI-{}Installer
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Integration
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Swig
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    CMS
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    \ul{Wordpress}, Mediawiki
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Projekt Managment Applications
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Redmine, Trac, JIRA
  %
}\tabularnewline

\end{longtable}\endgroup%
\restoretablecounter%
}

\section{AUSBILDUNG}

{\centering \savetablecounter \begingroup%
\setlength{\newtblsparewidth}{\linewidth-2\tabcolsep-2\tabcolsep-2\tabcolsep}%
\setlength{\newtblstarfactor}{\newtblsparewidth / \real{425}}%

\begin{longtable}{ll}
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    1987-{}1994
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Universität Karlsruhe; \ul{Abgeschlossenes Studium der Informatik}  
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    1984-{}1987
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Technisches Gymnasium Müllheim; Allgemeine Hochschulreife
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    1981-{}1984
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Bahnbetriebswerk Haltingen; Abgeschlossene Ausbildung zum Maschinenschlosser
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    1976-{}1981
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Realschule Kandern; Mittlere Reife
  %
}\tabularnewline

\end{longtable}\endgroup%
\restoretablecounter%
}

\section{SPRACHEN}

{\centering \savetablecounter \begingroup%
\setlength{\newtblsparewidth}{\linewidth-2\tabcolsep-2\tabcolsep-2\tabcolsep}%
\setlength{\newtblstarfactor}{\newtblsparewidth / \real{425}}%

\begin{longtable}{ll}
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Deutsch
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Muttersprache
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
      \ul{Englisch}  
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Verhandlungssicher
  %
}\tabularnewline
\multicolumn{1}{p{105\newtblstarfactor}|}{\raggedright%
    Niederländisch
  %
}&\multicolumn{1}{p{320\newtblstarfactor+\arrayrulewidth}}{\raggedright%
    Flüssig
  %
}\tabularnewline

\end{longtable}\endgroup%
\restoretablecounter%
}
%
% That's it folks!
%
\end{document}

