TechLead-Story: Matthias Bauer, Head of Web Development bei ASQS GmbH

TechLead-Story: Matthias Bauer, Head of Web Development bei ASQS GmbH

tech-stories TechLeadStory

Team

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

Unser Dev-Team besteht derzeit aus 11 Full Stack EntwicklerInnen mit dedizierten Verantwortlichkeiten für Front- und Back End. Der Großteil des Teams sitzt im Wiener Headoffice, eine Entwicklerin arbeitet in unserem Büro in Bangkok. Beide Standorte sollen in Zukunft weiter ausgebaut werden.

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?

Wir sind in zwei Scrum Teams aufgeteilt, wobei ich in einem der beiden Teams aktiv mitentwickle. Generell haben wir uns für Scrum entschieden, da wir rasch Feedback von unseren Usern bezüglich neuer Entwicklungen und Verbesserungen bekommen möchten. Das hilft uns dabei, unser System aus Usability-Sicht in die richtige Richtung zu entwickeln. Sobald wir mehr EntwicklerInnen in unserem thailändischen Büro haben, ist auch für dort die Bildung eines Scrum Teams geplant.

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

Da wir flache Hierarchien haben, kommunizieren wir alle auf Augenhöhe miteinander. Neue Ideen, andere Sichtweisen, aber auch Schwierigkeiten können jederzeit kundgetan und frei angesprochen werden. Jedes Teammitglied kann mit konstruktiver Kritik gut umgehen, was die Zusammenarbeit und die Erarbeitung von Lösungswegen sehr erleichtert. Besonders ist mit Sicherheit zudem die recht stark ausgeprägte Hilfsbereitschaft in unserem Team. Auch in Stresssituationen versuchen wir uns stets gegenseitig zu unterstützen.

Bei uns geht es jedoch auch nicht immer ausschließlich um das Entwickeln. Wir unternehmen immer wieder gerne etwas nach der Arbeit zusammen, gehen gemeinsam ein Bier trinken oder machen Gameabende.

Recruiting

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

Grundsätzlich beschreiben wir als Entwickler die Anforderungen, die ein/e neuer Kollege/Kollegin mitbringen sollte, um zu einem persönlichen Gespräch eingeladen zu werden. Für das Bewerbungsgespräch selbst haben wir dazu auch einen kleinen Test ausgearbeitet, der uns dabei hilft, den/die BewerberIn besser beurteilen zu können.

Unser CTO ist meist bei den ersten Gesprächen dabei, um die technische Seite mit dem/der BewerberIn durchzugehen. In einer zweiten Gesprächsrunde bin ich dann auch mit dabei, da alle EntwicklerInnen besonders am Anfang intensiv mit mir zusammenarbeiten werden.

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

Neue Kollegen bekommen als erstes eine Einschulung in unser System, um es aus der Nutzerperspektive kennenzulernen. Dies dient dazu, die Workflows, die unsere Benutzer verwenden, zu sehen, und sich mit dem User Interface vertraut zu machen.

Da unser System sehr umfangreich ist, beginnen neue Kollegen meist damit serverseitige Scripts zu entwickeln, um mit der Datenbank zu arbeiten, und die Funktion des Systems zu verinnerlichen.

Der nächste Schritt ist dann klassisches Debuggen. Aus unserer Erfahrung ist das die effektivste Möglichkeit, rasch viele Module zu sehen und den Code zu verstehen. Parallel werden sie auch Schritt für Schritt langsam in die Neuentwicklung integriert.

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

Wir sind ein kleines Team an Entwicklern und arbeiten eng miteinander zusammen. Teamfähigkeit und Humor sind daher wichtige Eigenschaften, auf die wir bei Neuzugängen achten. Ein Pluspunkt ist es natürlich immer, wenn der/die neue EntwicklerIn auch gerne an unseren außerberuflichen Aktivitäten teilnimmt.

Technologien

Welchen technischen Herausforderungen seht ihr Euch gegenüber?

Wie alle Developer, die Web-Apps entwickeln, müssen wir sicherstellen, dass unsere Anwendung in möglichst vielen Browsern reibungslos und schnell läuft.

Weiters ist aufgrund der stetig ansteigenden Menge an Daten die Entwicklung auf der Serverseite auch nicht außer Acht zu lassen. Um Ladezeiten kurz zu halten und den Code effizient zu gestalten, empfiehlt es sich hier, auch mal über den Tellerrand hinauszublicken, und das eine oder andere Experiment mit neuen/anderen Technologien zu wagen.

Mit welchen Technologien arbeitet ihr?

Wir sind zurzeit dabei unser System technisch auf neue Beine zu stellen. Dabei verwenden wir Angular 8 für das Front End und Laravel 5 für das Back End. Als Datenbank kommt MariaDB zum Einsatz.

Ein älterer Teil unseres Systems basiert noch auf jQuery mit diversen Plugins und PHP.

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

Die allererste Version unseres Systems, die vor 10 Jahren entwickelt wurde, basierte auf Vanilla JavaScript und die Serverseite teils auf PHP, teils auf Java. Zu dieser Zeit gab es auf Client-Seite auch noch nicht so viele Alternativen. Nach und nach hat dann jQuery Einzug gehalten und die Client-Seite wurde immer weiter mit Plugins ausgebaut.

Auf der Serverseite kamen wir von Java ab und setzen nun ganz auf PHP. Das wurde mit diversen Libraries immer weiter verbessert. Nun sind wir dabei, das Ganze technologisch mit Angular und Laravel auf die nächste Stufe zu heben.