Reorganisation eines Softwarehauses: Wie ändert man sein technologisches Profil und wählt eine Spezialisierung auf dem IT-Markt?
Veröffentlicht: 2023-03-06Jedes Softwareunternehmen hat sein eigenes technologisches Profil. Für Techniker ist dies oft wichtiger als das Domänenprofil des Unternehmens. Dies liegt daran, dass IT-Entwickler sich selbst eher durch das Prisma der Technologie sehen, in der sie arbeiten, z. B. bin ich ein Programmierer von Systemen, die in C# erstellt wurden. Ob sie jedoch ein Projekt für ein Unternehmen durchführen, das sich mit Schulungen befasst oder Boxen herstellt, ist zweitrangig. Natürlich ist Domänenwissen für Programmierer immer nützlich, aber es ändert nicht ihre Selbstwahrnehmung durch die technologische Dimension – sagt Robert Marek, Mitgründer und CTO bei FINGO.
FINGO ist ein polnisches Softwarehaus, das seit über 20 Jahren Programmierdienstleistungen anbietet. Im Jahr 2022 änderte die Organisation erfolgreich ihr technologisches Profil. Neben den angebotenen Programmierleistungen in Java- und .NET-Technologien hat es Node.js hinzugefügt und alle bisher in PHP erstellten Projekte abgeschlossen.
Warum wurde dieser Schritt gemacht? Wie sieht der Prozess der selbstorganisierenden Veränderung aus? Und was war das Ergebnis? Finden Sie es heraus, indem Sie unser Interview mit Robert Marek lesen.
Bevor wir über den Prozess der Änderung des technologischen Profils selbst sprechen, können Sie uns sagen, wie das Unternehmen vor seiner Umstrukturierung aussah?
Folgt man dem 20-jährigen Portfolio von FINGO, findet man Projekte für die Finanz-, Immobilien-, Automobil-, E-Commerce- und viele andere Branchen, die mehr oder weniger miteinander verwandt sind. Es ist eher ein Zufall – im Laufe der Jahre sind solche Projekte entstanden und wir haben unser Team weiterentwickelt. Aber dieser Zustand wurde maßgeblich von unserem technologischen Profil (Java, .NET, PHP) beeinflusst, unter dem wir nach weiteren Aufträgen suchten.
Ich hatte jedoch das Gefühl, dass dies nicht gut für unser Geschäft war. Eine große technologische Verbreitung ist im Allgemeinen nicht gut für ein Softwarehaus der Größe von FINGO. Es mag einfacher sein, ein Projekt zu finden, aber schwieriger, die Austauschbarkeit von Menschen zu gewährleisten. Ich gebe Ihnen ein Beispiel. Angenommen, Sie benötigen 5 Entwickler für Ihr Projekt. Auf der Bank sitzen 6 Personen, aber nur 2 kennen die für das Projekt erforderliche Technologie. Dieser Zustand bedeutet, dass immer noch 4 hochbezahlte Spezialisten arbeitslos sind, für die Sie Arbeit bereitstellen müssen. Darüber hinaus müssen Sie 3 Personen mit der erforderlichen Technologie vertraut machen, um sicherzustellen, dass das Projekt personell besetzt ist.
Der Komfort, ein gut funktionierendes Geschäft zu haben, hinderte uns jedoch daran, die Änderungen umzusetzen. Wir hatten Projekte, langjährige Stammkunden und erfahrene Programmierer. In einem solchen Umfeld ist es schwierig, die Entscheidung zu treffen, etwas zu verändern.
Was hat Sie dazu bewogen, das technologische Profil bei FINGO zu ändern?
Zu Beginn der Pandemie fror der Markt ein. Unternehmen, die nicht wussten, was als nächstes passieren würde, sahen davon ab, laufende Projekte fortzusetzen oder neue zu starten. Es war eine Zeit, in der selbst Programmierer befürchteten, ihren Job zu verlieren. Wir fragten uns, was wir tun sollten. Wir wollten niemanden entlassen, aber andererseits brauchten wir etwas, das uns von der Masse abhebt.
Ungefähr im Mai 2020 stellten wir als Eigentümer des Unternehmens fest, dass sich die Situation ohne mutige Entscheidungen verschlechtern kann. Wir hatten die meisten Projekte und damit Erfahrungen im Finanzsektor. Darüber hinaus hatten wir einen Produktteil, der Software anbot, die die Umsetzung von Meldepflichten im Bankensektor ermöglichte. Der Finanzsektor war für uns eine natürliche Wahl.
Damals schien es mir unwahrscheinlich, dass FinTech und der Finanzsektor PHP in ihren Projekten verwenden würden. Also ging ich davon aus, dass wir uns durch die Fokussierung auf diesen Bereich von PHP wegbewegen und nur noch bei Java und .NET bleiben würden. Mit diesen Informationen gingen wir zur Hauptversammlung des Unternehmens zum Team.
Der Ausbruch der Pandemie hat Sie also dazu gezwungen, das technologische Profil von FINGO zu ändern?
Ja und nein. Nachdem wir Informationen über die Spezialisierung ausgetauscht hatten, ernannten wir ein Arbeitsteam, das aus mehreren erfahrenen Programmierern mit Geschäftssinn bestand. Seine Aufgabe bestand darin, die Trends, Technologien und populären Lösungen in den einzelnen Ländern im Finanzsektor zu überprüfen. Ihre Analyse bestätigte meine früheren Annahmen, dass PHP in Finanzprojekten eine Seltenheit sei. Gleichzeitig empfahlen sie den Aufbau von Node.js-Kompetenzen, die auch in der Start-up-Welt geschätzt werden.
In unserem Unternehmen pflegen wir das Konzept des türkisfarbenen Managements, bei dem wir unter anderem Projekte, die für die Organisation von Bedeutung sind, offen mit dem gesamten Team besprechen. Dadurch spüren die Menschen den Einfluss auf die Entwicklung des Unternehmens, fühlen sich aber auch mitverantwortlich für die getroffenen Entscheidungen.
Daher musste die Initiative zum Umstieg auf Node.js, die von unten nach oben kam, noch vom Rest des FINGO-Teams genehmigt werden. Es stellte sich jedoch bald heraus, dass es einen starken Wunsch gab, sich in diese Richtung zu entwickeln. Vielleicht war es eine besondere Zeit, in der wir alle in verschiedenen Dimensionen (wirtschaftliche und gesundheitliche Aspekte etc.) Zukunftsängste hatten. Paradoxerweise erhöhte dies die Akzeptanz der Entscheidung, die Herausforderung anzunehmen.
Wie viele Menschen mussten sich neue technologische Kompetenzen aneignen?
Insgesamt waren 15 Personen an der Umstellung beteiligt. Sie mussten sich entscheiden, ob sie als Frontend-Entwickler entwickeln oder Backend-Entwickler bleiben und Lösungen in Java, .NET oder Node.js erstellen wollten.
Einer dieser Leute war ein Full-Stack-Entwickler, der sich bereits zum Frontend-Entwickler erklärt hatte, sodass in seinem Fall die Entscheidung einfach war. Folglich entschieden sich 2 Personen für Java und die restlichen 10 für Node.js.
An der Reorganisation nahmen auch zwei Tester teil, die sich ebenfalls in die neue Technik einarbeiten mussten. Unsere Firmenpolitik ist es, Tests in der gleichen Technologie wie das hergestellte Produkt zu schreiben. Wenn der Tester vorübergehend nicht verfügbar ist, gibt uns dieser Ansatz ein Gefühl der Sicherheit; Schreibtests können vorübergehend vom Programmierer übernommen werden.
Es gab auch Abgänge, aber das waren Einzelentscheidungen. Eine Person hat ziemlich schnell bei FINGO gekündigt, aber das lag daran, dass er die PHP-Community in Wroclaw aufbaute. Es war natürlich, dass unsere Erwartungen an die Zusammenarbeit zu divergieren begannen. Während des laufenden Prozesses verließen aus verschiedenen Gründen 2 weitere Personen das Unternehmen.
Eine Entscheidung zu treffen ist nur der Anfang des Weges.Hat das Unternehmen Programmierern irgendwie dabei geholfen, neue Kompetenzen zu erwerben?
Ein strategisches Projekt wurde geschaffen, um Entwickler bei der Vorbereitung auf die schnellstmögliche Bereitstellung von Dienstleistungen in kommerziellen Projekten zu unterstützen. Zu Beginn haben wir sie gebeten, subjektiv zu ermitteln, wie viel Zeit sie benötigen würden, um sich das notwendige Wissen anzueignen, damit sie souverän Arbeiten für externe Kunden übernehmen können, wobei 2 Szenarien angenommen wurden. Die erste davon mit Unterstützung eines erfahreneren Kollegen, die zweite ohne diese Unterstützung. Als Reaktion darauf haben wir verschiedene Schätzungen eingeholt.
Einige erklärten, dass sie mit der Unterstützung eines erfahrenen Node.js-Entwicklers bereits nach einem Monat in ein kommerzielles Projekt einsteigen könnten, andere erst nach einigen Monaten. Es kam ganz darauf an, welche Vorerfahrungen (privat oder beruflich) man hatte und wie viel Mut man in sich hatte. Erwähnenswert ist auch, dass wir bei FINGO auch Erfahrungen mit diesem Umfeld gemacht haben. Wir hatten also eine Basis.
Wir haben ihnen jedoch keinen Weg aufgezwungen, sich Wissen anzueignen. Alle diese Leute sind erfahrene Programmierer, die ständig dazulernen wollen. Sie haben ihre eigenen bevorzugten Lernstile. Im Allgemeinen ist der kontinuierliche Erwerb von Wissen irgendwie in die Branche der neuen Technologien eingeschrieben. Daher haben wir entschieden, dass die vernünftigste Lösung darin besteht, ihnen einfach die Ressourcen und die Zeit zum Lernen zur Verfügung zu stellen.
Außerdem haben wir das Unternehmen neu organisiert. Es wurden selbstorganisierte Gilden gegründet, in denen Menschen, die in einer bestimmten Technologie, aber nicht unbedingt an denselben Projekten arbeiten, erworbenes Wissen austauschen. Im Rahmen der Node-Gilde wurde auch ein internes Projekt ins Leben gerufen, bei dem man das neu erworbene Wissen erproben konnte. Für Freiwillige wurden externe Kurse organisiert.
Am meisten gab es jedoch die Möglichkeit, schnell an Projekten teilzunehmen. Das beste Beispiel dafür war einer der Aufträge, an denen wir arbeiteten, wo wir alle möglichen Hände brauchten. Nach Einholung der Zustimmung des Auftraggebers stieg ein erfahrener PHP-Entwickler in das Projekt ein, der ebenfalls in JavaScript arbeitete und keine Erfahrung mit Node.js selbst hatte. Allerdings waren bereits erfahrene Programmierer im Projekt, die einen Kollegen unterstützen und die Qualität des Codes sicherstellen konnten.
Lassen Sie uns ein bisschen mehr über Ihre Kunden sprechen.Wie haben sie auf Ihre Entscheidung, sich von PHP zu entfernen, reagiert?
Den größten inneren Widerstand und die größte Traurigkeit hatten wir bei einem Projekt, das für einen 10-jährigen Kunden erstellt wurde. Es ist ziemlich lustig, weil einer unserer Programmierer von Anfang an daran gearbeitet hatte. Natürlich wusste er mehr über das System als viele Manager in diesem Unternehmen. Es fiel uns schwer, ihnen unsere Entscheidung zu erklären. Obwohl wir eine Kündigungsfrist von einem Monat hatten, wollten wir uns gut um diesen Kunden kümmern. Wir erklärten uns bereit, ihnen noch weitere sechs Monate zur Verfügung zu stehen. Interessanterweise beendete der Kunde die Zusammenarbeit nach 3 Monaten selbst, aufgrund einer internen Umstrukturierung des Unternehmens. Das zeigte auch, dass man sich nicht zu lange mit Dingen aufhalten sollte. Sie sollten fertig sein und das war's.
Bei anderen Projekten war das einfacher. Wie andere Ereignisse geschah es ganz natürlich. Wir hatten zum Beispiel einen Kunden, der einen Teil des Systems in Node.js entwickelt hat. Wir vereinbarten, dass unsere Programmierer, die das Projekt zuvor in der PHP-Technologie unterstützt hatten, ihre Dienste in den ersten Monaten zu niedrigeren Preisen anbieten würden. In gewisser Weise war dies ein Ausgleich für die angenommene geringere Effizienz des Teams, das kürzlich die Technologie gewechselt hatte.
Wie denken Sie, sehen die Entwickler diese Änderung jetzt?
Ich denke, sie sind glücklich. Menschen in dieser Branche lernen gerne. Damals hatten sie die Zeit und das Geld, um zu studieren. Sie studierten Vollzeit, erhielten ein volles Gehalt und konnten von Studienbeihilfen profitieren. Dies wirkte sich sicherlich positiv auf ihre Gefühle aus.
Ist Node.js besser als PHP? Darüber lässt sich natürlich streiten. Sicherlich ist diese Technologie jetzt populär, also sind wir in eine Phase des Aufwärtstrends eingetreten.
Einige Leute bedauerten es zunächst, ein langfristiges PHP-Projekt verlassen zu haben. Doch nach kurzer Zeit gaben sie zu, aus einer gewissen Stagnation ausgebrochen zu sein. Und sie spürten die aufregende Brise neuer Herausforderungen. Insgesamt finde ich es gut gelaufen.
Wie lange hat die Umstellung gedauert?
Der ganze Prozess zog sich über die Zeit hin. Die Marktüberprüfung hat ziemlich lange gedauert. Auch die Reorganisation des Unternehmens und die Trennung von Kunden nahmen viel Zeit in Anspruch. Insgesamt sind seit der Erstellung der Aufgabe in Jira und ihrer Schließung fast 2 Jahre vergangen.
Es ist jedoch erwähnenswert, dass die längste Lücke zwischen einem Entwickler, der von einem PHP-Projekt zu Node.js wechselte, nur 3 Monate betrug. Dies hing mit seiner Erklärung zusammen, dass er das Gefühl hatte, Zeit zu benötigen, um sich dem Projekt mit erfahreneren Kollegen anzuschließen.
Was war der schwierigste Aspekt?
Ich denke, gerade zu der Entscheidung gekommen, dass es an der Zeit war, etwas zu ändern. Aber das Bewusstsein, dass, wenn wir jetzt nichts ändern, in ein, zwei Jahren nichts zu ändern sein wird, hat wesentlich dazu beigetragen, die Entscheidung schneller zu treffen.
Es war auch schwierig, sich von Kunden zu trennen, wenn keine Alternative am Horizont klar erkennbar war und die wirtschaftliche Situation nicht stabil war.
Während dieses Prozesses wollten wir uns um unsere langjährigen Kunden kümmern, damit sie in Ruhe eine Alternative finden, aber auch um uns selbst kümmern. Sorgen Sie für die Vorbereitung der Programmierer und ihre Bereitschaft, schnell Aufträge in der neuen Technologie entgegenzunehmen.
Wenn der CTO eines anderen Unternehmens zu Ihnen käme und sagen würde, dass er auch über eine Änderung des technologischen Profils des Unternehmens nachdenkt, welche 3 Ratschläge würden Sie ihm geben?
Habe eine Vision. Machen Sie sich bewusst, warum Sie es tun möchten, und machen Sie Ihrem Team klar, wohin Sie gehen und warum.
Arbeiten Sie mit Ihrem Team zusammen. Sprechen Sie mit Menschen, passen Sie Ihre Handlungen an das an, was Sie hören, und berücksichtigen Sie ihre Fähigkeiten. Mach alles mit Menschen.
Tun Sie alles konsequent, trotz Momenten des Zögerns.