Main Content

Ein Selbstversuch bei Netcetera

  • Praktikumsbericht
  • Zürich, 06.04.2007
  • Jacques Stadler
  • ETH Visionen

Jacques Stadler berichtet in der Studentenzeitschrift ETH Visionen über sein Praktikum bei Netcetera.

An der ETH lernt man viel Theoretisches über Algorithmen, Konzepte, Methoden und andere Sachen, die sehr schön sind. Aber was braucht man davon wirklich? Um das zu erfahren, habe ich einen kleinen Selbstversuch gemacht und mich in ein Praktikum gestürzt.
 

Alles begann wie meistens: Mit dem Ende. Nämlich dem Ende des 6. Semesters. Da stellte sich für mich die Frage wie es denn weitergehen sollte. Interne Arbeit an der ETH, Praktikum oder einfach weiter studieren und das Praktikum/die interne Arbeit später machen? Nichts da! Schliesslich hatte ich drei Jahre „hartes“ Studentenleben hinter mich gebracht und viel gelernt an der „Eidgenössisch Theoretischen Hochschule“. Also höchste Zeit, das Gelernte mal in die Tat umzusetzen. Wie heisst es so schön? „Theory without practice is idle; practice without theory is blind.“ So entschloss ich mich für ein Praktikum. Aber wie sollte man das angehen? Direkt Firmen anschreiben, die VIS-Kontaktparty nutzen oder die VIS-Firmenliste durchforsten? Nun, ich entschied mich für alle drei Vorgehensweisen. Schliesslich bin ich dann bei der Firmenliste auf den Namen Netcetera gestossen. Ein toller Name… aber was machen die? Nach ein bisschen Recherche im Internet und einem Mail, sass ich dann auch schon in einem Bewerbungsgespräch mit Hansruedi Vonder Mühll, dem Verwaltungsrat-Vizepräsidenten der Netcetera, mit dem ich dann zwei Monate später auch mein zweites Projekt angehen sollte. Nachdem ich mich von meiner besten Seite gezeigt hatte (der vorderen!), bekam ich eine Woche später auch schon Bescheid und konnte am 1. November 2006 mein Praktikum beginnen.

Ist aller Anfang schwer?

Nein! Der Anfang war an sich ganz gemütlich. Den ersten Morgen verbrachte ich mit ein paar Meetings, in denen einem Netcetera näher gebracht wurde und einer Tour durch die beiden Gebäude, wo einem die Leute vorgestellt wurden. Dann hiess es meinen Arbeitsplatz zu beziehen, mich damit ein wenig vertraut zu machen und schon war Mittagszeit. Das Glück war mir hold, es war gleich ein Teamlunch: Das heisst, man geht mit etwa acht Leuten, die mit einem im Team sind (wobei sich ein Team aus Leuten verschiedener Projekte zusammensetzt) in eine feine Pizzeria und verpflegt sich mit Salat und Pizza auf Kosten der Firma. Wenn das kein super Anfang ist.

Projekt 1: Der MPSP

Am selben Tag erfuhr ich dann auch in einem Meeting, an welchem Projekt ich arbeiten würde: Dem MPSP, was soviel heisst wie Mobile Payment Service Provider. Ziel dieses MPSP ist, den Leuten zu ermöglichen, mit dem Mobiltelefon zu zahlen. Der MPSP-Webservice sollte aus einem Mobile-Shop Zahlungstransaktionsanfragen von einem Händler entgegen nehmen und den angegebenen Betrag über ein Zahlungsmittel, beispielsweise Kreditkarte, auf das Händlerkonto überweisen. Weiter sollten auch kleine Zahlungsbeträge kumuliert werden, um die Transaktionskosten unter den Warenkosten halten zu können. Erst, wenn ein bestimmter Betrag erreicht oder eine bestimmte Anzahl Tage vergangen ist, sollte die Transaktion ausgeführt werden.

Ein bisschen eingeschüchtert vom MPSP-Akronym und 1000 weiteren Blackboxen wie Spring, Maven2, Hibernate oder XFire usw., die mir an den Kopf geworfen wurden, wagte ich mich mit meinem technischen Coach Marzio ans Projekt.

Die ersten Tage hatte ich mehrheitlich damit verbracht, all die Java-Klassen anzusehen und mich mit diesen mysteriösen Frameworks vertraut zu machen. Später wurden dann bei regelmässigen Treffen immer wieder neue Ziele für die kommende Woche gesetzt. So schritt das Projekt stetig voran; ich erweiterte fleissig den Webservice um diverse Methoden und die Blackboxen wurden immer durchsichtiger. Im Dezember mussten wir dann auch schon eine erste Präsentation unseres MPSP machen und schlossen die Entwicklung mit einer lauffähigen Version ab, die nun bereit ist für den Einsatz bei interessierten Kunden.

Projekt 2: Der LRC

Von den Weihnachtsferien gestärkt, ging es mit neuer Kraft an ein neues Projekt, getarnt unter dem Akronym LRC... (Bis heute weiss ich allerdings nicht, wofür dieses eigentlich steht). Jedenfalls handelte es sich bei LRC um ein Stück Weichware (im angelsächsischen Raum auch als „Software“ bezeichnet) für eine grosse Unternehmung in der Gebäudeautomation, das Lizenzen für ein Tool verwaltet, mit dem man auf Sensoren zugreifen kann. Auch wenn das jetzt ein bisschen sehr speziell tönt, sollte die Software am Ende von mehr als 10'000 Leuten eingesetzt werden.

Während ich beim MPSP hauptsächlich die Web Service-Logik implementierte und ausfeilte, konnte ich mich nun auch stärker mit dem ganzen Gerüst – den Frameworks – auseinandersetzen. Konkret musste ich das Projekt vom älteren Axis 1.4 Webservice-Framework auf ein aktuelleres umstellen. Hierzu kamen XFire, das ich schon vom MPSP her ein bisschen kannte und Axis2 in Frage. Nachdem ich ein paar Tage Zeit hatte, mich ein wenig in beide Frameworks einzuarbeiten, hatte ich vorzuschlagen, welches der beiden genutzt werden sollte und dann das Projekt auch gleich auf meine Empfehlung, XFire, zu migrieren. Kaum war das geschafft, machte ich mich gleich ans nächste Framework namens Hibernate. Hibernate ist ein Objekt-relationales Datenbank-Framework, das in einer objektorientierten Art und Weise ermöglichen sollte, auf Daten in einer relationalen Datenbank zuzugreifen. Nachdem diese beiden Anbauten erfolgreich abgeschlossen waren, ging es an die Implementierung der Webservice-Logik. Dabei stellte ich unerfreut fest, dass bei Kundenprojekten Spezifikationsänderungen durchaus üblich sind, während bereits an der Lösung gebaut wird. Gegen Ende des Praktikums haben mir die Arbeiten mit diesen beiden Frameworks denn auch Folgeaufgaben beschert: Aufgrund meiner gemachten Erfahrungen mit Webservices durfte ich als Erstes einer anderen Firma beim Einrichten ihrer bis anhin problematischen Webservices helfen. Weiter musste beim LRC noch eine Testumgebung eingerichtet werden, um nicht immer gegen die echte Datenbank zu testen. So konnte ich mich mal wieder etwas mit JUnit rumschlagen und noch eine In-Memory-Datenbank (HSQLDB) einrichten.

Der 42/5-Takt

Auch wenn sich das hier alles sehr technisch anhört, war der Netcetera-Alltag auch gut mit anderen Aktivitäten ausgefüllt. Morgens konnte man über ein Webinterface aus diversen vorzüglichen Mittagsmenüs wählen, wobei die Auswahl aus zwei Tagesmenüs (Fleisch/Vegi), einem Wochenspezial, drei verschiedenen grossen Salaten, Suppen usw. bestand. Nach dieser anstrengenden Aufgabe und dem Lesen der Daily Comics, die gleich neben der Menüliste auf dem Bildschirm angesiedelt waren, wurde man auch schon von Marzio, der eigentlich direkt gegenüber sitzt, angejabbert mit „coffee?“. So kann, mit gutem Kaffee gestärkt und über die letzten News informiert, ein Getränk aus dem Kühlschrank, natürlich ebenfalls gratis, geschnappt werden und mit vollem Elan in den Tag gestartet werden. Bis zum Mittagessen kann beliebig weiteres Koffein zugeführt werden, bis die Netcetera-Kantine, das Café Boy, mit dem morgens bestellten Menü aufwartet. Die Bezahlung der Menükosten, die für Praktikanten extrem niedrig gehalten sind, geschieht mittels einer Smart Card, die einem auch die Bürotüren öffnet. Dort beginnt auch schon wieder der Nachmittag und man kann sich wieder in den immer vertrauteren Code stürzen. Wenn man Glück hat und jemand Geburtstag feiert (was bei über 60 Leuten des Öfteren der Fall ist) oder neue Mitarbeiter hinzukommen oder jemand die Firma verlässt, kann es auch mal einen After-Work-Apéro geben. Netcetera umsorgt ihre Mitarbeiter auch mit anderen Anlässen bestens, wie zum Beispiel mit Snowdays, einem Pokerturnier oder einer Führung und Abendessen in der Masoala Halle des Zürcher Zoo (Partnerin eingeschlossen, versteht sich).

} finally {

Die Zeit bei Netcetera war wirklich sehr interessant, da ich mich mit aktuellen Technologien rumschlagen und in diverse Frameworks und andere Blackboxen einarbeiten konnte. Auch wurde ich gut betreut; bei Problemen oder Unklarheiten konnte ich einfach fragen und erhielt professionelle Hilfe. Ich kann also allen ein Praktikum nur empfehlen. Hier lernt man extrem viel und vor allem praktisch!

Studium des Mittagsmenus und Daily Comics sorgen für einen guten Start in den Programmieralltag.
 
Studium des Mittagsmenus und Daily Comics sorgen für einen guten Start in den Programmieralltag.
Mittendrin statt nur dabei: Mein Selbstversuch (Zweiter v.r.) umfasste auch das „Staff Meeting“, das alle 14 Tage in Netceteras Café Boy stattfindet.
Enlarge Image
Mittendrin statt nur dabei: Mein Selbstversuch (Zweiter v.r.) umfasste auch das „Staff Meeting“, das alle 14 Tage in Netceteras Café Boy stattfindet.