TechLead-Story: Christian Esswein, Senior Full Stack Developer bei Txture

TechLead-Story: Christian Esswein, Senior Full Stack Developer bei Txture

Team

Wir sind derzeit im Dev-Team acht je nach dem wie man zählt neun. Und davon natürlich in verschiedenen Teilbereiche verteilt, manch einer ist primär im Front End Bereich, andere sind hauptsächlich im Back End Bereich unterwegs, ganz klar nach persönlicher Vorliebe und ganz klar auch nach der Expertise dementsprechend verteilt. Trotzdem setzten wir uns als Gruppe zusammen, gehen neue Features an, überlegen uns ganz klar: okay, wie können wir die von der Architektur aufbauen, oder wo werden Daten benötigt, wie stellen wir die bereit, wie können wir das ganze umsetzten und brechen es dann runter auf kleinere Subtasks, die wir dann im Team verteilen.

In der Gesamtkommunikation und Struktur orientieren wir uns an Scrum, und so können wir sicher gehen, dass wir den Fokus nicht verlieren, wissen ganz klar wer im Team gerade an welchen Arbeiten dran ist und wissen auch immer wann ist damit zu rechnen, dass gewisse Future fertig werden. Das ist ganz besonders wichtig, als dass derzeit bei uns zwei primär remote arbeiten, der Rest ist hier in Innsbruck im Office und dementsprechend hilft es uns immer zu verstehen und zu wissen wer gerade an was dran ist.

Unseren Tag starten wir normalerweise immer mit unseren Daily Standup, jeder sagt wo er gerade dran ist, wir überlegen uns was an dem Tag gemacht wird und es hilft ganz klar Probleme im frühzeitig zu erkennen und in kleineren Teams nochmals die Probleme anzugehen, sich anzuschauen und dann auch hoffentlich dementsprechend lösen. Ansonsten sind wir mit der Zeiteinteilung relativ flexibel, das heißt wir haben unsere fixen Termine außen rum, aber ansonsten kann ein jeder sich die Zeit einteilen. Das ist gerade hier in Innsbruck überhaupt kein Problem morgens vor der Arbeit auf eine Skitour zugehen um den Schnee auszunutzen oder im Sommer mit dem Mountainbike unterwegs zu sein und dann erst mit der Arbeit eigentlich erst zu starten.

Recruiting

Ganz klar, fachliche Kompetenz muss natürlich vorhanden sein – ohne die geht gar nix. Ansonsten ist uns schon sehr sehr wichtig, dass die Harmonie im Team passt. Wir sind eine Firma aus mittlerweile 18 Leuten, sind ein junges, motiviertes Team, und man verbringt natürlich extrem viel Zeit im Arbeitsalltag miteinander. Das muss ganz klar passen und Spaß muss dabei sein, sonst bleibt Produktivität einfach hängen. Dementsprechend ist Kommunikation glaube ich sehr wichtig! Sollte keine Scheu haben – ein Bewerber – offen zu kommunizieren, bei Problemen nachzufragen und auch einfach seine Ideen miteinzubringen.

Wir sind ein Tool Vendor, wir haben ein eigenes Produkt beziehungsweise Produkte. Da ist es natürlich auch sehr schön und auch wichtig, da wir das Produkt erschaffen, ein jeder seine Ideen mit einbringt. Wir bieten da sehr viel Freiheit in der persönlichen Gestaltung, wie man sich einbringen kann und wo.

Aber das muss aber auch ganz klar von den Bewerber da sein, dass er sich eindenken kann und sagen kann „ah okay, das wäre zum Beispiel noch ganz besonders“ – also dass man da Eigeninitiative zeigen kann.

Derzeit suchen wir im Dev Bereich – also zumindest langfristig gesehen – in allen Bereichen nach Unterstützung. Hauptsächlich suchen wir derzeit Front End Entwickler, beziehungsweise dazwischen auch Full Stack Entwickler. Im Front End Bereich setzten wir hauptsächlich React und TypeScript ein, Style Components, beziehungsweise Emotion. Im generellen stört uns auch überhaupt nicht, wenn jemand aus der Angular oder aus der Vue.js Ecke kommt und einfach offen für neue Technologien ist und bereit ist, sich da einzuarbeiten. Full Stack mäßig haben wir im Backend Bereich GraphQL mit TypeScript, Node.js mit MongoDB Datenbanken hinten dran.

Der Bewerbungsprozess ist bei uns relative simpel, einfach über unsere Website txture.io uns kontaktieren, uns anschreiben, im Normalfall starten wir immer mit einem sehr kurzen Telefonat anfangs um sich kennenzulernen und um zu klären was sind die Vorstellungen vom Bewerber was sind unsere Vorstellungen, ist es ein match in irgend einer Art und Weise. Damit wir frühzeitig Zeit sparen können, falls wir unterschiedlichte Vorstellungen haben. Dann gehen wir in die nächste Runde mit ein bisschen mehr aus dem Team, um sich kennenzulernen, um zu schauen ob es eigentlich harmoniert, ob das ganze zusammen passt. Und dann haben wir im Dev Bereich auf jeden Fall auch immer ein technical Interview, da schauen wir zusammen ein Coding Beispiel von uns zusammen an.

Schauen uns an wie arbeitet jemand wenn er einen Source Code – quasi eine Komponente – vor sich hat,

haben ein paar kleinere Fehler eingebaut, die wir uns mehr oder weniger zusammen ein bisschen ansehen und diskutieren, was ist gut an dem Code was ist schlecht an dem Code – eigentlich wirklich nichts vor dem man Angst haben muss. Ansonsten freuen wir uns über alle Bewerber, hier natürlich im Office in Innsbruck oder wir sind auch offen für remote Besetzungen – ganz klar, einfach kontaktieren und dann schauen wir ob wir uns zusammen tun.

Technologien

Unsere Software wird als Saas-Aplikation zur Verfügung gestellt, teilweise auch on-premise beim Kunden deployed. Aber User greifen über ein Web Front End darauf zu und am Front End Bereich setzten wir React mit TypeScript ein. Insgesamt ist es doch eine ordentliche Anwendung – da haben wir alleine im Front End Bereich jetzt 250.000 lines of codes. Deswegen sind wir auch sehr happy das wir da TypeScript im Einsatz haben. Das hilft uns während der Entwicklung, dass ein Entwickler im Vorfeld schon weiß, ob der Code, den er baut funktioniert, einen ordentlichen Autocomplete hat und da schon einige Static Checks ausgeführt werden. In dem Mid-Layer setzen wir mittlerweile auch immer mehr GraphQL – da ist es das selbe, dass es einfach nur hilft, schon im Entwicklungszyklus sicher zu stellen, dass die Kommunikation zwischen Server- und den Client-Parts schon funktioniert und wir nur die Daten laden die wir eigentlich benötigen. In dem Layer dahinter, Back End mäßig unsere Serverapplikation ist in Kotlin, teilweise auch im Java noch geschrieben mit dem Spring Framework und auch hier haben wir ordentliche Software Qualität – schätze ich hetzt einfach mal, wenn man es so behaupten darf, mit über 20.000 Unit Tests mittlerweile. Das selbe gilt für unsere Microservices, die Großteiles in Kotlin, teilweise auch in Node.js geschrieben sind.

Vom Deployment her setzten wir seit einiger Zeit fast nur noch Docker Deployments ein, relativ viel auch in unserem Kubernetes Cluster deployed – was sehr angenehm ist, dass es nicht nur einerseits dynamisch skaliert, sondern andererseits auch uns hilft einen jeden Zustand auch lokal nachstellen zu können, um Probleme zu identifizieren und debuggen.

Ganz unten im Storage Layer ist es vielleicht noch ganz interessant – zum einen haben wir SQLite und MongoDB im Einsatz und unteranderem eine selbstgeschriebene Graph-Datenbank mit Versionierung, was es durchaus spannend macht!

 

 

Erfahre mehr zum DevTeam von Txture

Christian Esswein

Interview im September 2021