Erik Witt
am 04. August 2017Vita
- Seit 2015: Full-Stack Developer und Web-Performance Engineer bei Baqend.
- 2012 - 2015: Softwareentwickler (Java) Softwarefirma InterfaceOne GmbH
- 2010 – 2016: Universität Hamburg BSc. und MSc. Informatik. Fokus auf skalierbare verteilte Systeme, maschinelles Lernen und Web Technologien.
Hallo, an welchen Projekten arbeitest du gerade?
Momentan arbeite ich an einem Projekt, um mit Hilfe einer neuen Browsertechnologie den „Service Workern“ auch bestehende Systeme ohne Anpassung mit der Baqend Caching-Technologie zu beschleunigen. Dabei kommen viele Optimierungen, bspw. Caching im Service Worker und Offline-Modus, wie bei Progressive Web Apps, aber auch auf Netzwerk- und Serverebene zur Anwendung. Das Projekt soll innerhalb der nächsten 2 Monate Live gehen und auch Open Source werden.
Eine erste Demo der Technologie gibt es hier.
Wie läuft für dich ein optimales Projekt ab? Was macht dir besonders Spaß und nach was für Projekten suchst du?
Ein Projekt ist bei uns immer mit einer konkreten praktischen Herausforderung verknüpft. Das Wichtigste ist daher das Problem und seine technischen Ursachen genauestens zu verstehen. Danach suchen wir nach einer technischen Lösung. Das kann manchmal eine Technologie, ein Algorithmus, ein Service, Frameworks oder eine Kombination aus allem sein. Beim Design einer Lösung achten wir vor allem auf Performance, aber auch Konformität. Danach geht es an die Implementierung. Dieses problem-getriebene forschungsnahe Entwickeln an neuesten Technologien macht unglaublich viel Spaß und fordert theoretisches sowie praktisches Wissen.
Was sind die wichtigsten Learnings, die du in deiner beruflichen Laufbahn gemacht hast
Das wichtigste ist, ein Projekt oder einen Job zu finden, für den man brennt. Der Spaß an der eigenen Tätigkeit und an dem Produkt, an dem man arbeitet, ist die beste Motivation auch sich selbst zu verbessern. Mit mehr als 40 Stunden pro Woche nimmt der Beruf den größten Teil des Alltags ein. In dieser Zeit sollte man etwas tun, das man liebt.
Aus meiner Erfahrung ist Problemlösungskompetenz die wichtigste Fähigkeit eines Informatikers. Wer sich hier verbessern kann, wird deutlich produktiver arbeiten können und es mehr genießen. Ich denke man kann viel erreichen, indem man strategisch an Probleme herangeht, sich gut organisiert, um den Überblick zu behalten und versucht sich immer wieder in ungewohnte Situationen zu bringen. Man sollte sich öfter für Aufgaben melden, mit denen man wenig Erfahrung hat, mit Systemen, die man noch nicht kennt, Probleme, die man bisher nicht ganz verstanden hat. Man kann nur lernen, wenn man nicht nur die Aufgaben übernimmt, an die man sich gewöhnt hat.
Wie bleibst du auf dem Laufenden?
Lesen, lesen, lesen und nach Möglichkeit vieles selbst Ausprobieren. Ich lese viele wissenschaftliche Veröffentlichungen meist im Bereich verteilte Datenbanken, Caching und Webtechnologien.
Auch Blogposts sind extrem hilfreich und es gibt wirklich viele gut geschriebene Artikel zu relevanten Themen, zum Beispiel auf Y Combinator.
Fachbücher zu Themen im Bereich Web Technologien, Datenbanken, Verteilten Systemen usw. lesen wir gerne gemeinsam bei der Arbeit, in sogenannten Lesezirkeln. Dafür vereinbaren wir wöchentlich 2 Buchkapitel, die jeder für sich liest und setzen uns dann gemeinsam zusammen und diskutieren den Inhalten sowie aufgekommene Fragen. Überhaupt tauschen wir uns viel über interessante Artikel aus, die wir in letzter Zeit gelesen haben und sprechen Empfehlungen aus.
Wie folgt man Dir am Besten?
Für fachliche Inhalte folgt man mir am Besten auf Medium und Twitter.
Welche Bücher kannst du zu deinem Thema empfehlen?
Zum Thema Web Performance kann ich „High Performance Browser Networking“ von Ilya Grigorik und „Web Performance in Action“ von Jeremy L. Wagner. Zweiteres ist sehr einfach zu lesen und auch für Anfänger geeignet.
Vielen Dank für das Interview!