Es gibt viele interessante Menschen in der Java Community, die mit ihrem Engagement in Java Specification Requests (JSRs) und Open-Source-Projekten die Entwicklung vorantreiben. Einige von ihnen möchte ich hier nach und nach vorstellen und mit ihnen über ihre Projekte sprechen. Dieses Mal habe ich mit Chris Engelbert über Hazelcast und seine Arbeit als Manager of Developer Relations gesprochen.
Thorben Janssen: Hallo Chris, erzähle uns doch bitte ein bisschen über dich. Wie bist du zur Softwareentwicklung gekommen, und was machst du heute?
Christoph Engelbert
Chris Engelbert: Zur Softwareentwicklung gekommen bin ich je nachdem, wie man es sieht, nicht ganz klassisch (oder aus der anderen Sichtweise in der einzig wahren Art). Ich habe bereits mit etwa 10 oder 11 Jahren angefangen, auf einem C64 rumzuhacken ? amals vor allem durch Änderungen an bestehendem Code (Spielen) und natürlich in dem guten alten Basic. Ich habe sogar mal kurz versucht, mich mit Assembler zu befassen, aber damals gab?s ja leider noch kein Stack Overflow, also musste ich die Idee auf Eis legen.
Stattdessen musste eine stärkere Maschine her. Auf dem PC habe ich dann mit C und C++ angefangen und bin ziemlich lange dabei geblieben. Erste Gehversuche mit Java in 1.2- oder 1.3-Zeit habe ich damals gehasst. Es war alles, was man in Klichees über Java kennt: langsam, speicherfressend, ungelenkt, in einem Wort unschön. Also zurück nach C++, für viele weitere Jahre. Rückblickend eine extrem schlechte Idee 😉
Na ja zurückgekommen zu Java bin ich dann mit Java 1.5, durch Mithilfe an einem freien Ersatz-Gameserver für ein MMORPG (für die Leute die nichts mit Spielen zu tun haben, ein Online-Rollenspiel), der eben in Java geschrieben war.
Frühere Interviews mit
Das Erlebnis war nicht nur augenöffnend, sondern auch wegweisend. Ich bin immer noch hier. Die Sprache hatte einfach nichts mehr mit dem Horror aus meiner Erinnerung zu tun. Die eigentliche Antwort auf die Frage: Ich bin da so reingeschlittert.
Janssen: Was machst du privat, wenn du nicht gerade in der Java-Welt unterwegs bist?
Engelbert: Wie man oben schon herauslesen kann, spiele ich leidenschaftlich gerne. Die Hochrechnung meines Steam-Accounts würde vermutlich die meisten Menschen in den Wahnsinn treiben. Ansonsten reise ich sehr gerne, also ich meine privat, auch wenn ich durch meinen Beruf sowieso permanent unterwegs bin.
Abgesehen davon ist mein Leben eher „schockierend“. Ich liebe es zu programmieren, ich liebe es, neue Dinge zu probieren (auch essenstechnisch!), und Netzwerkprotokolle zu knacken ist mein großes Hobby. Das ist übrig geblieben von den ganzen Gameservern, an denen ich in der Vergangenheit gearbeitet habe. Derzeit arbeite ich am OSRAM-Lightify-Protokoll, das intern im LAN zwischen der Mobile-App und dem Lightify Gateway genutzt wird.
Janssen: Du arbeitest für die Hazelcast Inc. als Manager of Developer Relations. Was macht diesen Job für dich besonders interessant, und wie können wir uns deinen Arbeitsalltag vorstellen?
Engelbert: Fangen wir mit meinem Arbeitsalltag an, der ist relativ fix erklärt: Taxi ? Flughafen ? Flugzeug ? Flughafen ? Taxi ? Hotel, habe ich noch was vergessen? Ach ja Konferenzzentrum, Vorträge … Das trifft es tatsächlich relativ gut. Ein großer Teil meines Berufes ist es halt, um die Welt zu fliegen und das Wort von Hazelcast zu verbreiten.
Hinzu kommt die Verwaltung der Community ? Hazelcast ist ja ein Open-Source-Projekt ? und die Organisation entsprechender Kommunikationskanäle wie Twitter, Facebook, Gitter, Github, Stack Overflow, quasi die üblichen Verdächtigen. Abgesehen davon natürlich auch Blogposts und Organisation von Konferenzbesuchen und Ähnlichem.
Besonders interessant machen den Beruf aus meiner Sicht die Kommunikation und der direkte Kontakt zu den Menschen. Ich weiß für einen ehemals 10-jährigen, der quasi nur für seinen Computer gelebt hat, eine etwas befremdliche Aussage. Aber ich liebe es zu sehen und zu hören, was Leute für Ideen haben, welche Einsatzzwecke oder Probleme gelöst werden. Abgesehen davon, wie bereits erwähnt, liebe ich es, fremdes Essen zu probieren. Wenn man schon kaum etwas von der Umgebung sehen kann, dann wenigstens lokales Essen!
Janssen: Ihr bietet mit Hazelcast IMDG eine „operational in-memory computing platform“. Was kann ich mir darunter vorstellen, und wofür setze ich die am besten ein?
Engelbert: Das ist die übliche Frage für dieses tolle Marketing-Sprech. Es gibt mehrere Einsatzpunkte, welche verschiedene Features von Hazelcast widerspiegeln. Der einfachste Einsatzzweck ist ein verteilter Cache. Hazelcast bietet mit seiner JCache- oder java.util.Map-Implementierung zwei extrem auf Zugriffsgeschwindigkeit optimierte Key-Value Stores, die sich dafür eignen.
Zusätzlich gibt es viele weitere Features. Wir haben quasi die kompletten Java Collections und Java Concurrency (ExecutorService, Lock, Semaphore ?) APIs implementiert, damit sie als „transparente“ Software in Applikationen genutzt werden können ? mit APIs, die jeder Java-Entwickler kennt.
Mein Lieblingsvergleich für das Gesamtkonzept ist immer: Stellt euch Hadoop plus mehr Computing-Features im RAM vor.
Janssen: Du warst im Rahmen von Java EE 7 Mitglied der JCache Expert Group (JSR 107). Für Java EE 8 sind keine Änderungen an der Spezifikation geplant. Wie bewertest du den aktuellen Stand des Standards? Gibt es offene Baustellen um die man sich kümmern sollte?
Engelbert: Ja, es gibt definitiv offene Baustellen. Die aktuelle JCache-Spezifikation war ein Kompromiss aus „13 Jahre sind wirklich genug und Feature-technisch ist das jetzt ganz OK“. Es sind Arbeiten im Gange, ein paar Kleinigkeiten an der aktuellen Spec als JCache 1.1 fertigzustellen. Dabei wird aber nichts Großes herauskommen.
Der nächste große Step wäre dann JCache.next oder JCache 2.0. Hier werden dann Dinge wie asynchrone Methoden, eventuell Transaktionen und Ähnliches hinzukommen. Hier bin ich aber derzeit nicht wirklich aktiv involviert.
Janssen: Was erwartest Du von Java EE 8 und EE 9? Gibt es Themen, die dich besonders interessieren?
Engelbert: Da fragst du den Falschen. Ich habe das letzte Mal aktiv mit Java EE zu J2EE-Zeiten gearbeitet und muss zugeben, es interessiert mich nur bedingt. Als Mitglied des JCP EC (Java Community Process Executive Committee), also quasi dem Board der Java-Spezifikationen, sehe ich durchaus den Sinn und habe mich letztes Jahr dafür eingesetzt, dass Oracle sich zu Java EE bekennt und es fortführt. Privat und beruflich lasse ich jedoch die Finger davon. Fairerweise muss ich hier anschließen, nicht von einzelnen Spezifikationen, aber vom Gesamtkunstwerk Java EE ? abstrakte Kunst aus meiner Sicht.
Janssen: Welche weiteren Projekte verfolgst du?
Engelbert: Wie bereits erwähnt, kämpfe ich mich derzeit durch das OSRAM-Lightify-LAN-Protokoll und erarbeite eine offene Spezifikation. Ansonsten spiele ich gerne mit Embedded-Systemen rum, also Dingen wie der Yocto-Distribution und generell alles, was in Richtung Single-Board-Computer geht. Das ist auch aus der Vergangenheit hängen geblieben, als ich noch „Kinderspiel-Systeme auf Computer-Basis“ entwickelt habe.
Ansonsten komme ich auf dumme Ideen wie einen eigenen Slack für die deutschsprachige Java sowie JVM-related Themen, Community oder ähnlichem Kram.
Janssen: Wo kann man dich finden?
Engelbert: Generell erst mal auf Twitter (@noctarius2k), vermutlich der aktivste Kommunikationskanal. Direkt danach haben wir eben jenen erwähnten Slack, auch hier bin ich sehr aktiv. Mit über 450 Mitgliedern würde ich diese „Zu-viel-Bier-Idee“ als durchaus gelungen bezeichnen. Gerne darf sich natürlich jeder seinen eigenen Invite erstellen (http://bit.ly/jvmg-invite) und mitdiskutieren oder einfach nur mitlesen.
Ansonsten die Augen auf Konferenzen oder Java User Groups offen halten. Es besteht eine hohe Chance, mich zu treffen, und wer Bier mitbringt, darf mich auch ansprechen 😉
Janssen: Vielen Dank für das Interview und weiterhin viel Erfolg mit Hazelcast und deinen weiteren Projekten.
Mehr über den Autor hilfreiche Tipps