nlohmann

Einmal mit Profis
Meine ersten 100 Tage in der Wirtschaft

Letzten Sommer habe ich der Uni Lebewohl gesagt und am 1. August 2014 bei Carmeq angefangen. Dass mir die Entscheidung nicht leicht gefallen ist, habe ich schon ausführlich beschrieben. Damit ich nicht nur den Ausstieg aus der Uni, sondern auch den Einstieg in die Wirtschaft irgendwann (z.B. jetzt) nachvollziehen kann, habe ich Twitter täglich als Tagebuch missbraucht und am Ende jedes Tages ein kurzes Fazit geschrieben.

Wie der Zufall es so will, kamen vom 1. August 2014 bis zu den Weihnachtsferien exakt 100 Arbeitstage zusammen. Mit den (fast) 100 Tweets kann ich nun einen kurzen Blick zurück werfen und Zwischenbilanz ziehen, wie es denn in der anderen Welt aussieht und wie es mir dort bei meinem Einstieg ergangen ist.

Tweets

Tag 1 überlebt. Größte Herausforderungen: Windows 7 und Outlook. Aber in 2 Wochen hab ich auch nen SAP-Zugang…

Arbeitstag 2: Ich kann drucken. Und Dienstreisen beantragen. #abenteuerwirtschaft

Der Einstieg in die Arbeitswelt ging sehr fix vonstatten. Bei Carmeq gibt es ein Patenmodell, bei dem ein erfahrener Mitarbeiter der Pate für einen Neuling ist und dessen erster Ansprechpartner für alle Probleme und Fragen. Meine ersten Tage bestanden fast ausschließlich mit dem Einsammeln von Gegenständen wie Laptop, Handy oder einer Büropflanze, sowie der Vorstellung von Kollegen. Man sagte mir zu meiner Einstellung schon, dass ich „schnell arbeitsfähig“ sein würde – aber dass ich prinzipiell schon nach den ersten beiden Tagen alles beisammen habe, konnte ich gar nicht glauben.

Tag 3: die erste Telko, und vom Projektleiter gab es selbstgebackenen Zitronenkuchen

Tag 4: Besuch im Mutterschiff, eine gute Idee gehabt und viel beim Mittagessen gespart.

Als VW-Tochter schaut man immer mal wieder „beim Kunden“ in Wolfsburg vorbei. Bei meinem ersten Besuch war ich extrem beeindruckt wie riesengroß das Werk ist. Zwar liest man immer mal wieder, wie viele Mitarbeiter ein Automobilunternehmen hat, aber ich habe bisher nie darüber nachgedacht, wie viel Fläche man dafür braucht…

Tag 5: Datenbanken als Hammer auf alles, was wie ein Nagel aussieht…

Ich arbeite in einem Projekt, bei dem eine Navigationsdatenbank im Mittelpunkt steht. Da ich nur eine Datenbankvorlesung besucht habe, musste ich hier schnell ein paar Dinge nachholen, und mich erst einmal in die Datenbank-„Denke“ einfinden, in der so viele vermeintliche Probleme bereits gelöst wurden…

Tag 6: viel über automotive Hardware gelernt, sehr über das GalaxyTAB gelacht, Teammeeting - und Wochenende

… wenn man alles auf aktueller Hardware ausführt. „Automotive“ Hardware ist jedoch auf extreme Temperaturschwankungen und lange Laufzeiten ausgelegt. Und auf einmal spielen Resource eine wichtige Rolle.

Tag 7: Ein PowerPoint für den Kunden geklickt.

Die Firma lebt in der Microsoft-Welt, und für Präsentationen gibt es da nun einmal PowerPoint. Spannend war es, dass ich direkt in der ersten Woche ein Projekt vorstellen sollte.

Tag 8: Vier Ingenieure machen einen Screenshot, ich habe einen Wiki-Zugang, und die TU-Mensa ist eine Katastrophe.

Ich bin jahrelang von der Südmensa in Rostock verwöhnt worden, sodass alle anderen Mensa zwangsläufig schlecht aussehen. Die Mensa der TU Berlin hatte damals allerdings einen sehr schlechten Tag erwischt…

Tag 9: Ich habe meinen Mitarbeiterausweis bekommen, war im SAP (😳) und hab gelernt, was ein „Drehdrücksteller“ ist.

Tag 10: Den ganzen Tag fremden Quelltext gelesen. Viel gelacht, viel geweint ;-)

Tag 11: Die Mannheimer Innenstadt ist ein guter Testfall für Navigationsgeräte. Genau wie der “East Dr. Martin Luther King Jr Blvd”.

An diesem und vielen anderen Tagen habe ich immer mal wieder festgestellt, wie wenig Annahmen man über das Format von Adressen machen darf…

Tag 12: Ein Henne-Ei-Problem durch widersprüchliche Forderungen, eine Akronym-Hölle und die vage Ahnung, was als nächstes kommt.

Tag 13: Ein UML-Sequenzdiagramm sagt mehr als 1000 Worddokumente.

Nach vielen Jahren Arbeit mit formalen Methoden war ich anfangs etwas irritiert, dass Anforderungen zumeist nur mit Text beschrieben wurden. Die paar Stellen, an denen es aber konkret um die Reihenfolge von Aufrufen geht, werden aber mit UML-Sequenzdiagrammen beschrieben. Und das spart einiges an Schreibaufwand.

Tag 14: e-up! gefahren und sehr viel Spaß gehabt.

Nach 14 Tagen hatte ich dann das erste Mal Kontakt mit einem Auto (nämlich dem hier). Anfangs hatte ich etwas Bedenken, dass ich als Bahn- und Carsharing-Kunde bei einer Automobil-Tochter anfange, aber letztlich ist einem Informatiker am Ende ja egal, wo seine Software läuft…

Tag 15: Hab einen Bug gefunden, der zu 3900 km Umweg geführt hätte :-)

Tag 16: Anfrageoptimierung für die Nadel im Heuhaufen. Und ein Teammeeting, das exakt zum Feierabend endet.

Tag 17: User-Experience-Design in Comic Sans.

Tag 18: Ein Buch über User Interfaces von Suchmaschinen gelesen.

Tag 19: Eine SQL-Anfrage mit einem billigen Trick 34% schneller gemacht. Wenn das Prof. J.C. Freytag (PhD) wüsste!

Tag 20: UI-Mockups in PowerPoint und MS Paint gemalt. Sowas machen also Softwaredesigner…

Tag 21: Im Mutterschiff gewesen und den wichtigsten Vortrag meiner Karriere gehalten. Mit hässlichen Folien. Geht auch. ;-)

Wie schon zu Tag 7 beschrieben „durfte“ ich recht schnell „mein“ Projekt nach außen präsentieren. Hier hat die Erfahrung aus den Uni-Zeiten enorm geholfen. Ich kannte meine Folien sehr gut und konnte daher auf spontane Diskussionen im Meeting reagieren, in dem ich die Antwort auf aufkommende Fragen direkt an die Wand werfen konnte. Außerdem kam es sehr gut an, dass ich meinen Zeitrahmen eingehalten habe und die Informationen entsprechend aufbereitet habe, dass sich niemand gehetzt vorkam.

Ich empfehle jedem, sich Vortragserfahrung anzueignen. Es kann immer passieren, dass man spontan „ein paar Worte“ sagen und dazu vielleicht „ein paar Folien“ vorbereiten soll. Das ist zwar aufwändig, weil man sich ja nicht blamieren will. Aber wenn alles gut läuft, wird dies direkt mit der eigenen Person und nur sekundär mit dem gesamten Team in Verbindung gebracht.

Tag 22: Einfach mal Fakten für ein Meeting gesammelt. Python sein Dank!

Tag 23: Programmieren in PowerPoint - oder wie andere es nennen: Softwarearchtektur

Wider besseren Wissens habe ich die Ergebnisse eines Planungsmeetings zur Softwarearchitektur einfach mal in ein PowerPoint gegossen. Dieses Folien sind jetzt schon zweimal überarbeitet, aber noch immer die zentrale Beschreibung der Architektur…

Tag 24: Mehr über die Stadtteile Los Angeles gelernt als mir lieb ist.

Tag 25: Googlet „agile Softwareentwicklung“.

Die Softwareentwicklung soll agil passieren. Ich kannte dies bisher nur aus Blogposts, und musste mich etwas einlesen um bei Diskussionen nicht völlig ahnungslos zu wirken. Letztlich ist vieles Auslegungssache, und mit ein bisschen gutem Willen lief die Entwicklung an der Uni auch irgendwie agil ab.

Tag 26: Wer Europa und China sagt, muss auch Nordamerika sagen…

Tag 27: User Stories. Oder: eine Software beschreiben ohne dass man weiß, wie man sie implementieren soll :-)

Tag 28: Wenn der Prototyp viel zu schade zum wegwerfen wird. Oder: Kinder, lernt mehr Python!

Prototypen helfen, und das in so vielen Aspekten. Erst durch einen Prototypen haben wir das Problem besser verstanden und haben gemerkt, dass es frühzeitig wichtig ist, bestimmten Konzepten einen Namen zu verpassen. Python als Sprache hat dabei den Charme, dass man viele Dinge fast als Pseudocode aufschreiben kann, der dann aber auf realen Daten ausgeführt werden kann.

Tag 29: Man hat ein Problem erst dann verstanden, wenn man es selbst implementiert hat. Also mindestens einmal. Vielleicht auch öfter.

Tag 30: Ein neues Notebook bekommen :-)

Tag 31: Das papierlose Büro - oder Scan2Mülleimer

Nachdem ich kistenweise Papier aus meinem Rostocker Büro entsorgt habe, habe ich mir vorgenommen, im neuen Job mit so wenig Papier wie möglich auszukommen. Bisher habe ich es gut durchgehalten, alle Mitschriften bei Meetings direkt in den Scanner zu werfen und dann in OneNote abzulegen. Das Original verschwindet dann direkt im Papierkorb. Ein rein digitales Büro ist derzeit noch in weiter Ferne, da ich in Meetings hinter einem Notebookdisplay verschwinden möchte. Vielleicht versuche ich es ja irgendwann mal mit so einem Tablet…

Tag 32: Ein Workshop zu Design Thinking. In Dessau.

Wie früher an der Uni gibt es einen jährlichen Team-Workshop. Auf diesem gab es einen Tagesworkshop zum Thema Design Thinking. Obwohl niemand so recht einschätzen konnte, wie dies in der täglichen Arbeit genutzt werden kann, war es eine gute Möglichkeit, das gesamte Team kennenzulernen.

Tag 33: Im Workshop die Themen der nächsten fünf Jahre geplant. Ganz leise, weil es gestern spät wurde…

Tag 34: Ich hab gelernt, wo die Bibliothek ist und wurde heute fürs Bücher lesen bezahlt.

In den ersten Monaten gab es immer mal wieder Momente, in denen ich nicht direkt etwas zu tun hatte. Zum einen, weil Ansprechpartner im Urlaub waren oder zum anderen, weil mein Projekt noch nicht richtig angelaufen ist. Daher hatte ich immer wieder Zeit, etwas zu lesen. Von heute aus betrachtet war dies Gold wert, da sich so viele spätere Fragen schnell beantworten ließen.

Tag 35: Nun auch viel über kanadische Straßennamen gelernt, ein weiteres Buch gelesen und SD-Karten formatiert.

Tag 36: 63-bitweise Geokoordinaten geschubst und zum staatlichen Status des Kosovo recherchiert.

Tag 37: Vom Chef die Lizenz zum prototyping bekommen und gleich über Integertypen in Python geflucht. Next up: geomonday.org

Tag 38: Quadrate um Kreise auf der Oberfläche einer Kugel mit 6378 m Radius gemalt. Dabei fast bei Verstand geblieben.

Tag 39: Das fasst den Tag gut zusammen: Problems

Tag 40: Mal wieder festgestellt, dass dynamische Typisierung in Python nicht immer nur Zeit spart, sondern manchmal auch verbrennt…

Das klingt jetzt, wie ein Widerspruch zur Nützlichkeit von Prototypen – aber bei der „richtigen“ Implementierung in C++ wussten wir direkt, worauf wir achten mussten…

Tag 41: Firmenmesse - das erste Mal seit dem Bewerbungsgespräch im Anzug auf Arbeit.

Tag 42: Etwas über Tabellen gelernt, die keinen Inhalt haben, in denen man aber doch suchen kann (SQLite contentless FTS tables).

Tag 43: Alberne Kollegen, lustige UTF8-Probleme und witzige Datenbankprobleme.

Tag 44: Mal wieder im Mutterschiff gewesen, einen grünen Sticker auf den Werksausweis bekommen und den Abteilungsleiter kennengelernt.

Tag 45: Wenig zu tun heute ➡️ früher Feierabend.

Tag 46: Habe mein Wissen über Volltextsuche von chinesischen Texten ausgebaut. :-)

Tag 47: Habe angefangen, mein erstes Angebotslastenheft zu schreiben.

Tag 50: Requirements, requirements, requirements… Oder: Kurz skizzieren, was andere langwierig programmieren müssen. In other news: Freitag!

50 Tage aus der Uni raus. Es fühlt sich immer noch neu an, aber ich freu mich sehr auf die nächsten 50!

Tag 51: Es gab Zimtschnecken. 😊

Tag 52: Das Management ist außer Haus und schon kann gearbeitet werden.

Tag 53: My little Anfragelastenheft - Requirements is magic!

Tag 54: Kleine Testfahrt mit einem Skoda gemacht und Sportwagensounds über eine Android-App eingespielt. Passanten waren wenig begeistert…

Tag 55: Viel über Postleitzahlen gelernt. Zum Beispiel, dass der Weihnachtsmann in Kanada eine eigene hat: H0H0H0. 🎅

Tag 56: Die wirklich wichtigen Dinge geklärt: das Versionierungsschema für die nächsten zwei Jahre :-)

Tag 57: Erfolgreiches Probezeithalbzeitgespräch gehabt. Weiter geht’s!

Tag 58: Ich habe ein Festnetztelefon und Adminrechte im Jira. Muhahahaha!

Tag 59: Der frühe Vogel macht früh Feierabend. Und hat vorher noch ganz viele Accounts gefangen. Und gelernt: Es gibt einen Ort namens Yolo.

Tag 60: Heute mal wieder am Whiteboard gespielt.

Immer wieder stelle ich fest, wie wichtig Whiteboards sein können, um gemeinsam zu Ergebnissen zu kommen.

Tag 61: Heute gelernt, dass Radio Bielefeld die gleichen Jacken wie Carmeq bekommen hat (nur mit anderem Logo).

Tag 62: “Mal eben den Cross-Compiler einrichten…”

Tag 63: $ ./configure $ make $ make install

Tag 64: Pair Programming.

Tag 65: Das Projekt hat ein Logo: Logo

Tag 66: Der Montag beginnt mit einem 2-Stunden SVN-Kampf und endet beim Mexikaner mit ehemaligen Kollegen. Ein guter Montag!

Tag 67: Wichtiger Punktsieg gegen Jenkins in der Verlängerung.

Wie auch an der Uni arbeitet bei Carmeq Jenkins in der Nachtschicht, und erledigt all die Dinge, die automatisiert werden können. Dass ich da mal reingeschaut habe, ist jetzt sehr hilfreich, da wir so viele Tests automatisch ausführen können.

Tag 68: Arbeit in unterschiedlich große Pakete verpackt und in eine halbwegs sinnvolle Reihenfolge gebracht.

Tag 69: Unit-Tests unter C++ sind doof. Einer muss es ja mal gesagt haben!

Siehe Tag 77…

Tag 70: Der erste Sprint ist geplant. Bald wird endlich programmiert!

Tag 71 (ja, Samstag): ersten Sprint hingelegt und schon viel gelernt. Nächste Woche: Überstunden abfeiern.

Tag 72: Das Projekt läuft. Zeit, dass das Management uns noch zwei weitere Manager ins Boot holt.

Tag 73: Für ein „Kommunikationsdesaster beim Kunden“ gesorgt. Ups :-)

Fehler passieren ja immer mal wieder – aber ich habe festgestellt, dass sich mein Chef sehr gut für mich in die Bresche geschmissen hat.

Tag 74: Script geschrieben, das Testfälle aus einem Excel-Dokument holt… Fühlt sich komisch an, macht aber alle glücklich.

Tag 75: Das Projekt liegt super im Zeitplan, aber am Ende loben sie dich wegen den Testfällen aus Excel-Tabellen.

Tag 76: In Zukuft wird die Zukunft in fast jedes VW-Navi eingebaut. Und zwar in Form von std::future.

Tag 77: Ein iCloud-Kalender hat mein Outlook kaputt gemacht. Punkt nach Cupertino 🙊. In weiteren News: C++-Unit-Tests ohne Würgreiz.

Nach langer Suche bin ich mit Catch fündig geworden. Dort reicht es, einen Header einzubinden und schon kriegt man eine schöne Syntax für Unit-Tests mit JUnit-kompatiblem Output. Jenkins freut sich!

Tag 78: „Rate, wer morgen nach Wolfsburg fährt!?“ - Der Chef hat doofe Ratespielchen… 😳

Tag 79: Berlin-Wolfsburg-Berlin in 6 Stunden incl. Meeting. Der Rest des Tages frei. :)

Tag 80: Zwei Stunden debugging wegen einer falschen Klammer. Und netter Smalltalk mit dem Bereichsleiter. In jedem Fall: Wochenende!

Tag 81: Noch keinen Ticket-Account, aber von gestern auf heute 76 Tickets. Alle natürlich total wichtig. Montag halt.

Tag 82: Verschobene Meetings, chinesische Tickets und Spaß mit Geokoordinaten.

Tag 83: Heute aus Versehen zum arbeiten gekommen. Eigenartiges Gefühl…

Tag 84: In Wolfsburg gewesen und mir viel Arbeit abgeholt. Nun gilt es herauszufinden, an wen ich die wegdelegieren kann…

Tag 85: Der Ticketberg wird kleiner, aber es dauert noch zu lange. Außerdem: Bobby Tables im Entwicklungsteam

Tag 86: Weiterbildung zum „Professional Scrum Product Owner“

Tag 87: Weiterbildung zum „Professional Scrum Product Owner“

Meine erste „richtige“ Weiterbildung. So richtig mit einem Test am Ende und einem Zertifikat. Meine letzte Klausur war schon so lange, dass ich ganz vergessen habe, wie sich so eine Prüfungssituation anfühlt. Egal - 80 Multiple-Choice-Fragen später steht mein Name hier.

Tag 88: Prototyphardware im Preis von drölf Fantastillionen in einer Hit-Tüte transportiert. #yolo

Tag 89: Vier Stunden Meeting. Thema: Wie wir in Zukunft effektiver zusammenarbeiten…

Tag 90: Eine erfolgreiche Woche im Kampf gegen die Ticketberge. Zur Belohnung: Wochenende.

Tag 91: Kurzer Arbeitstag wegen Zahnarzttermin. Gibt schlimmeres. (ehrlich!)

Tag 92: Ich habe jetzt zwei Monitore. Muhahahahahaha!!!

Tag 93: Keine besonderen Vorkommnisse.

Tag 94: Mitarbeiterschulung. Und dann Weihnachtsfeier. 🎄

Tag 95: Der ruhigste Arbeitstag des Jahres (direkt nach der Weihnachtsfeier). Außerdem: Projekt erfolgreich der Geschäftsführung vorgestellt

Tag 96. Alles richtig gemacht. Manchmal ist Projektmanagement mehr Taktik als alles andere…

Tag 97: Code-Aufräumen. Oder: Das bisschen Refactoring macht sich von allein…

Tag 98: Kürzester Arbeitstag ever. Im Prinzip nur Codereview und Blume gießen.

Tag 99: Viele aus-der-Hüfte-Schießer kennengelernt und festgestellt, dass man sowas bestenfalls nicht nötig hat.

Tag 100: Am letzten Arbeitstag des Jahres erfahren, dass ich im neuen Jahr Pate für einen neuen Kollegen bin. So schließt sich der Kreis.

Morgen geht es wieder ins Büro, und dann bin ich der Pate für einen neuen Mitarbeiter. Ich bin mal gespannt, ob ich mich noch an alles „neue“ erinnere.

 04.01.2015  Niels Lohmann  CC BY-NC-SA  Flattr me