Unser Interview Partner Marcus, Product Area Manager bei Vector.

Dev-Interview mit Marcus
In diesem Interview plaudern wir mit Marcus Eggenberger über seine Karriere und seine Arbeit bei Vector Informatik. Marcus ist Product Area Manager bei Vector und kümmert sich hauptsächlich um strategische Themen, Kundenbeziehungen und organisatorische Fragen. Er ist ein waschechter Entwickler und hat schon während des Studiums und in der Freizeit an verschiedenen Open-Source-Projekten mitgearbeitet, unter anderem an einem Chat Client sowie an der Entwicklung einer Infrastruktur für verteilte Simulationen in der Automobilbranche. Im Interview erzählt Marcus unserem CTO Ilja, wie er 2017 zur Firma Vector Informatik gekommen ist und welche Erfahrungen er während seiner Karriere sammeln konnte – von Dev zu Dev.

Ilja: Hallo Marcus, ich bin Ilja, der Mitbegründer und Geschäftsführer von EntwicklerHeld. Schön, dass du da bist. 

Marcus: Hi, ja danke für die Einladung.

Ilja: Könntest du ein bisschen über dich erzählen, wer du bist und was du tust?

Marcus: Klar, gerne. Das Interesse an der IT liegt bei uns in der Familie. Schon seit meiner Kindheit hat mich Informatik und Programmierung beschäftigt. Daher war es für mich naheliegend, Informatik zu studieren. Während des Studiums arbeitete ich auch im technischen Support für Webhosting und konnte dadurch viel Erfahrung sammeln.

Zusätzlich habe ich mich viel mit Open-Source-Entwicklung beschäftigt, weil ich Open-Source einfach liebe. Wir haben damals einen IRC Client entwickelt, der sehr beliebt war. Es war eine der ersten Chat-Anwendungen, die einen „infinite Scroll“ hatte. Das war richtig cool und es hat mir viel Spaß gemacht, meine technischen Kenntnisse anzuwenden.


Ich liebe Open-Source einfach. Wir haben damals einen IRC Client entwickelt, der sehr beliebt war. Das war richtig cool und es hat mir viel Spaß gemacht, meine technischen Kenntnisse anzuwenden.


Ilja: Wie hat sich dieses Projekt entwickelt?

Marcus: Ich habe das Ganze zu zweit mit einem Kumpel hochgezogen. Er war immer unzufrieden mit den Sachen, die es gab und sagte „Das kann ich besser”. Und ich meinte „Wenn du was machst, helfe ich dir! Aber erst musst du den Start machen”. Dann haben wir einfach gemacht. Irgendwann waren wir in der Kubuntu-Distribution der Standard IRC Client. Wir wurden daraufhin zu Qt-Entwickler:innen-Konferenzen eingeladen. Nachdem wir dort unsere Lösung vorstellten, kamen auch Leute auf uns zu, die meinten, „Hey, soll ich ein Logo für euch machen?“. Und wir so, „Ja gerne“. Man bekommt, was man gibt. Das ist für mich persönlich auch das Tolle an der Source-Community, gerade wegen dieser Kooperationsmöglichkeiten.

Dieses Projekt hat mir damals unheimlich viel gebracht. Nicht nur, dass ich meine Programmierkenntnisse vertiefen konnte, ich habe auch viel über Zusammenarbeit, Teamspirit und so etwas gelernt.

Nach dem Studium bekam ich bei der Job-Suche auch ein Promotionsangebot. Ich dachte, der Doktor schadet wahrscheinlich nicht und promovierte dann an der Uni Stuttgart im Bereich Eingebettete Systeme, mit Schwerpunkt auf Simulation.

Ilja: Wie bist du dann zu Vector gekommen?

Marcus: Ich lernte damals die Firma Vector durch einen Kollegen kennengelernt, der selber bei Vector angestellt war. Ich fand die Firma damals schon klasse. Es fügte sich dann alles zusammen, als ich auf ein Vector Event für Doktoranden eingeladen worden bin. Dort hielt Christian Köllner (Product Area Manager bei Vector) am Standort Karlsruhe einen Vortrag über Simulationen. Dann kam eins zum anderen und ich unterschrieb bei Vector den Vertrag.

Ilja: Was war dein Job, als du bei Vector angefangen hast?

Marcus: Eigentlich bin ich immer noch Herzblut-Entwickler, doch leider fehlt mir nun die Zeit dafür – was schade ist. Am Anfang arbeitete ich an einem coolen Projekt bei Vector, da ging es um eine Projektarbeit für einen Kunden. Wir bauten eine Infrastruktur für verteilte Simulationen, wie eine Toolkopplung, aber eben nur komplett auf Automotive zugeschnitten. Diese Infrastruktur war unser allererstes Open-Source-Projekt, das mit einer MIT-Lizenz in der Automobilindustrie lief – sehr untypisch für den Automotive-Bereich. 

Mir war wichtig, dass unser Projekt offen und zugänglich ist, also dass jeder sehen kann, wie es entstanden ist und wer daran gearbeitet hat. Manche aus dem Automotive-Umfeld behaupten, sie machen Open Source, aber in Wahrheit haben sie nur einen großen Code-Drop in einem Commit vor Jahren auf GitHub gepusht. Bei uns sollte es anders sein: Wir wollten die ganze Commit-Historie zeigen und einen guten Kommunikationskanal bieten, damit die Leute wissen: Das ist ein echtes Open-Source-Projekt.

Ilja: Und heute? Beschreibe mal den Entwickler:innen-Alltag bei Vector.

Marcus: Aufgrund meiner aktuellen Rolle als Product Area Manager beschäftige ich mich hauptsächlich mit strategischen Themen, Kundenkontakt und organisatorischen Fragen. Dass ich Code zu sehen bekomme, ist praktisch leider nicht mehr drin. Aber ich kann dir beschreiben, wie es war, als ich angefangen habe, so lange ist das ja noch nicht her. Als wissenschaftlicher Mitarbeiter an der Uni gab es keine geregelte Arbeitszeit und oft musste ich mehr als acht Stunden am Tag arbeiten. Deshalb habe ich die normale Arbeitszeit bei Vector tierisch genossen. Von meinem Naturell bin ich eher ein Spätaufsteher und Vector bietet da auch alle Möglichkeiten. Es gibt also keine typische Anfangszeit – macht einfach, wie es euch passt. Ich hol mir früh immer erstmal meine Tasse Kaffee, schau in meine Mails und versuche wieder in meine Sachen reinzukommen. Und der restliche Tag war immer ein Mix aus „für mich entwickeln” und brainstormen mit Kolleg:innen. Die Hauptzeit habe ich also programmiert. Schön war es, dass ich einen Mentor hatte, zu dem ich immer gehen konnte und sagen konnte: „Hey Andreas, mir geht gerade das und das durch den Kopf, wie würdest du das machen?”. Ich würde sagen, als Entwickler:in hat man bei Vector genügend Freiraum, um die bestmögliche Lösung zu finden. Jedes Team nutzt verschiedene Arbeitsweisen, so dass sich dadurch auch Meetings, wie Dailies ergeben. Aber man guckt, dass diese fokussiert und effizient sind.

Ilja: Was genau baut ihr in eurem Team und woher kommen die Anforderungen?

Marcus: Bei Vector gibt es zwei wichtige Bereiche, die Embedded-Software-Entwicklung mit über 1.000 Mitarbeitenden sowie die Abteilungen mit Fokus auf Entwicklungs-Tools. Ich arbeite bei Vector im Bereich Network und Distributed Systems. Da geht es nicht um Embedded Software, sondern wir bauen Testtools (Desktopanwendungen). Das sind Stammprodukte, d.h. du kaufst die so wie ein Word oder Excel: „Es ist wie es ist”. Einmal im Jahr gibt es ein Major Release und Service Packs obendrauf. Die Anforderungen kommen formell von Produktmanagement und sind eine Mischung aus strategischen, als auch kundenbezogenen Anforderungen. Wir müssen ein gutes Gleichgewicht finden, um die Kunden zufriedenzustellen und gleichzeitig die Dinge auf innovative Weise voranzutreiben.

Die Automobilindustrie verändert sich. Unsere Kunden waren früher Ingenieure, die viel mit GUIs gearbeitet haben. Heute werden Automobilhersteller immer mehr zu Softwareunternehmen und auf einmal spielen Sachen wie CI/CD, Testautomatisierung eine Rolle. Es gibt also einen Trend zu Headless Tools als Ergänzung zu den GUIs, zu textbasierten Konfigurationsformaten, die du diffen und mergen kannst. Die Tools müssen auf Linux und in

Docker-Containern lauffähig sein. Im Großen und Ganzen machen wir also Produktentwicklung und keine Projektarbeit.

Das neue Vector-Gebäude in Karlsruhe wird ab Anfang 2024 Platz für 600 Mitarbeitende bieten

Ilja: Inwieweit wird man bei Vector als Entwickler:in in die Entscheidungsfindung einbezogen, wenn es um das Design und die Implementierung von Features geht?

Marcus: Das Tolle bei Vector ist, dass man uns Entwickler:innen von Anfang viel Vertrauen schenkt. Das merkt man in vielen Bereichen. Wenn man zum Beispiel ein Konzept erstellen will, muss man nicht unbedingt lange und komplizierte Anforderungsdokumente schreiben. Für mich bedeutet ein Konzept vielmehr, dass man sich Gedanken darüber macht, wie man das Problem lösen kann und welche Vor- und Nachteile verschiedene Lösungen haben.

Damit kann man bei Vector schon recht früh mit der Arbeit beginnen, und das wird auch gefördert.


Das Tolle bei Vector ist, dass man uns Entwickler:innen von Anfang viel Vertrauen schenkt. Das merkt man in vielen Bereichen.


Ilja: Wie sieht es mit euren Release-Zyklen aus? Welche Prüfprozesse muss eine neue Version der Software durchlaufen, um veröffentlicht zu werden?

Marcus: Also, wir haben einige Produkte, die zur CANoe Produktfamilie gehören. Das sind das seit über 20 Jahren etablierte Desktop-Tool CANoe, das Tool CANoe4SW für virtuelle Tests und die Server-Editions davon für die Headless-Ausführung. Diese Produkte haben viel shared Code, der aber in jedem Produktkontext individuell abgesichert werden muss, was die Releases etwas schwerfälliger macht. Daher können wir nicht so schnell neue Entwicklungsprozesse einführen, die es uns ermöglichen, alle zwei Wochen neue Versionen zu veröffentlichen.

CANoe4SW (links) und die REST API der Server Edition (rechts)

Wir arbeiten ständig daran, unseren Prozess zu verbessern, aber im Moment veröffentlichen wir grob gesagt einmal im Jahr eine größere Version und zweimal im Jahr kleinere Service-Updates, also etwa drei Releases pro Jahr. Wenn wir jedoch an neuen Projekten arbeiten, wie zum Beispiel an der Open-Source-Bibliothek SIL Kit, releasen wir alle zwei Wochen eine neue Version. Diese neuen Versionen werden automatisiert getestet, zusätzlich führen wir dreimal im Jahr einen manuellen Testprozess durch, um sicherzustellen, dass sie gut sind. Unsere Testtools sind glücklicherweise nicht so streng reguliert, was uns dabei hilft, schnellere Updates zu veröffentlichen.

Ilja: Mit welchen Technologien arbeitet ihr und wie geht ihr mit Legacy-Code um? Ihr habt ja drei C++ Challenges auf EntwicklerHeld.

Marcus: C++ ist momentan die dominierende Programmiersprache bei uns. C# kommt auf den zweiten Platz. Die Rolle von Python wird bei uns langsam aber sicher immer größer. Wir nutzen C# traditionell für GUI-Entwicklung und verfügen über viel Know-how in dieser Sprache. Für ein aktuelles Projekt mussten wir einen Adapter entwickeln, der auf Linux und Windows läuft und Komponenten in C importiert, an C++ übergeben kann und dabei gut wartbar ist. Ich habe dem Team die Wahl gelassen, ob sie dies in C++ oder C# machen möchten, solange es auf den Plattformen läuft und das Ziel erreicht wird. Aber C++ ist definitiv vorrangig.

Was stark zunimmt, ist die Entwicklung von Dashboards für die Automobilindustrie. Da geht es mehr in Richtung Fullstack-Entwicklung mit Java-basierten Backends und Angular für Web-Frontends. Das ist jedoch nicht mein Fachgebiet. Ein weiteres Thema ist, dass wir uns in der Entwicklung mehr öffnen. Wir möchten, dass Programmierer auch ohne kostenpflichtige Tools Test schreiben können und betrachten da die Entwicklung von Plug-ins auf Basis von Visual Studio Code als wichtiges strategisches Thema. Da kommt dann TypeScript und das Language Server Protocol ins Spiel.

Ilja: Okay, reden wir nochmal über deinen Karrieresprung: Wie hast du den Sprung zum Product Area Manager geschafft? Und inwiefern hat es dir geholfen, dass du anderes vorher gemacht hast?

Marcus: Ich hatte keine Ambitionen, ins Management zu gehen, aber bei Vector bekam ich von Anfang an viel Verantwortung und es wurde sukzessive immer mehr. Meinen Alltag konnte ich am stärksten beeinflussen, indem ich mich stark in die Planung eingebracht habe und sicherstellte, dass es in eine Richtung ging, die mir gefiel. Mein breites Wissen durch das Studium und die Arbeit im Bereich Embedded-Programmierung haben mir ganz klar dabei geholfen. Dank der Open-Source-Entwicklung mit C++ eignete ich mir viele Kenntnisse an, denn Programmieren lernt man ja nicht an der Uni. Durch die Promotion konnte ich auch viele Projekte mit Studierenden betreuen. Es ist nie ein Muss, ins Management zu gehen, aber es ist bei Vector risikofrei, neue Verantwortung zu übernehmen und auszuprobieren, was einem gefällt. Man kann genauso gut mit Herzenslust als Entwickler:in glücklich werden.

Ilja: Was denkst du über die Aussage des CTOs von Azure, der sagte, C und C++ seien tot und Rust sei die Zukunft? Du hast viel Erfahrung in diesem Bereich und hattest wahrscheinlich schon Probleme mit Memory Allocation und Sicherheitslücken. Rust könnte hier eine Lösung bieten und wird auch schon viel im Linux-Kernel eingesetzt. Wie siehst du das?

Marcus: Rust ist notwendig und hat gute Konzepte, aber Legacy-Code wird nicht schnell aussterben, allerdings ist es wichtig zu überlegen, welche Sprache man für eine Neuentwicklung oder Überarbeitung wählt. Es ist eine evolutionäre Entwicklung – früher konnte man sich nicht vorstellen, etwas anderes als Assembler zu schreiben. C und C++ haben ihre Probleme, aber sie sind noch relevant. Rust ist hot und sollte keinesfalls unterschätzt werden.


C und C++ haben ihre Probleme, aber sie sind noch relevant. Rust ist hot und sollte keinesfalls unterschätzt werden.


Ilja: Ich möchte dir am Ende noch zwei „Hot-oder-Schrott“-Fragen stellen. Erste Frage: Homeoffice oder Office?

Marcus: Das ist für mich gar nicht so einfach, muss ich zugeben. Daher finde ich tatsächlich, dass der Hybrid am besten ist. Ich schätze unsere flexible Heimarbeitsregelung, so kann man sich die Zeit nehmen, die man braucht. Aber ich genieße es auch, mit Menschen zusammen zu sein und mich gemeinsam direkt austauschen zu können.

Hybrides Arbeiten stellt uns als Unternehmen und als Team auch vor Herausforderungen, die nur zum Teil technisch gelöst werden können, aber auch viel von der Disziplin abhängen. Wie lässt man alle gleich am Informationsfluss teilhaben? Wie können hybride Meetings gleichberechtigt stattfinden? Manchmal ist es besser, dass alle an einem Rechner sitzen und die gleichen Grundvoraussetzungen haben. Es ist auf jeden Fall eine Challenge, aber die bekommen wir gut gelöst.

Ilja: Tee oder Kaffee?

Marcus: Ganz klar Kaffee!

Ilja: Vielen Dank für deine Einblicke.

Vector entwickelt in Stuttgart, Karlsruhe, Regensburg, München und Chemnitz. Auf eine angenehme Arbeitsatmosphäre wird großen Wert gelegt.

Über Vector – So beschreiben wir uns selbst:
Die Mobilität entwickelt sich schneller als je zuvor, mit mehr Software und wachsender Komplexität. Wer kann das noch beherrschen? Mehr als 4.000 engagierte Vectorianer und Vectorianerinnen mit einer Mission: Wir vereinfachen die Entwicklung von Automotive Electronics und Software. Von Analysewerkzeugen über die Entwicklung von Embedded Softwarekomponenten bis hin zu mächtigen E/E-Architektur-Tools: Vector Lösungen helfen weltweit, die Technikinnovationen der Automobilindustrie und verwandter Branchen nach vorne zu bringen. Mit über 100 Produkten machen sich Entwicklerinnen und Entwickler rund um den Globus ihre komplexe Arbeit einfacher und kommen zu innovativeren Ergebnissen. Arbeitsplatzkultur bedeutet für uns, dass du nicht nur für deine Leistung, sondern vor allem als Mensch Wertschätzung erlebst. Das trägt dazu bei, dass wir die besten Lösungen und Produkte für unsere Kund:innen entwickeln können. Damit das auch so bleibt, ist uns unabhängiges Feedback – sowohl von intern als auch extern – ein wertvoller Kompass. Mehrfach ausgezeichnet im Great-Place-to-Work-Wettbewerb “Deutschlands beste Arbeitgeber” und von unseren Mitarbeitenden bei kununu mit einem hervorragenden Score von 4,5 Sternen bewertet, scheint uns das ganz gut zu gelingen. Mach dir gerne selbst ein Bild.

Categories:

Tags: