Drei Rollen, je nach Projekt und Organisation des Kunden.
Das Handwerk ist dasselbe, Analyse und Entwicklung auf Microsoft .NET und Web-Technologien, aber der Kontext ändert sich erheblich: wie weit mein Aufgabenbereich ist, mit wem ich zusammenarbeite, wer entscheidet, was gebaut wird. Das sind die drei Situationen, in denen ich am häufigsten arbeite.
Die drei Rollen
01
Full-Stack-Entwickler
Bei direkten Kunden folge ich einer Anforderung vom anfänglichen Bedarf bis zur Produktion.
Manchmal starten wir von Grund auf, mit Client, Server, Datenbank und Architektur zum Aufbau. Andere Male übernehme ich eine bestehende Anwendung, mit einigen bereits getroffenen Entscheidungen und Raum für die Wahl der Werkzeuge. Es gibt immer eine gründliche Analysephase, bevor wir beginnen; während des Projekts stehe ich in ständigem Kontakt mit den Beteiligten, weil sich die Spezifikationen weiterentwickeln. Im Laufe der Jahre habe ich viele Technologien verwendet; heute stütze ich mich hauptsächlich auf den Microsoft-Stack.
Was Sie erhalten. Ein einzelner Ansprechpartner, bei dem nichts zwischen Analyse und Entwicklung verloren geht. Ich stelle Fragen, bis ich sicher bin, dass ich genug verstanden habe; von dort aus kommen die Ergebnisse allmählich und sichtbar.
Bedarfe und Einschränkungen mit Ihnen und den Beteiligten ermitteln
Analyse der Änderungen und der Datenbank
Frontend in Angular oder React, Backend in .NET
Infrastruktur: Definition von Umgebungen und zusätzlichen Komponenten wie Redis; bei einigen Projekten auch DevOps
Projektstart und Go-Live
Nach der Veröffentlichung
Der Code gehört immer Ihnen
Ich schule Ihr Personal, das sich um das System kümmert
Bei einigen Kunden übernehme ich weiterhin die größeren Implementierungen, während Wartung und kleinere Änderungen an Ihr eigenes Personal übergeben werden
Dokumentation auf Anfrage: Ich arbeite Seite an Seite mit den Menschen, die das System jeden Tag nutzen, sodass das Wissen bei Ihnen bleibt
Grafikdesign und Inhalte sind nicht enthalten; Sie oder spezialisierte Fachleute kümmern sich darum.
02
Entwickler im Team
Bei größeren Projekten trete ich einem bestehenden Team bei, das ein umfangreiches System wartet und weiterentwickelt.
Der Kontakt kann direkt mit Ihnen oder über einen Vermittler erfolgen. Der Aufgabenbereich ist enger, aber ich übernehme die volle Verantwortung für die mir zugewiesenen Aufgaben: Analyse, Entwicklung und Überprüfung, Koordination mit den Beteiligten. Die Arbeit des Teams wird mit Ihren eigenen Werkzeugen organisiert und verfolgt.
Was Sie erhalten. Eine erfahrene Person, die ohne schrittweise Überwachung selbstständig wird und die Junior-Entwickler unterstützt.
Entwicklung, hauptsächlich Backend; Frontend oder Full-Stack, wenn das Projekt es erfordert
Aufgabenanalyse und Einbringung meiner Erfahrung in die Definition
Direkte Koordination mit den Personen, die an derselben Aufgabe arbeiten
Unterstützung für Kollegen
Arbeit nach den bestehenden Prozessen, Konventionen und Werkzeugen des Teams. Ich habe auch in Projekten gearbeitet, in denen 100 % Codeabdeckung und gezielte Tests für den Fehler oder die Funktion Voraussetzung für die Freigabe eines Pull Requests waren
Einarbeitungszeit
Bei komplexen Systemen dauert es in der Regel 3–4 Monate, um vollständig selbstständig zu werden. Sie wissen dies normalerweise bereits, weshalb Team-Einsätze normalerweise mindestens 6 Monate dauern.
03
Technischer Teamleiter
Bei Projekten einer bestimmten Größe leite ich eine Entwicklungsgruppe, von der genehmigten Arbeitsaufgabe bis zum rechtzeitig gelieferten Ergebnis.
Meine Arbeit beginnt, wenn eine Arbeitsaufgabe in die Entwicklung geht. Wie tief ich mich damit befasse, hängt von der Organisation des Kunden und der vor der Genehmigung durchgeführten Analyse ab. In der Regel kenne ich das System besser als der Rest der Gruppe und stelle dieses Wissen dem Team zur Verfügung. In einer Multi-Team-Struktur übernehme ich auch die Koordination mit anderen Teams.
Was Sie erhalten. Die Projektleitung hat mit mir eine zentrale Ansprechperson, ähnlich wie ein direkter Kunde in der Full-Stack-Rolle. Sie beauftragt ein Arbeitspaket, erhält Rückfragen und Hinweise auf Hindernisse und kann die vereinbarte Lieferung rechtzeitig prüfen. Das Team bleibt auch nach meinem Einsatz selbstständig.
Technische KoordinationCode-ReviewMentoring für Junior-EntwicklerMehrere Teams
Ich analysiere die bevorstehende Arbeit basierend auf den Spezifikationen jeder Aufgabe und teile sie innerhalb der Gruppe auf.
Ich bewerte mit dem Team die Auswirkungen von Änderungen auf das System.
Ich überprüfe den Fortschritt häufig zusammen mit meinen Kollegen.
Bei der Überprüfung stelle ich sicher, dass die Anwendungsfälle erfüllt werden und dass die Änderung keine Rückschritte einführt. Die Codequalität wird in der Regel bereits durch Tools wie SonarQube abgedeckt.
Ich führe und schule Junior-Entwickler sowohl in der Analyse als auch in der Entwicklung.
In mehrteamigen Strukturen koordiniere ich die Entwicklung mit den anderen Teams und Diensten und melde externe Hindernisse an die Geschäftsführung.
Zeit und Teamgröße
Koordination braucht Zeit: Mit einem Team von nur 5 Personen verbringe ich etwa die Hälfte meiner Zeit mit der Entwicklung. Ich habe Teams mit bis zu 8–10 Personen geleitet.
Auf einen Blick
Full-Stack
Im Team
Teamleiter
Typischer Kontext
Direkter Kunde, neues oder bestehendes Projekt
Großes System, direkter Kunde oder Vermittler
Projekte einer bestimmten Größe, einschließlich mehrerer Teams
Umfang
Das gesamte Projekt, von der Bedarfserhebung bis zum Release
Die zugewiesenen Aufgaben, die ich eigenverantwortlich abschließe
Die Gruppe und ihre Arbeitsaufträge
Kontakte
Kunde und Stakeholder
Beteiligte Kollegen
Team, andere Teams und Management
Analyse
Vollständig, von den Anforderungen bis zur Datenbank
Aufgabenanalyse und Mitwirkung an deren Definition
Detaillierte Arbeitsaufträge mit der Gruppe
Formate, Standort und Sprachen
Formate
ProjektbasiertZeitraumbezogen, für festgelegte ZeiträumeDirekt oder über ein Softwarehaus
Standort
RemoteVor Ort nach AbspracheSitz in Perugia, Italien