Mittwoch, April 25, 2007

Partnersuche!

Hallo!

Mein Name ist Michael Lubomirski und ich werde in den nächsten Wochen die Ehre haben meine bisherige Zeit und somit auch die bisherigen Erfahrungen mit Accenture mit euch teilen zu dürfen. Zunächst möchte ich mich natürlich vorstellen und meinen Background und den Weg zu Accenture beschreiben.

Geboren bin ich in Moskau, Russland. Mit 11 Jahren kam ich nach Deutschland. Die relativ turbulente Integration in Deutschland (Düsseldorf) und Schullaufbahn mündete dann doch in den erfolgreichen Abschlüssen der Studiengänge International Business Studies (Dipl.-Kfm.) und Master of Arts in International Economics (VWL) an der Universität Paderborn. Auf dem Weg zu diesen verheißungsvoll klingenden Titeln habe ich einen längeren Aufenthalt in Missouri (USA), Sao Paolo (Brasilien) und Salamanca (Spanien) eingelegt und mir die dortigen Schulen, Unis und Lebensweisen angeschaut und viele Eindrücke gesammelt. Vielfältigkeit und Abwechslungsreichtum waren schon immer ein Teil meines Wesens und so war für mich eine Beratungsfirma prädestiniert.

Das wusste ich aber natürlich noch nicht, als ich im Frühjahr 2006 mit 25 Jahren mein letztes Abschlusszeugnis in der Uni überreicht bekam. Professoren empfahlen mir, an ihren Lehrstühlen zu promovieren, ich aber hatte mit der Einöde der modelltheoretischen Welt der VWL, die mich die letzten Uni Jahre doch sehr stark beschäftigt hat, bereits in meinem Inneren abgeschlossen und war bereit für etwas Neues!

Nach einigen Monaten der Entspannung und aufgrund dezenter Empfehlungen meines Vaters, ihm doch endlich nicht mehr auf der Tasche zu liegen, begab ich mich ins Internet, um nach einem geeigneten Job für mich zu suchen. Die Vielfalt der Möglichkeiten schien mir in den Tiefen des Internets unendlich groß und so surfte ich einige Tage auf diversen Jobbörsen, las diverse Homepages der Unternehmen durch, um mich dann für eine Anzeige von Accenture zu interessieren. Das Unternehmen hatte ich natürlich direkt an meinem ersten Tag der Recherche entdeckt, da sie doch recht viele Positionen ausgeschrieben hatten, die mich als Finanzwirtschafts- und –wissenschaftsinteressierten angesprochen hatten. Da ich aber nicht das „Erstbeste“ direkt vertiefen wollte, suchte ich weiter und weiter, um dann erneut auf eine interessante Anzeige als Junior-Berater aufmerksam zu werden. So las ich verschiedene Erfahrungsberichte, was Du auch wohl gerade machst, schaute mir erneut die deutsche und amerikanische Internetseite an und beschloss mich bei dieser sehr vielfältig klingenden Firma zu bewerben.

Die Onlinebewerbung warf wenig Fragen auf und ich uploadete mein vorgefertigtes PDF mit dem CV, Zeugnissen und meinem Foto. Nach kurzer Zeit bekam ich einen Link zugesendet und wurde aufgefordert, dort doch ein paar Fragen zu beantworten, um meine Eignung als potentieller Arbeitnehmer erstmal unter Beweis zu stellen. „Kein Problem“ - dachte ich. Also ging ich „mal schnell“ drauf und erlebte eine Überraschung, denn das Online-Assessment war doch sehr lang und die Fragen tricky. Die benötigte Zeit wurde dann auch teilweise mitgestoppt. Diverse Fragen, Spielchen und Tests später wurde ich zu dem Ausfüllen beglückwünscht und ohne Ergebnismitteilung verabschiedet. War ich gut? Habe ich die passenden Antworten gegeben? Keine Ahnung. Ich weiß nur, dass ich einfach und ehrlich das angeklickt habe, was ich auch gedacht habe. Denn es machte für mich keinen Sinn, auf Fragen Antworten zu geben, von denen ich denke, dass sie passen würden. Ich bin lieber ehrlich und kann so den Arbeitgeber finden, der auch zu mir passt.

Tage vergingen. Langsam fragte ich mich, ob ich doch nicht die passenden Antworten zu den Fragen in dem Test hatte. Eines Morgens fand ich dann aber doch eine Auswertung meiner Antworten in PDF-Form in meinem E-Mail-Posteingang! Die Ergebnisse waren fast alle außerhalb des Durchschnitts, mal ganz links, mal ganz rechts auf der Skala. War das nun gut? Ich wusste es nicht. Ich blieb gespannt und fragte mich, ob und wie es mit mir und dieser Firma weitergehen würde? Denn die Zwischenzeit hatte ich genutzt um weitere interessante Unternehmen kennenzulernen und auch dort Unterlagen hingeschickt – als ‚BackUp’ sozusagen.

Interessant wurde es wieder, als mein Handy eines Tages klingelte und sich eine Frau König von Accenture am anderen Ende der Leitung befand. Wir vereinbarten einen Termin für ein Telefoninterview und legten auf. Ich wusste nun, dass es durchaus Vorteile hat, Ergebnisse außerhalb des Durchschnitts zu haben – ob nun links oder rechts.

Das Telefoninterview fand, wie vereinbart, nur einige Tage später statt und verlief in einer wirklich angenehmen und professionellen Art und Weise. Frau König hat mich in meinen bis dahin aufgestellten Vermutungen über das Berater-Dasein bestärkt und mich noch mehr für das Unternehmen begeistert. Nach ca. 1 Stunde gab Frau König mir zu verstehen, dass sie mich für einen PDD (Personal Decision Day – die nächste Stufe in dem Bewerbungsprozess) empfehlen würde und dass ich bald Unterlagen zur Anreise und den konkreten Modalitäten per E-Mail bekommen würde.

Voller Vorfreude legte ich auf und fragte mich: was erwartet mich da? Was werde ich dort machen müssen? Welche Eigenschaften sind gefragt?

Die Antwort auf diese Fragen sowie die Fortsetzung meines Weges zu dem Beraterleben wird der Gegenstand meines Beitrags in der nächsten Woche werden.

Michael

Sonntag, April 15, 2007

Templates für dynamische Webserviceaufrufe

Im letzten Bericht hatte ich euch über meine neuen Aufgaben im Projekt berichtet. Ich war nun dabei, einen Prototypen zu implementieren, der aus einer WSDL-Datei (WebService Definition Language ) dynamisch Templates für den Aufruf des Services erzeugt, um diese später nur noch mit Daten zu befüllen und abzuschicken. Diese Funktionalität wurde schon von einigen Tools, unter anderem SoapUI, umgesetzt. Allerdings bestehen mit diesen Programmen zu viele Abhängigkeiten zu anderen Bibliotheken und deshalb haben wir im Team beschlossen, die Templategenerierung selbst zu implementieren und in einen Dienst auszulagern. Dies sollte auch auf lange Sicht unserer geplanten Architektur genügen, aber dazu in einem späteren Bericht mehr. Weiterhin konnte man mit diesem Lösungsansatz schneller auf Fehler und veränderte Anforderungen reagieren.

Als erstes galt es, sich für eine Technologie zu entscheiden. Nach kurzer Suche im Internet sind wir auf die wsdl4j - Bibliothek gestoßen, mit deren Hilfe sich eine WSDL-Datei ganz leicht in ihre einzelnen Bestandteile zerlegen lässt. Auf die einzelnen Beschreibungen der Operationen und Parameter kann man dann mittels Javamethoden zugreifen. Nach einer ersten euphorischen Stimmung, wie einfach das Thema doch zu bearbeiten ist, fingen aber auch schon die Probleme an. Für einfache Webservices stellte diese Methode der Aufbereitung kein Problem dar . Es dauerte nur wenige Stunden und ich konnte aus einer WSDL ein Template für Operationen mit einfachen Parametern generieren. Für komplexe oder Arraydatentypen war dies aber nicht ganz so einfach.

Dazu musste die WSDL genauer analysiert werden. Jede WSDL führt im ersten Part ein Inhaltsverzeichnis und eine Aufschlüsselung aller in der WSDL verwendeten komplexen Objekte mit. Auf diesen Teil musste ich nun zugreifen, um auch die komplexen Datentypen in Objekte mit simplen Attributen zerlegen zu können. Die wsdl4j – Bibliothek stellte für den Zugriff auf diesen Part nur unzureichende Funktionalität zur Verfügung und ich musste eine anderen Weg finden. Nach einiger Suche mit google ( der beste Freund des Programmierers ) bin ich auf einen Lösungsansatz gestoßen, bei dem der Abschnitt auf den ich zugreifen wollte, in ein JDOM - Objekt umgewandelt wurde, auf das man nun etwas einfacher zugreifen konnte. Nach ein zwei Fehlversuchen funktionierte es dann aber auch endlich und ich konnte mit der eigentlichen Implementierung fortfahren.

Da die Verschachtelung der komplexen Objekte theoretisch eine beliebige Tiefe erreichen konnte, war hier ein rekursives Vorgehen bei der Aufschlüsselung in simple Datentypen angebracht, was ich letztendlich auch so umsetzte.

Es dauerte noch bis zum Ende der Woche , bis mein Prototyp auch komplexe und Arraydatentypen verarbeiten konnte. Als Kontrolle dienten mir dabei die von SoapUI erstellten Templates.

Am Mittwoch hatte ich mich mit ein paar Arbeitskollegen aus einem anderen Team zum Lunch verabredet. Eine gute Gelegenheit, um über den eigenen Tellerrand zu schauen und Erfahrungen auszutauschen. Gleich am nächsten Tag hatte ich noch ein Mittagessen außerhalb meines Teams.

Tamas und ich hatten uns einen Termin ausgemacht, um das Essen in einer der anderen Kantinen auszuprobieren. Ich kannte bis dato nur das Essen der Betriebskantine. Auf dem Firmengelände gibt es aber drei Kantinen, von denen die von uns ausgesuchte die Beste sein sollte. Dies war auch nicht übertrieben, denn man konnte den Köchen beim Zubereiten der Gerichte zuschauen und die Auswahl an Speisen war um einiges größer.

Am Abend desselben Tages war Tönnies von Donop in Hamburg, um die neue SI&T-Struktur im Zuge der Umstrukturierung von Accenture vorzustellen und uns bei Fragen Rede und Antwort zu stehen. Da durfte ich natürlich nicht fehlen. Nach dem offiziellen Part ließen wir den Abend noch mit Fingerfood und ein paar Cocktails ausklingen.

Den Freitag nutzte ich dann, um meine Arbeit am Prototypen abzuschliessen und eine entsprechende Dokumentation zu beginnen, die ich allerdings im Laufe der nächsten Woche noch beenden müsste.

Und schon war auch das Wochenende in greifbare Nähe gerückt. Ich hatte mir vorgenommen, dem Planetarium in Hamburg einen Besuch abzustatten. Meine Freundin und ein Arbeitskollege haben mich in eine Vorführung über die Zukunft unseres Planeten begleitet. Auch wenn das Programm mehr auf Kinder zugeschnitten war, was man eindeutig am Publikum ausmachen konnte, war ich im Nachhinein positiv überrascht, vor allem was die Qualität der Vorführung anging. Eine Adresse in Hamburg, die man definitiv weiterempfehlen kann.

Thomas

Donnerstag, April 05, 2007

Neue Aufgaben im Projekt

Für die Analyse und Integration einer Schedulerfunktionalität in das Testcenter Online waren 15 Manntage angesetzt. Da ich alleine an dem Projekt arbeitete, hatte ich dafür 3 Wochen Zeit. Mit dieser brach die im Plan letzte für den Scheduler vorgesehene Woche an. Da nur noch oberflächliche Arbeiten zu erledigen waren, dachte ich, sollte es kein Problem sein, das Thema in der vorgegebenen Zeit abzuschliessen. Was mir auch gelang, allerdings musste ich feststellen, dass es oft die kleinen Dinge sind, denen man am Anfang nicht so viel Beachtung schenkt und die man für selbstverständlich erachtet, für die ein nicht unwesentlicher Anteil des Gesamtaufwandes verbraucht wird. Nicht umsonst gibt es das Sprichwort : Der Teufel steckt im Detail.

Nach der allwöchentlichen Besprechung und der darauffolgenden Aufgabenverteilung machte ich mich weiter an die Analyse des Problems mit dem Aufruf der Lasttreiber aus dem JobScheduler heraus, über den ich bereits letzte Woche berichtete. Die Ursache für den Fehler war nach kurzer Zeit gefunden, allerdings ließ sich auf den ersten Blick eine Lösung nicht ohne erheblichen Aufwand umsetzen. Mein Kollege und ich beschlossen, nochmals über das Problem nachzudenken und das es später in der Woche anzugehen. Ich setzte nun noch einige Änderungen am Layout der Benutzeroberfläche um und dann war auch schon der erste Tag der vierten Woche vorbei.

Die nächsten beiden Tage arbeitete ich an einer vereinfachten Benutzerführung bei der Anlage von Einträgen im Kalender. Der Nutzer sollte so wenig wie möglich eintippen müssen und die meisten Sachen auswählen dürfen. Weiterhin wurde die Möglichkeit geschaffen, das Aussehen des Kalenders zu konfigurieren und diese Einstellungen je User in der Datenbank zu hinterlegen.

Am Mittwochabend war es dann Zeit für ein bisschen Sport. Das Projektmanagement erachtet die sportliche Betätigung als Ausgleich zur Sitztätigkeit im beruflichen Alltag für sehr wichtig und ermöglicht es deshalb dienstags Fußball zu spielen und sich am Mittwoch beim Badminton zu verausgaben. Es werden jeweils nach Interesse und Nachfrage eine Sporthalle für Fußball und Spielfelder für Badminton angemietet, so dass man nur noch hingehen muss.

Ich hatte mich für Badminton entschieden. Da ich das allerdings noch nie professionell betrieben habe und auch schon einige Zeit sportlich nicht aktiv war, sollte ich am nächsten Tag mit einem ordentlichen Muskelkater belohnt werden.

Den Donnerstag und den Freitag nutzte ich dazu, eine Dokumentation über meine bisher geleistete Arbeit zu erstellen und noch hier und da ein paar kleinere Anpassungen vorzunehmen. Am Ende der Woche hatte ich meine Arbeit am Scheduler in der vorgegebenen Zeit zum Abschluss gebracht, denn für die nächste Woche warteten schon neue Aufgaben für mich.

Nach einem ruhigen und entspannendem Wochenende, welches ich in meiner Heimat verbrachte, fing die Woche wieder mit einem frühen Aufstehen und der Reise nach Hamburg an. In der Teambesprechung diskutierten wir den Ist – Zustand des Testcenters und auch darüber, was wir in Zukunft erreichen wollen. Ein wichtiger Punkt dabei war, dass wir viel schneller auf die Anforderungen, das Testen von neuen Schnittstellen betreffend, reagieren müssen. Deshalb kam das Thema dynamischer Aufruf von Webservices zur Sprache. Meine Aufgabe für die Woche war es also, zu analysieren, inwieweit es schon Produkte auf dem Markt gibt, die das können und diese gegebenenfalls in einem Prototypen zu testen. Ziel dabei ist, eine WSDL ( Beschreibung eines Webservices ) von einer beliebigen Quelle hochzuladen und daraus für jede Operation des Services dynamisch Templates für die Requests zu generieren. In einem späteren Schritt werden diese dann mit Hilfe von Datenprovidern nur noch mit Daten befüllt und per http an den entsprechenden Server geschickt. Mit dieser Methode sollen Raten von mehreren tausend Requests pro Sekunde möglich sein. Was zu beweisen wäre.

Bis dahin hatte ich allerdings noch einige Arbeit vor mir. Zuallererst musste ich in Erfahrung bringen, welche Produkte diese Anforderungen so oder in ähnlicher Form schon umsetzen. SoapUI ist da nur ein Beispiel, welches man nennen könnte. Allerdings stellte sich schon nach kurzer Zeit heraus, dass es noch kein Tool gibt, welches die von uns gestellten Anforderungen vollständig erfüllt.

Der nächste Part bestand darin, einen Prototypen auf die Beine zu stellen, der die Templates für Webserviceaufrufe generiert. Diese Funktionalität gehörte zwar zum Leistungsumfang von SoapUI, allerdings bestanden dabei zu viele Anhängigkeiten zu anderen Javabibliotheken, die für unser Vorhaben keine Rolle spielten. Wir haben uns deshalb entschieden, die Templategenerierung selber zu implementieren und dabei so wenige Abhängigkeiten wie möglich zu anderen Bibliotheken zu schaffen.

Wie die Entwicklung des Prototypen vorangeht und auf welche Probleme ich dabei gestossen bin, das berichte ich euch nächste Woche.

Ich wünsche euch ein schönes Wochenende und frohe Osterfeiertage.

Thomas