TechLead-Story: Thomas Kaufmann, Tech Lead bei Parkside

TechLead-Story: Thomas Kaufmann, Tech Lead bei Parkside

Team

Wie groß ist das Dev/IT-Team? Wie setzt sich das Team, in Funktionen aufgeteilt, zusammen?

Unser Dev-Team besteht derzeit aus ungefähr 35 EntwicklerInnen und ist in 5 Teams aufgeteilt. Im Prinzip arbeitet jedes dieser Teams eigenständig an Projekten für jeweils einen oder mehrere Kunden, wobei es auch vorkommen kann, dass einzelne EntwicklerInnen kurzfristig wegen ihrer Expertise auch bei anderen Teams aushelfen. Darüber hinaus gibt es auch eine enge Zusammenarbeit mit KollegInnen aus dem Design- und QA-Team.

In jedem Team arbeiten Frontend-, Backend-, Fullstack-, Mobile und/oder DevOps-EntwicklerInnen gemeinsam an den Projekten. Darüber hinaus hat jedes Team einen Teamlead, der zusätzlich zur Entwicklungsarbeit auch organisatorische Aufgaben übernimmt und als technischer Ansprechpartner für die Kunden wichtig ist, sowie eventuell einen Product Owner.

Wie ist euer Team organisiert und aus welchem Grund habt ihr euch für eine bestimmte Organisation entschieden? Worin liegen die Vorteile, wo die Nachteile?

Alle unsere Teams arbeiten mit verschiedenen Prinzipien der agilen Softwareentwicklung. Einige arbeiten als SCRUM Teams in meist zweiwöchentlichen Sprints, jedoch ist es auch möglich, dass ein Team nicht als reines SCRUM Team organisiert ist und jene Praktiken und Methoden aus der agilen Softwareentwicklung einsetzt, die am meisten Sinn machen. Diese Flexibilität hat den Vorteil, dass die Teams optimal an die Projekte angepasst arbeiten können und nicht starr ein Konzept verfolgen müssen, wenn es dafür besser passende Alternativen gibt. Eine Challenge ergibt sich daraus: EntwicklerInnen, die das Team wechseln, müssen sich unter Umständen auf leicht geänderte Abläufe und Prozesse der Organisation im neuen Team einstellen. So lernt man auch, sich gut auf Veränderungen einzustellen.

Was macht euer Team, im Vergleich zu anderen Teams, besonders?

Uns macht besonders, dass wir uns ständig weiterentwickeln! Wir haben einige Kunden, die selbst ein eigenes Entwicklerteam haben und unser Team jenes erweitert bzw. ergänzt. Das heißt natürlich, dass die Arbeitsweise, Organisation und Prozesse schon vorgegeben sind und man unter Umständen mit neuen Tools (andere Versionsverwaltung, anderes Project Management Tool usw.) arbeiten muss, die normalerweise in unseren Teams nicht eingesetzt werden. Manchmal bedingt das zwar ein etwas intensiveres Onboarding, wir lernen aber auf lange Sicht von jeder neuen Erfahrung mit anderen Teams und setzen diese Erfahrung in allen weiteren Projekten ein.

Recruiting

Wie ist eure Abteilung in den Recruiting-Prozess integriert?

Alle BewerberInnen für eine Stelle als Entwickler bekommen eine Aufgabe, sie müssen eine kleine Coding Challenge absolvieren. Das abgegebene Projekt wird dann von EntwicklerInnen unserer Teams hinsichtlich Funktionalität und Implementierung reviewed. Nach einem positiven Review findet ein Erstgespräch statt, wo neben HR, unserem VP of Engineering und/oder Principal Developer meist auch der jeweilige Team Lead teilnimmt, wenn die Stelle für ein bestimmtes Team ausgeschrieben war. Dieses Gespräch dient unter anderem dazu, erste Eindrücke zu gewinnen, beidseitige (BewerberIn und Parkside) Erwartungshaltungen zu besprechen und auch einen ersten fachlichen Austausch zu ermöglichen.

Gibt es ein konkretes Prozedere für neue Kollegen? Wie werden diese integriert?

Schon vor dem ersten Arbeitstag beginnt das Onboarding: es werden IT Equipment und andere Hardware gemeinsam besprochen und vorbereitet. Der gesamte Onboarding Prozess ist als eigenes Projekt strukturiert um sicherzustellen, dass schon genügend Aufgaben und Ansprechpartner ab dem Starttag zur Verfügung stehen. Damit fühlen sich neue KollegInnen von Anfang an gut aufgenommen und finden sich leichter in der neuen Umgebung zurecht. In der ersten Arbeitswoche gibt es zudem Meetings mit verschiedenen Mitarbeitern aus dem Management und HR, wo Einblicke in die Firma, die Abläufe, Projekte und Teams gegeben werden. Neben dem fachlichen Onboarding im jeweiligen Team durch Teamlead und die anderen EntwicklerInnen setzen wir bei Parkside auf ein sogenanntes Mentoring. Der Mentor kommt aus einem anderen Team und dient dem/der neuen KollegIn als Ansprechpartner auf Augenhöhe. Neue KollegInnen bekommen durch den Mentor auch Unterstützung beim Knüpfen von Kontakten mit MitarbeiterInnen aus anderen Teams.

Neben der fachlichen Qualifikation, worauf legt ihr noch Wert, wenn ihr nach IT-Spezialisten für euer Team sucht?

Fachliche Qualifikation ist natürlich wichtig, die Persönlichkeit spielt aber ebenfalls eine große Rolle und sollte der Kultur von Parkside (wie zum Beispiel 'Be Open', 'With a Smile', 'Better Together', 'Driven by Passion') entsprechen. Neue KollegInnen sollten Motivation und Leidenschaft mitbringen, neue Dinge zu lernen, sich pro-aktiv in die Projekte einbringen und einen qualitätsfokussierten Arbeitsstil haben.

Technologien

Welchen technischen Herausforderungen seht ihr Euch gegenüber?

Die größte Herausforderung ist es, in der permanenten Fluktuation der Technologien in der Softwareentwicklung up to date zu bleiben und aufkommende Trends nicht zu verschlafen. Das betrifft unter anderem fast jährlich neu aufkommende JavaScript Frameworks, neue Trends und Features für Android/iOS Apps, immer neue Möglichkeiten im DevOps Bereich und aktuelle Trends in Architekturkonzepten, wie zum Beispiel Microservices.

Mit welchen Technologien arbeitet ihr?

Der Tech Stack kann von Projekt zu Projekt doch recht unterschiedlich sein.

Viele unserer Teams arbeiten hauptsächlich auf JavaScript/TypeScript-Basis mit NestJS im Backend (als Datenbanken MySQL, MongoDB oder PostgreSQL) und mit React, Angular oder Vue.js im Frontend.

Im Bereich der mobilen App Entwicklung kommen Swift und Kotlin für native- sowie Flutter für cross-platform Entwicklung zum Einsatz. Technologien, die wir üblicherweise im Bereich der Infrastruktur und dem CI/CD Prozess einsetzen, umfassen Docker, Kubernetes, Buildkite, Github, AWS und SonarQube.

Zusätzlich werden in Projekten unter anderem Java, PHP (Wordpress, Typo3, Laravel) und Python (Django) verwendet.

Wie hat sich die Technologie des Unternehmens seit der Gründung verändert?

Speziell in der Web-Entwicklung gab es schon einige signifikante Veränderungen. JavaScript wurde zu Beginn hauptsächlich in Verbindung mit jQuery eingesetzt, in den letzten Jahren wird im Frontend aber hauptsächlich mit JavaScript Bibliotheken und Frameworks wie React, Angular oder Vue.js gearbeitet. Obwohl bei uns PHP auch immer noch verwendet wird, hat man schon einen Trend erkennen können, dass auch im Backend JavaScript immer mehr an Bedeutung gewinnt und viele neue Projekte mit NestJS entwickelt werden. Auch im Deployment hat sich einiges geändert: Während zu Beginn noch sehr viel 'per Hand' deployed wurde, kommen jetzt automatisierte Build Pipelines wie Buildkite in Verbindung mit Kubernetes und Docker zum Einsatz.

 

Erfahre mehr zum DevTeam von Parkside

Thomas Kaufmann

Lead Software Developer

Interview im March 2021