TechLead-Story: Michael Ionita-Ganea, CTO bei Walls.io
Tech-Stories
TechLeadStory
TechLeadStory
Michael Ionita-Ganea
Team
Wie groß ist das Dev-Team? Wie setzt sich das Team, in Funktionen aufgeteilt, zusammen?
Das Dev Team besteht aus 6 cross-functional Mitgliedern. Die Rollen in dem Team reichen von Full-Stack Developer, über Product-Designer zu DevOps.
Der Vorteil ist, dass auf diese Weise Ideen und Probleme in einem Team rasch und effektiv besprochen und umgesetzt werden können und das Team nicht auf ein anderes Team warten muss, um eine Sache voranzutreiben.
Wie ist euer Dev-Team organisiert und aus welchem Grund habt ihr euch für eine bestimmte Organisation entschieden? Worin liegen die Vorteile, wo die Nachteile?
Das Team organisiert sich via eines Kanban Boards und einem Prozess drum herum welcher dafür sorgen soll, dass Kommunikation und Qualität gewährleistet werden. Jede Woche hält das Team eine Retrospektive und ein Kick-Off für die kommende Woche. Das dauert maximal 1:30h.
Die Vorteile liegen weniger in der Art wie wir uns organisieren, sondern mehr darin, woran wir Glauben.
Wir glauben daran, dass richtig gute Features durch Experimente zustande kommen und dass wir Features nicht launchen, wenn diese nicht wirklich fertig sind und Value bringen. Das bedeutet, dass niemand das Team stresst am Ende der Woche/des Sprints etwas zu launchen, was noch nicht passt, nur damit das Burndown Chart gut aussieht.
Wir glauben auch daran, dass wir uns nicht von Gedanken wie „das ist kompliziert“ oder „das hat noch niemand gemacht“ (also gibt es dazu noch keinen stackoverflow Artikel) abhalten lassen etwas zu tun, das Mehrwert bringen kann. Wir bringen uns bei das Problem zu lösen und dann geben wir dieses Wissen an Teammitglieder und dem Web weiter.
Der Vorteil ist, dass wir wirklich gute Features launchen, auf die wir stolz sein können. Der Nachteil ist, dass man dafür wirklich gute Leute braucht, die so einen Prozess und die Glaubensrichtung mittragen können.
Was macht euer Team, im Vergleich zu anderen Teams, besonders?
Unser Team ist stark involviert in die Zukunft und den Erfolg der Firma. Sie reden überall mit, haben Ideen und geben Feedback und sind Teil des Organismus Walls.io.
Was bedeutet das? Sie arbeiten nicht einfach nur Tasks ab, sondern reden mit, wie und warum Dinge so sind, wie sie sind. Dabei agiere ich als Mediator. Das schafft ein richtig starkes Commitment und Bonding mit dem Produkt.
Recruiting
Wie ist eure Dev-Abteilung in den Recruiting-Prozess integriert?
Der CTO (ich) ist für diesen Prozess verantwortlich und bekommt von HR alle Hilfe, die nötig ist. Das bedeutet, dass Developer bei uns auch von Developern interviewt werden und dass der gesamte Prozess von Developern für Developer gemacht ist. Konkret bedeutet es, dass unsere Developer die Coding Challenges mitgestalten, den abgegebenen Code bewerten, Teil der Interviews sind und mitentscheiden, ob die KandidatIn eine Bereicherung für das Team wäre.
Gibt es ein konkretes Prozedere für neue Kollegen? Wie werden diese integriert?
Es gibt einen Onboarding Prozess, welcher darin besteht binnen 1 Tag (Maximum) die Development Umgebung installiert zu haben und schon am ersten Bugfix zu arbeiten :)
Jeder neue Kollege bekommt natürlich eine Einführung bezüglich unserer “Glaubensrichtung” (siehe oben) und unseren simplen Prozessen.
Dabei wird erklärt wie Ideen durch unsere Firma fließen, wie diese dann in Jira priorisiert werden, wie wir Pull-Requests nutzen und wie neuer Code ausgerollt wird.
Wir denken darüber nach ein Buddy System einzuführen, jedoch sind wir aktuell vielleicht gerade noch zu klein dafür :)
Neben der fachlichen Qualifikation, worauf legt ihr noch Wert, wenn ihr nach Entwicklern für euer Team sucht?
Definitiv legen wir viel Wert auf Kommunikations-Skills. Wenn es etwas gibt, was Teams aufhält, ist es, dass sie nicht kommunizieren und daher Information und Tasks hängen bleiben. Das wiederum führt auch bei den besten Developern zu Frustration.
Wir schauen auch darauf, dass die Person zum existierenden Team passt und dass die Person unsere “Glaubensrichtung” auch mittragen und erweitern kann.
Im Buch “Sapiens” erklärt Yuval, dass Konstrukte wie Kulturen, Firmen und sogar die Menschenrechte darauf beruhen, dass wir Menschen an sie glauben, sonst gäbe es sie nicht. Es sind künstlich von uns geschaffene Konstrukte, welche die Natur nicht vorgibt oder am Leben erhält.
Genau so ist es auch mit Teams. Teams gibt es nicht weil wir sagen “ihr seid jetzt ein Team”, sondern weil die Teammitglieder an dasselbe glauben und daher an einem gemeinsamen Ziel arbeiten können. Deshalb sind eine Vision und Ziele auch so wichtig. Damit halten Teams zusammen auch, wenn es der Firma mal nicht so gut geht.
Technologien
Welchen technischen Herausforderungen seht ihr Euch gegenüber?
Wir sind aktuell dabei unseren PHP Monolithen in mehrere kleinere Services aufzuteilen. Dabei soll eine elegante & zentrale API entstehen, welche von all diesen Services verwendet wird.
Eine weitere Challenge ist es durch Machine Learning Bilder zu klassifizieren um unseren Kunden noch bessere Filter und Moderation Features zur Verfügung zu stellen.
Mit welchen Technologien arbeitet ihr?
Wir sind da sehr offen und stellen unseren gesamten Stack auf Stackshare https://stackshare.io/walls-io/walls-io und erklären dort auch wieso wir diese Technologien verwenden.
Wie hat sich die Technologie des Unternehmens seit der Gründung verändert?
Anfangs haben wir auf CakePHP und jQuery gesetzt da wir nicht wissen konnten, dass das Produkt so stark wachsen würde und wir nur mal testen wollten wie das Internet auf unsere Idee reagieren wird.
Damals (2013) waren diese Technologien die Norm. Heute sind wir dabei das Produkt neu zu schreiben und auf moderne Technologien zu migrieren. Wir haben seitdem unser User Interface auf ReactJS umgestellt und unser Backend immer weiter zum API Service weiterentwickelt.
Im Backend planen wir mehr auf NodeJS zu setzen und PHP dort zu ersetzen, wo es Sinn macht. Wobei wir PHP 7 mögen und finden, dass es mit dieser Version in die richtige Richtung geht.
Es bleibt also spannend! Gerne können wir diese Themen bei einem Kaffee und Pizza bei uns in der Andreasgasse 6 vertiefen :)
Michael Ionita-Ganea
Web: https://walls.io