Diese Seite dient dazu Ihnen, als Kunde, Projektvermittler, Personalberater, o.ä., einen tiefgehenden Überblick meiner IT-Kenntnisse zu geben.
Falls besondere Angaben fehlen, die Sie gerne sehen würden, falls eine Formulierung zu undeutlich ist, oder Sie andere Verbesserungsvorschlägen haben, zögern Sie nicht eine Email mit Feedback zu schicken.
Die
Kenntnisse sind in logischen Gruppen eingeteilt, die wiederum aus
Einzeleinträgen bestehen. Aus Platzgründen haben nicht alle Unter-Technologien
separate Einträge. Wenn Sie also ein besonders Stichwort, etwa “DTD”, nicht
in dem Inhaltsverzeichnis finden, kann es sich lohnen die Suchfunktion Ihres
Browsers (typischerweise Kontroll-F) zu benutzen. Sie würden dann
“DTD” unter XML/XSLT
finden.
Der typische Einzeleintrag besteht aus:
Einem Namen.
Einer Zahl von 1 bis 3, die meine theoretische Kenntnisse angibt (1 am Besten).
Einer entsprechenden Zahl für meine praktische Erfahrungen. (S. auch diese Diskussion, warum eine Zweiteilung notwendig ist.)
Einer kurzen textuellen Erläuterung.
Hierbei ist zu beachten, dass die Angaben sich auf den historischen Höchststand beziehen—eine gewisse Auffrischung kann nötig sein.
Allgemein bin ich etwas skeptisch zu der Relevanz von solchen Zahlen (vorallem wegen der großen Subjektivität), und erwähne sie hauptsächlich weil sie gerne von Auftraggebern gesehen werden. Allerdings habe ich diese Angaben nicht durchgehend gemacht, weil sie öfters von zu zweifelhaftem Wert sind. (Eine Empfangsdame, die “1” im Bezug auf Windows-Kenntnisse behauptet, käme wahrscheinlich nicht über eine “3” aus Sicht eines Softwareentwicklers hinaus; seine “1”, wiederum, würde vielleicht als eine “3” von einem Systemadministrator oder Betriebsystementwickler angesehen werden. Welchen Wert kann man dann sinnvoll angeben?)
Beachten Sie auch, dass die richtige Denkweise und die allgemeinen Erfahrungen häufig wichtiger sind als die spezifischen Erfahrungen: IDEs, Profilers, Debuggers, z.B., sind einander meistens so ähnlich, dass ein Profi problemlos umsteigen kann. Auch spezifische Bibliotheke, Sonderwerkzeuge, usw. sind häufig schnell zu erlernen. Sollten Sie also unten nicht genau “Ihre” Technologien vorfinden, ist das nicht unbedingt ein Problem. Nachfragen zu Einarbeitungsaufwänden, u.ä., beantworte ich gerne—zumal es sein kann, dass ich einfach einen Eintrag vergessen habe.
| Theorie: | 1 |
| Praxis: | 1 |
| Bemerkung: | Mehr als fünf Jahre von Java-Entwicklung kombiniert mit umfassenden theoretischen Studien. Außer GUI-Entwicklung bin ich in Kontakt mit fast allen Hauptbereichen gekommen, öfters tiefgehend. Insbesondere ist zu beachten, dass ich mit Themen wie Multi-Threading, Optimierung, Skalierbarkeit, und Maintainability vertraut bin—Themen, die leider bei vielen sonst kompetenten Entwicklern unter dem Tisch gefallen sind. |
| Theorie: | 3 |
| Praxis: | 3 |
| Bemerkung: | Wiederkehrendes Thema, jedoch meistens hinter Abstraktionen versteckt. |
| Theorie: | 1 |
| Praxis: | 1 |
| Bemerkung: | Insbesondere habe ich für einen navigierbaren Wissensbasis einen JNDI-Adapter geschrieben, was ein eingehendes Studium der Spezifikation verlangt hat. |
| Theorie: | 2 |
| Praxis: | 2 |
| Bemerkung: | Mehrmonatige Erfahrungen. |
| Theorie: | 1 |
| Praxis: | 2 |
| Bemerkung: | JSP-Programmierung ist ein ständig wiederkehrendes Thema gewesen, jedoch häufig in einem Form wo Tag-Libs, JSF, oder sonstige Erweiterungen im Fokus gestanden haben—daher nur eine 2 in Erfahrungen. |
| Theorie: | 1 |
| Praxis: | 1 |
| Bemerkung: | Unit-Tests ist (zu Recht) bei mehreren Arbeitgebern wichtig gewesen, und ich habe mich hier eingehend vertieft. |
| Theorie: | 1 |
| Praxis: | 3 |
| Bemerkung: | Binnen Rahmen einer internen Schulung war ich mit einem Vortrag zu diesem Thema beauftragt, und habe mich zu diesem Zwecke eingehend mit der Theorie beschäftigt. Außer einigen Testbeispielen für den Vortrag, fehlen mir jedoch praktische Erfahrungen. |
| Theorie: | 2 |
| Praxis: | 2 |
| Bemerkung: | Mehrmonatige Erfahrungen. |
| Theorie: | 3 |
| Praxis: | 3 |
| Bemerkung: | Wiederkehrendes Thema, jedoch meistens hinter Abstraktionen versteckt. |
| Theorie: | 1 |
| Praxis: | 1 |
| Bemerkung: | Vor allem in den Zeiten bevor JSP populär wurde ein Hauptthema. Erfahrungen inkludieren, außer reinen Servlets, Kombinationen von Servlets und Software-Agenten, und Kommunikation zwischen Servlets in unterschiedlichen VMs. |
(Inklusive Dokumentsprachen wie HTML und LaTeX, und andere Sonderfälle.)
Beachte, dass die Zahlen sich zum größten Teil auf die Sprachen in sich beziehen. Anders als bei Java, habe ich mich nicht immer in den Zusatzbibliotheken, Hilfsanwendungen, usw., vertiefen können—oder aber Entwicklungen seit meiner letzten Benutzung nicht mitbekommen. SmallTalk wäre ein Paradebeispiel hierführ. Für Sprachen mit einem sehr großen “Umfeld” müssen die Angaben also im Licht der textuellen Bemerkung gesehen werden.
| Theorie: | 1 |
| Praxis: | 1 |
| Bemerkung: | Hauptverantwortlicher für umfassende Ant-Dateien und Build/Deploy-Prozessen bei einem vorigen Arbeitgeber, inklusive Neustrukturierung von “Spaghetti”, hinbiegen von Sonderwünschen, und Schreiben von neuen Target-Klassen. |
| Theorie: | 2 |
| Praxis: | 2 |
| Bemerkung: | Gelegentlich benutztes Werkzeug unter Linux/Unix, inklusive Hantierung von Textdatenbanken, Schreiben von Funktionen, ... |
| Theorie: | 1 |
| Praxis: | 1 |
| Bemerkung: | Ich bin sowohl von der Uni, einigen Arbeitgebern, und meinen privaten Rechnern mit Linux/Unix wohl vertraut—und ziehe die Kommandozeile meistens vor. Entsprechend habe ich mich hier sehr vertieft, und habe auch einige halbgroßen Aufgaben für private Zwecke gelöst—von hunderten halb-trivialen Shell-Skripten (auch beruflich) abgesehen. Als Besonderheit: Diese Website wird durch Shell-Skripte generiert. (S. Technical Notes.) |
| Theorie: | 2 |
| Praxis: | 2 |
| Bemerkung: | Meine erste Programme waren, wie bei vielen anderen meiner Generation, in C64 Basic geschrieben, und ich habe in meiner Jugend einiges an Zeit hiermit verplempert. Seitdem habe ich bei einigen Gelegenheiten VisualBasic/VBScript in kleinerem Umfang beruflich einsetzen müssen. |
| Theorie: | 1 |
| Praxis: | 2 |
| Bemerkung: | Während meines Erststudiums der Hauptsprache in Informatikkursen, wo ich sowohl als Student und (später) als Betreuer tätig war. Auch habe ich in meiner Diplomarbeit ein Programm von mehreren Tausend Kodezeilen in C geschrieben. |
| Theorie: | 3 |
| Praxis: | 3 |
| Bemerkung: | (Außer den Kenntnissen, die schon durch C impliziert werden.) Einige Programmieraufgaben waren während meiner Studien in C++ auszuführen. |
| Theorie: | 1 |
| Praxis: | 1 |
| Bemerkung: | Von Zeit zu Zeit habe ich mich intensiv mit CSS beschäftigt, inklusive Dekorierung, Positionierung, separaten Druckansichten, ... Die Layout von dieser Website ist mit CSS gemacht. |
| Theorie: | 1 |
| Praxis: | 1 |
| Bemerkung: | Seit meiner ersten Homepage in 1994 (!), damals ein kurzlebiges Späßchen, bin ich sowohl beruflich als auch privat immer wieder bei HTML gelandet. |
| Theorie: | 2 |
| Praxis: | 2 |
| Bemerkung: | Ständig wiederkehrendes Thema, sowohl was Programmierlogik als auch DOM-Navigation/Manipulation angeht. |
| Theorie: | 1 |
| Praxis: | 1 |
| Bemerkung: | Ausser zwei Diplomarbeiten und einigen anderen “akademischen” Dokumenten, habe ich LaTeX seit meiner Uni-Zeit für fast alles benutzt, wo andere zu MS Word greifen würden. (Leider nur privat, beruflich ist MS Word wegen Firmenregelungen meistens unausweichbar gewesen.) |
S. Scheme.
| Theorie: | 2 |
| Praxis: | 2 |
| Bemerkung: | Häufig benutztes Tool während meines Erststudiums, insbesondere für algebraische Manipulation. |
| Theorie: | 3 |
| Praxis: | 3 |
| Bemerkung: | Gelegentlich benutztes Tool während meines Erststudiums, insbesondere in einem Kursus über numerischen Methoden. |
| Theorie: | 2 |
| Praxis: | 3 |
| Bemerkung: | Ich habe mich während der Arbeit bei einer PHP-zentrischen Firma recht gut in der Theorie einarbeiten können, und auch einige halbwegs fortgeschrittene Seiten geschrieben. |
| Theorie: | 2 |
| Praxis: | 2 |
| Bemerkung: | Teilweise Implementierung von “Business Logic” und/oder Datenkonsistenz mit Hilfe von Prozeduren und Triggers. |
| Theorie: | 2 |
| Praxis: | 3 |
| Bemerkung: | War ein wichtiges Thema in einem Kurs über AI. Der Schwerpunkt lag hier natürlich auf dem theoretischen Verständnis. |
| Theorie: | 1 |
| Praxis: | 2 |
| Bemerkung: | Die Hauptsprache in einem Informatikkurs, den ich auch wiederholt betreute. |
| Theorie: | 2 |
| Praxis: | 2 |
| Bemerkung: | Gelegentlich benutztes Werkzeug unter Linux/Unix, insbesondere wenn ich reguljäre Ausdrücke auf der Kommandozeile brauche. Die Mehrpart der Umwandlung von eigenem Markup zu XML auf dieser Website wird mit Sed-Aufrufe in einem Shell-Skript gemacht. In einer älteren Version wurde gar HTML direkt generiert. (S. Technical Notes.) |
| Theorie: | 2 |
| Praxis: | 2 |
| Bemerkung: | Hauptsprache in einem Kurs über objektorientierte Programmierung. Ich habe mich hier auch ein Stück weiter vertieft bevor meinem Berufseinstieg, da SmallTalk damals als der wahrscheinlichste Einstiegspunkt aussah. |
| Theorie: | 1 |
| Praxis: | 1 |
| Bemerkung: | Vorallem in Oracle sehr tiefgehende Erfahrungen, inklusive Optimierung und “Hinting”. Auch Benutzung von DDL, DCL, und PL/SQL. |
| Theorie: | 1 |
| Praxis: | 1 |
| Bemerkung: | Tiefgehende Erfahrungen, inklusive Transformationen und programmatische Benutzung von SAX-Parsern. Diese Website wird zuerst von einfacher Mark-Up in XML gewandelt und von dort per XSLT in HTML. Auch Schreiben von DTD- und XSD-Dokumenten. |
Ich habe umfassende private und berufliche Erfahrung mit unterschiedlichen Varianten von Linux/Unix und Windows gesammelt, inklusive SunOS/Solaris, Suse, Debian, Windows 95/2000/NT/XP/Vista. Ich habe insbesondere vielseitige Erfahrungen mit unterschiedlichen Kommandozeilen-Tools (vgl. oben.) unter Linux/Unix gesammelt, und auch einiges an Administrationsaufgaben hinter mir.
Die Theorie von Betriebssystemen ist mir von der Uni gut bekannt.
Fast durchgendend der benutzte Servletcontainer. Erfahrungen inkludieren Konfiguration, eigene Valves (Tomcat-spezifischer Vorgänger von den allgemeingültigeren Filters), und kleinere Eingriffe in dem eigentlichen Container.
Private Installation und Konfiguration um diese Website auch auf meinem privaten Rechner testen zu können. Darüber hinaus häufige Anpassungen von den “htaccess” Dateien des Live-Systems.
Gelegentlich benutztes Werkzeug, meine Erfahrungen sind allerdings eher oberflächlich.
Ausser mehrjährigen Erfahrungen mit Eclipse habe ich auch seitweise mit Kawa und unterschiedlichen Ausführungen von VisualStudio gearbeitet.
Vorallem sehr umfassende Erfahrungen mit Vim, inklusive Anpassungen, eigene Funktionen und Macros, Integration von externen Tools ... Auch mit (vanilla) Vi, Emacs, und ed/ex liegen nicht-triviale Erfahrungen vor.
(Zu bemerken ist, für die Leser, die von Windows kommen, dass “Editor” viel weitgehendere Implikationen unter Unix hat als unter Windows. Ein Vergleich Vim–Notepad, z.B., ist in etwa so sinnvoll wie der Vergleich Computer–Abakus.)
Erfahrungen mit Bugzilla, Trac, und Jira, sowie firmeninternen Bugtrackers. Ich habe mich insbesondere ein Stück mit den Möglichkeiten JIRAs beschäftigt, Workflows, Prozessen, u.ä., abzubilden und frei zu konfigurieren.
Mehrjährigen Erfahrungen von sowohl CVS als auch SVN, inklusive Administration und Umgang mit z.B. Branching. Auch professionelle Erfahrungen mit PVCS.
Erfahrungen mit einer Mehrzahl von unterschiedlichen Tools, sowohl graphischen als auch textbasierten. Besondere Erfahrungen mit Oracle SQL*Plus und SQL Developer.
Erfahrungen mit Profiling in mehreren Sprachen, vorallem Java (JProfile, JDK Bordmittel).
Ausser den in IDEs integrierten (etwa Eclipse), habe ich auch Erfahrungen mit z.B. JSwat, JDB, GDB, und unterschiedlichen Trace-Mechanismen (etwa in Scheme oder Bash).
(Selbstverständlich kenne ich auch andere Debuggingmethoden, wie gezieltes Logging.)
Während meines Sabbaticals habe ich mich gut in Spring, Maven, und Hibernate eingelesen, jedoch noch nicht die Gelegenheit gehabt, nicht-triviale praktische Erfahrungen zu sammeln.
Für z.B. Ant, s. den entsprechenden Eintrag unter Sprachen.
Ich habe als Business Analyst umfassende Erfahrungen mit Modellierung und Zeichnen von UML in Together gesammelt. Hierüber Erfahrungen in MDA/MDD in dem Trend-Framework. Geringfügige Erfahrungen mit einigen anderen Tools für UML und ERM.
TODO: Complete list and fill in details.
Ausser den hier aufgeführten Tools habe ich natürlich den Durchschnitt weit
übersteigenden Erfahrungen mit Webbrowsers, Emailklienten, u.ä.
“unvermeidbaren” Anwendungen.
Professionelle Erfahrungen mit MS Office (Word, zum Teil Excel, PowerPoint) und OpenOffice (Writer).
Erfahrungen mit einer Mehrzahl an Wikis, besonders tiefgehend bei Confluence. Sonstige inkludieren Papaya CMS und MediaWiki (benutzt von Wikipedia).
Umfassende Erfahrungen mit den Standard-Tools unter Linux/Unix, wie etwa Awk, Sed, find, xargs, tail, grep, ...
TODO:
Sonstiges: WebDAV,
Modellierung, MDA/MDD, UML, OOD, Design Patterns, Architektur,
MySQL,
SOAP,
Regular Expressions, make
Dies ist eine automatisch generierte Liste der Seiten, die zu dieser Seite verlinken. Diese beinhalten u.U. weitere Informationen zu dem aktuellen Thema.