TechLead-Story: Mattias Rauter, CTO bei Denovo GmbH

TechLead-Story: Mattias Rauter, CTO bei Denovo GmbH

tech-stories TechLeadStory

Team

Was ist deine Rolle bei laufenden Entwicklungsprojekten?

Als CTO trage ich die Verantwortung, Architekturentscheidungen für unsere Projekte zu treffen. Der gemeinsame Austausch mit dem Team ist hier entscheidend, da die Auswahl der Technologie eine kritische für den gesamten Projektverlauf ist. Da ich bereits auf einige Jahre Erfahrung in diesem Bereich zurückblicke, freut es mich hier mittlerweile eher eine Mentor-Rolle einzunehmen. Das führt zu einem Empowerment des gesamten Teams und wertvollen Input von allen Seiten. Darüber hinaus gestalte ich auch die Rahmenbedingen für unsere Qualitätssicherung, damit wir trotz Wachstum ein Höchstmaß an Qualität an unsere Kunden liefern können. Zudem bin ich auch in das Thema Ressourcenplanung involviert, um neben der kurzfristigen Sprint-Planung auch mittel- und langfristig aus Unternehmenssicht planen zu können

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

Unser junges Team besteht derzeit aus acht Entwicklern, drei Product Owner, einer Designerin, einem Tester und einem SCRUM-Master. Das spannende an Denovo ist, dass hier im Wachstum noch hybride Positionen bestehen und Personen je nach Skillset auch übergreifende Rollen übernehmen können. Auch jeder Einzelne im Dev-Team, das generell aus Web-/Backend-, iOS- und Android-Entwicklern besteht, hat die Möglichkeit für unterschiedliche Plattformen zu entwickeln und neue Kenntnisse aufzubauen. Obwohl das Team noch relativ klein ist, sind wir bereits sehr gut organisiert und haben ein sinnvolles Maß an Struktur geschaffen.

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

Wir arbeiten mit der SCRUM-Methode in zweiwöchigen Sprints. Als wir bei Denovo zu Beginn zu dritt waren, haben wir so zusammengearbeitet, wie es sich für uns natürlich angefühlt hat. Plötzlich haben wir erkannt, dass wir ganz automatisch den agilen Ansatz gelebt haben. Als wir gewachsen sind, haben wir unsere Abläufe um die notwendigen Strukturen erweitert und SCRUM somit stärker implementiert. Ich sehe die besondere Stärke unserer Arbeitsweise darin, dass ein Großteil der Arbeit planbar ist und ich dennoch relativ schnell auf Änderungen von außen reagieren und kundeorientierte Anpassungen vornehmen kann. Darüber hinaus verbessert sich dadurch nicht nur das Kundenprodukt kontinuierlich, sondern auch der Prozess selbst erfährt ständige Evolution. Dazu trägt auch einer der Grundsätze von SCRUM bei: die offene Kommunikation im gesamten Team über alle Themenbereiche. Es wird alles ausgesprochen, was konstruktive Veränderung bringen kann.

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

Ich bin besonders stolz auf den Zusammenhalt und die große Hilfsbereitschaft im Team. In der täglichen Arbeit spürt man bei jedem Einzelnen die Freude, gemeinsam an der Lösung einer Problemstellung zu arbeiten. Diese Herangehensweise ist ein Boost für die Motivation. Ich hatte in meinem Leben schon mit Leuten zu tun, die sich auf das Problem fokussieren anstelle darauf, wie die Welt ohne dieses Problem aussehen könnte.

Zudem bringen alle Teammitglieder Begeisterung für neue Technologien mit. Dies beschränkt sich nicht nur auf Themen, die in der Entwicklung eingesetzt werden. Das gesamte Team trifft sich z.B. regelmäßig nach der Arbeit, um gemeinsam Events zu streamen (wie z.B. eine Google IO oder eine Apple Keynote) und dabei neue Ideen und Inspiration zu gewinnen.

Recruiting

Wie ist die Dev-Abteilung in den Recruiting-Prozess integriert?

Wir haben einen mehrstufigen Bewerbungsprozess, der in unserer Erfahrung zu einem erfolgreichen Ergebnis auf beiden Seiten führt. Das Erstgespräch mit potenziellen EntwicklerInnen führe meist ich, um Rahmenbedingungen und technischen Anforderungen abzuklopfen. In dem Gespräch ziehe ich dann auch einen bestehenden Entwickler aus dem gesuchten Fachgebiet hinzu. Die beiden können dann tiefer in die Technik einsteigen und es kann ganz offen über die Stelle und die Arbeitsweise gesprochen werden. In der zweiten Runde ist dann das gesamte Team zum lockeren Gespräch eingeladen. Dabei bekommen wir, aber auch die BewerberInnen, ein sehr gutes Gefühl füreinander. Auch die anschließende Entscheidung treffe ich immer gemeinsam mit dem Team. Dies hat in der Vergangenheit zu einem tollen organischen Gefüge geführt, wo sich jeder langfristig wohlfühlen kann.

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

Wir setzen auf das Buddy-System. Neue EntwicklerInnen bekommt einen "Buddy" aus dem bestehenden Team. Diese Person kennt alle internen Prozesse und unterstützt auch bei technischen Fragen. Dadurch sind neue MitarbeiterInnen von Tag 1 an integriert. Darüber hinaus erhalten sie die "Welcome-Map", wo die wichtigsten Infos auf einem Blick verfügbar sind. Alle Leitfäden sind zudem auch auf Confluence digital verfügbar und werden ständig erweitert und verbessert. Weitere Tools wie 1Password oder Slack unterstützen beim unkomplizierten Teilen von sensiblen Zugangsdaten, sowie der "GIF-gespickten" Kommunikation im Team.

Neben der fachlichen Qualifikation, worauf legt ihr noch Wert, wenn ihr EntwicklerInnen für euer Team sucht?

Wir suchen Teamplayer, die darüber hinaus Verantwortung für ihre Aufgaben übernehmen möchten und diese mit vollem Commitment in ihrer eigenen Zeiteinteilung umsetzen. Dazu gehört auch Offenheit gegenüber Kritik und die Fähigkeit selbst Kritik äußern zu können. Entscheidend ist auch, dass Anforderungen nicht blind umgesetzt werden. Wir fördern das Hinterfragen unserer Kunden und das Präsentieren von eigenen, vielleicht sogar besseren, Lösungsansätzen.

Technologien

Welchen technischen Herausforderungen seht ihr euch derzeit gegenüber?

Generell sind wir einem steten Wandel der Technologien ausgesetzt. Während wir vor drei bis vier Jahren noch Java-Entwicklungen gemacht haben, stehen heute JavaScript oder Node.JS auf der Tagesordnung. Zudem gibt es einen Trend zu mehr Microservice- und Serverless-Architekturen. Die Systeme werden dadurch zwar agiler, aber auch komplexer in der Kommunikation als herkömmliche Systemen.

Im mobilen App-Bereich gilt ebenfalls eine ausgeprägte Kurzlebigkeit. Die regelmäßigen Betriebssystemupdates verändern auch den Zugang wie Apps konsumiert werden. Zum Beispiel wurde mit iOS 14 das Thema Widgets plötzlich in den Vordergrund gestellt. Nun müssen wir uns Gedanken machen, welchen Kundennutzen wir mit welcher Informationsbereitstellung hier stiften können.

Mit welchen Technologien arbeitet ihr?

Derzeit arbeiten wir im Backend-Bereich mit Node.JS, Java Spring/Play und Firebase Cloud Functions. API-Entwicklung erfolgt mit REST oder GraphQL. Die Webentwicklung bilden wir im Frontend über React ab. Im Bereich der Datenbanken nutzen wir vor allem MongoDB, PostgreSQL, TimescaleDB und MySQL.

Bei mobilen Apps setzen wir stark auf native Entwicklung, um die vollen Vorteile der jeweiligen Ökosysteme zu nutzen und damit wir sicherstellen können, dass die jeweiligen Designvorgaben von Android und iOS eingehalten werden. Daher sind hier Swift und Kotlin im Einsatz. Mit Gitlab CI/CD schaffen wir die strukturierte Basis für den Entwicklungsprozess, das Testing und das Deployment.

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

Neben der vorhin schon erwähnten technologischen Veränderung in der tatsächlichen Softwareentwicklung (weg von Java, hin zu Node.JS, MongoDB etc.), hat sich gar nicht so viel bei uns verändert. Wir haben schon immer Tools wie Jira zur Ticketabwicklung und Slack zur Kommunikation eingesetzt. Was sich verändert hat, ist, dass wir unsere Channels und Arbeitsweisen besser strukturiert haben und somit auch im größeren Team sehr effizient arbeiten können.

Welche Trends in der Softwareentwicklung siehst du auf euch zukommen?

Ich denke, dass wir Software in einigen Jahren auf eine andere Art konsumieren werden. Wir werden uns loslösen von Apps, die physikalisch auf einem Gerät, wie einem Smartphone, installiert sind. Ob es nun eine Brille oder eine andere Art von Wearable das dominierende Device sein wird, kann ich nicht abschätzen, aber der Ort wo Software verfügbar sein muss, wird sich definitiv ändern.

Kunden

Ihr entwickelt individuelle Lösungen für die Industrie und den Endkundenmarkt. Gib uns einen Einblick in eure Kunden.

Unsere Kunden sind quer durch die Bank sehr innovativ und sie wollen aktiv eine Veränderung ihrer Prozesse oder ihres Geschäftsmodells vorantreiben. Dafür suchen sie einen Partner, der den Weg gemeinsam mit ihnen geht und nicht nur ein Anforderungsdokument umsetzt. Unsere Kunden setzen großes Vertrauen in unsere Digitalisierungskompetenz und teilen mit uns ihre Vision. Wir als Denovo treffen dann die richtigen Entscheidungen rund um Prozesse und Technologien, um diese Vision gemeinsam zu verwirklichen. Das spiegelt sich auch ganz stark in unserem agilen Vertragswerk wider.

Welchen Vorteil bringt die Individualsoftware für Entwickler?

Der Vorteil liegt in der Abwechslung. Mal arbeitest du an einem Projekt, das die Kreislaufwirtschaft auf den Kopf stellt und mal begleitest du ein völlig neues Lifestyle-Produkt beim digitalen Marktstart. Unser Team schöpft daraus täglich neue Motivation und es stellt sich niemals ein Gewohnheitstrott ein.

Du hast selbst als Entwickler gearbeitet. Welchen Tipp möchtest du den Entwicklern da draußen mitgeben?

Sei stets offen für Neues und ruhe dich nicht auf dem aus, was du bereits weißt!

"Stay hungry!"

 

 

Hier könnt ihr das DevTeam direkt kennenlernen: https://devjobs.at/team/denovo-gmbh