Hallo! Ich denke, dass jeder Entwickler, der in die Rolle eines Teamleiters wechselt, zunächst danach strebt, wieder gemeinsam mit dem Team zu programmieren und Aufgaben zu lösen. Später beginnen wir, uns mehr mit geschäftlichen Aufgaben und Themen zu befassen, indem wir uns mit geschäftsbezogenen Herausforderungen, der Kommunikation zwischen Abteilungen oder Kunden und der Architektur befassen. Ab diesem Zeitpunkt haben wir weder die Zeit noch die Lust mehr, etwas anderes zu tun. Der Kalender eines typischen Teamleiters sieht ungefähr so aus: Wie kehre ich zur Entwicklung zurück und beginne erneut mit dem Codieren? Wo soll ich anfangen? Es ist auch wichtig zu beurteilen, wie beschäftigt Sie wirklich sind und wie Ihr typischer Arbeitstag aussieht. Beschäftigen Sie sich nach der Arbeit mit der Selbstverbesserung oder nicht? Das sind alles entscheidende Faktoren. Aufgrund meiner Erfahrung schlage ich vor, Schritte auf dem Weg von „keine Zeit vor oder nach der Arbeit, keine Lust oder Gelegenheit“ zu „Ich sitze immer am Computer und das ist meine Leidenschaft“ zu gehen. Blockieren Sie Ihre Zeit! Ein effektiver Ausgangspunkt besteht darin, eine bestimmte Zeit für die Entwicklung einzuplanen. Blockieren Sie einfach die „Codierungszeit“ in Ihrem Kalender für eine Stunde oder länger. Erwägen Sie nach Möglichkeit, jede Woche einen halben oder einen ganzen Tag speziell für die Bearbeitung technischer Aufgaben einzuplanen. Ja, es könnte darum gehen, Besprechungen zu verschieben, unnötige zu streichen oder die Notwendigkeit der Teilnahme an einigen davon zu besprechen. Denken Sie jedoch darüber nach, noch einmal zu prüfen, ob bestimmte Pflegesitzungen für Sie noch relevant sind. Vielleicht verbringen Sie dort eine Stunde ohne große Auswirkungen? Nutzen Sie diese Zeit für das Codieren! Codeüberprüfung mit Ihrem Team! Der zweite und wichtigste Aspekt für die Optimierung bestimmter Prozesse um Sie herum besteht darin, Ihren Kollegen die Werte oder Ansätze des Projekts zu vermitteln. Nicht jeder Entwickler sieht den gleichen Ansatz zur Problemlösung. Daher ist es wichtig, Codierungsstile, Testabdeckung sowie die grundlegenden Methoden und Mechanismen der Plattform oder Dienste separat vorzudefinieren. Führen Sie immer Codeüberprüfungen durch, und wenn Sie das Gefühl haben, dass sich eine Frage in die Länge zieht, stellen Sie das Team zusammen, um Probleme in den Pull Requests (PRs) schnell zu beheben. Wie die Praxis zeigt, beschleunigt dieser Ansatz die Problemlösungszeit und verkürzt somit die Zeit bis zur Markteinführung von Funktionen. Mit der Zeit wird Ihr Team Entwicklungsansätze, die weniger Aufmerksamkeit erfordern, vollständig verstehen und anwenden. Sie konzentrieren sich ausschließlich auf die Lösung der anstehenden Aufgabe und ihrer Logik, was zunächst einige Minuten und auf lange Sicht möglicherweise mehrere Stunden Entwicklungszeit einspart. Für was bist du verantwortlich? Es scheint vielleicht nicht die offensichtlichste Aufgabe zu sein, aber fragen Sie sich: Wofür sind Sie verantwortlich? Was musst du tun? Schreiben Sie alle diese Punkte auf ein Blatt Papier und prüfen Sie, ob Sie sich etwas Unnötiges vorgenommen haben. Vielleicht erledigen Sie die Arbeit eines anderen, nur weil es Ihnen zur Gewohnheit geworden ist. Vielleicht haben Sie einem benachbarten Team bei seinen Prozessen geholfen und sind immer noch involviert. Definieren Sie klar Ihre Position und Ihren Beitrag zum Projekt oder zum Unternehmen. Wenn Sie ein großes Team leiten, verwenden Sie Notizen, mit denen Sie eine Warteschlange mit Aufgaben und Problemen erstellen können. Führen Sie immer Überprüfungen durch und stellen Sie sicher, dass Sie als DevOps-Leiter beispielsweise nicht versehentlich Aufgaben erledigen, die für Entwickler mobiler Apps bestimmt sind. Wenn Sie mit Aufgaben und Abhängigkeiten überlastet sind, lohnt es sich, mit Ihren Vorgesetzten zu sprechen und herauszufinden, warum dies in Ihrer Abteilung passiert. Wenn Sie beispielsweise ein DevOps-Team sind, das für Dateningenieure verantwortlich ist und diese einen eigenen Leiter haben, könnte es sinnvoll sein, die Verantwortlichkeiten wieder an ihren Leiter statt an Ihre Abteilung zu delegieren. Erstellen Sie Spezifikationen und erforderliche Dokumente, um Vereinbarungen oder versteckte Details zur Einrichtung oder Wartung zu formalisieren und die Mitarbeiter in ihre jeweiligen Teams zurückzuführen. Es ist wichtig zu beachten, dass dies nur ein Beispiel ist und jeder seine eigenen Teams und Prinzipien für seine Aufstellung hat. Priorisierung und Delegation Es ist möglich, dass Sie Dinge nicht erledigen, weil sich die Prioritäten ständig verschieben. Das gesamte Unternehmen arbeitet mit zweiwöchigen Sprints, aber dieses Setup passt nicht mehr zu Ihnen und Sie sehen keinen Wert darin. Funktionen werden aufgrund schwacher Prioritäten nicht innerhalb eines Sprints fertiggestellt. Dies ist relevant für serviceorientierte Teams. Erwägen Sie die Erkundung von Kanban oder einem Waterflow-Ansatz. Unsere Teams sind wie getrennte Inseln, auf denen wir das Recht haben, Prozesse zum Besseren zu verändern. Testen Sie die Umstellung auf den neuen Ansatz einen Monat lang und beobachten Sie Ihre Kennzahlen. Nach meiner Erfahrung haben ein paar Wochen gereicht, bis wir gemerkt haben, dass Scrum nicht das Richtige für uns ist und wir auf Kanban umgestiegen sind. Unsere Zeit bis zur Markteinführung hat sich drastisch verkürzt, da sich die Prioritäten jetzt zweimal pro Woche ändern konnten, sodass wir Probleme schneller angehen können. Versuchen Sie als Nächstes, das Team in Domänenzonen aufzuteilen, aber nicht zu detailliert. Tauchen Sie jedes Teammitglied gemäß der 70/30-Regel ein: 70 % widmen sich ihrem Haupt-Stack, Projekt oder Produkt 30 % für alles andere Wenn Ihr Team aus mehr als 5 Personen besteht, decken Sie alle Leistungen und Funktionen ab, sodass Einzelpersonen schneller in das Themengebiet eintauchen können. Was wird dadurch erreicht? Es ermöglicht Ihnen, einige Aufgaben an das Team zu delegieren, anstatt alles selbst zu erledigen, wenn Sie feststellen, dass ein Entwickler bereits über ein gutes Verständnis und Eintauchen verfügt. Sie müssen nicht den gesamten Algorithmus und die Integrationen beschreiben! Sie wissen bereits alles! Zeitmanagement und Produktivität Wie plant das Team seine Arbeitszeit? Beginnen wir mit etwas Einfachem: Wie agiert man als Team? Werfen Sie einen Blick auf Ihre Einschätzungen und wie Sie Aufgaben bewerten. Ist alles in Ordnung? Gibt es vielleicht Raum für Verbesserungen oder die Einführung eines Arbeitsbelastungskoeffizienten? Der Arbeitsbelastungskoeffizient hilft zu verstehen, wie jedes Teammitglied während eines Sprints oder einer Woche belastet ist, und berücksichtigt dabei mögliche Ablenkungen zur Unterstützung. Wenn Sie beispielsweise ein Serviceteam sind, das sein eigenes Produkt warten muss, könnten andere Teams Ihre Unterstützung in Anspruch nehmen oder Verbesserungen anfordern, was zu einem Zeitaufwand für die Kommunikation innerhalb des Sprints führt. Das Gleiche gilt für den Umgang mit Fehlern. Möglicherweise werden Sie häufig davon abgelenkt, dringende Probleme in der Produktionsumgebung anzugehen. Aber das ist ein anderes Thema, und ich würde Ihnen empfehlen, meinen vorherigen Artikel darüber zu lesen, wie Sie in diesem Bereich schrittweise Verbesserungen erzielen können. https://hackernoon.com/just-go-ahead-and-test-your-project-part-1?embedable=true Nun zurück zum Koeffizienten. Wenn wir feststellen, dass jeder von uns mindestens an einem von fünf Tagen zu einem Chat oder einer Besprechung eingeladen wird, um ein Problem zu lösen, berücksichtigen Sie dies bei der Planung. Auf diese Weise schaffen Sie es realistisch, Aufgaben zu erledigen, die dem Team wirklich zugute kommen, und gewinnen möglicherweise Zeit für das Schreiben von Code. Probieren Sie die Pomodoro-Technik aus. Nichts Bahnbrechendes; Verwenden Sie einfach eine App auf Ihrem Telefon, mit der Sie sich für einen festgelegten Zeitraum, beispielsweise 45 Minuten, auf eine Aufgabe konzentrieren können. Nichts Besonderes, denke ich. Nutzen Sie Tracker. Führen Sie eine Untersuchung darüber durch, womit Sie Ihre 8 Arbeitsstunden verbringen – zeichnen Sie jede Stunde und Minute Ihrer Aktivitäten während der Woche oder des Monats auf. Vielleicht entdecken Sie Faktoren, die Sie ablenken, oder Sie bemerken, dass Sie effizienter arbeiten, wenn Sie nach dem Mittagessen einen 15-minütigen Spaziergang machen – vielleicht ist das der Schlüssel zum Erfolg? Oder, wenn Sie drei aufeinanderfolgende Besprechungen haben, stellen Sie fest, dass Sie danach eine Stunde lang nichts tun und nur Spezifikationen lesen? Vielleicht ist es eine Herausforderung für Sie? Es geht darum, das, was Sie tun, zu hinterfragen, und ich bin davon überzeugt, dass Sie Bereiche mit Verbesserungspotenzial identifizieren werden. Mitarbeit an technisch anspruchsvollen Projekten Wenn Sie nicht in der Lage sind, an Besprechungen zum Thema Systemdesign oder Architekturlösungen teilzunehmen, lesen Sie die Folgemaßnahmen oder die Dokumentation. Versuchen Sie zu verstehen, wie und was das Problem löst. Verpassen Sie solche Treffen lieber nicht und versuchen Sie, sich so weit wie möglich in die technischen Aspekte zu vertiefen. Wählen Sie Projekte oder Projektaspekte aus, die einen tiefen Einblick in den Code erfordern. Dies wird Ihnen helfen, über neue Technologien und Entwicklungsmethoden auf dem Laufenden zu bleiben. RnD für Sie Wenn Sie Bereiche im Projekt bemerken, in denen es Probleme gibt oder in denen die Funktionalität verbessert werden könnte, können Sie gerne Prototypen erstellen. Dadurch können Sie nicht nur die vorgeschlagenen Änderungen visualisieren, sondern dem Team auch greifbares Material für Diskussionen und Entscheidungen liefern. Das Hauptziel besteht nicht nur darin, Ideen vorzustellen, sondern sie in das Projekt umzusetzen, wenn sie sich als wirklich bedeutsam oder nützlich erweisen. Wenn Sie beispielsweise schon immer davon geträumt haben, veraltete Dienste von Java 1.8 auf Version 21 zu migrieren, warum probieren Sie es nicht einmal aus? Erstellen Sie einen Prototyp, zeigen Sie ihn dem Team, entwickeln Sie Ihre Lösung und dokumentieren Sie den gesamten Prozess gründlich zur späteren Bezugnahme. Dieser Ansatz hilft nicht nur, technische Verbesserungen umzusetzen, sondern auch, im Team ein gemeinsames Verständnis für mögliche Änderungen zu schaffen. So können Sie einen konstruktiven Beitrag zum Projekt leisten, dessen effektive Entwicklung sicherstellen und Innovationen fördern. Bewertungspunkt! haben Sie ein paar Stunden Zeit, um Code zu schreiben, Lösungen vorzuschlagen, und können dann eine Verschnaufpause einlegen. Natürlich lässt die Führungsposition nicht beides zu, und wenn Ihr Fokus immer noch auf der Weiterentwicklung liegt, könnte es sich lohnen, über eine Rückkehr nachzudenken. In dieser Phase Daran ist nichts auszusetzen – zu erkennen, dass Management für Sie langweilig wird, selbst wenn Sie darin überragend sind, ist in Ordnung. Es ist nur so, dass es zu diesem Zeitpunkt seinen Reiz für Sie verloren hat. Wenn Sie noch etwas Freizeit haben Lernen und Selbstentwicklung Bilden Sie sich kontinuierlich weiter, indem Sie technische Literatur lesen, Bildungskurse erkunden und an technischen Konferenzen teilnehmen. Dies wird Ihnen helfen, über die neuesten Trends und Best Practices in der Softwareentwicklung auf dem Laufenden zu bleiben. Das Lesen technischer Literatur bietet eine einzigartige Gelegenheit, in die Tiefe neuer Technologien, Methoden und Best Practices einzutauchen. Dazu können Bücher, Artikel, Blogs und andere Materialien gehören, die verschiedene Aspekte der Softwareentwicklung abdecken. Die Teilnahme an Bildungskursen ist eine strukturierte und systematische Möglichkeit, sich Wissen über neue Themen und Technologien anzueignen. Online-Kursplattformen bieten eine große Auswahl an Kursen zu verschiedenen Programmiersprachen, Frameworks und Konzepten. Die Teilnahme an technischen Konferenzen bietet nicht nur die Möglichkeit, sich über die neuesten Trends und Innovationen zu informieren, sondern auch mit Branchenexperten in Kontakt zu treten. Konferenzen bieten eine Plattform für den Erfahrungsaustausch, die Diskussion herausfordernder Themen und den Aufbau von Verbindungen innerhalb der technischen Community. Zusammenfassend lässt sich sagen, dass kontinuierliches Lernen durch Lektüre, die Teilnahme an Kursen und die Teilnahme an Konferenzen es Softwareentwicklern ermöglicht, nicht nur mit den neuesten Trends Schritt zu halten, sondern auch neue Kenntnisse und Fähigkeiten aktiv in ihre tägliche Arbeit zu integrieren. Beispiele: Leetcode, Udemy oder Youtube (manchmal finden wir dort wirklich gute KOSTENLOSE Inhalte!). An persönlichen Projekten arbeiten Arbeiten Sie nach Möglichkeit in Ihrer Freizeit an persönlichen Projekten. Dies wird nicht nur Ihre Programmierkenntnisse verbessern, sondern auch als Quelle neuer Ideen für Ihren Hauptberuf dienen. Darüber hinaus kann die Kombination dieser Aktivität mit dem RnD-Punkt aus dem Artikel einen zusätzlichen Anreiz für Kreativität und Innovation darstellen. Durch die Arbeit an persönlichen Projekten können Sie Ihre Fähigkeiten in praktischen Szenarien anwenden, mit neuen Technologien experimentieren und reale Probleme lösen. Bei diesen Projekten kann es sich um die Entwicklung eigener Webanwendungen, die Erstellung von Open-Source-Projekten oder die Teilnahme an interessanten Nebenprojekten handeln. Durch die Integration dieser Aktivität in die zuvor erwähnte Forschungs- und Entwicklungsarbeit (F&E) können Sie Prototypen erstellen und diese an Ihrem Arbeitsplatz präsentieren. Die Öffnung Ihres Projekts für die Öffentlichkeit, beispielsweise durch die Teilnahme an der Open-Source-Entwicklung, verbessert nicht nur Ihre Fähigkeiten, sondern trägt auch zum Aufbau wertvoller beruflicher Kontakte und zur Anerkennung Ihrer Kreativität bei. Bedenken Sie jedoch unbedingt, dass die Einhaltung der Vertraulichkeitsrichtlinie (NDA) Ihres Hauptberufs oberste Priorität hat. Bevor Sie mit persönlichen Projekten beginnen, ist es ratsam, sich mit Rechtsexperten und dem Management zu beraten, um sicherzustellen, dass Ihr kreativer Prozess nicht gegen etablierte Regeln verstößt und um die freie Entfaltung Ihrer kreativen Energie zu ermöglichen und gleichzeitig die Vertraulichkeit sensibler Daten zu wahren. Abschluss Um als Teamleiter Zeit für das Codieren zu finden, sind bewusster Einsatz und ein effektives Prioritätenmanagement erforderlich. Denken Sie daran, dass Ihre Rolle nicht nur darin besteht, das Team direkt zu leiten, sondern auch, Ihre technischen Fähigkeiten auf einem zufriedenstellenden Niveau zu halten. Es wird eine Herausforderung sein und ich wünsche Ihnen viel Glück! Ich habe das Problem schon vor langer Zeit gesehen. Wenn Sie Fachbücher lesen möchten, empfehle ich Ihnen die Lektüre von Büchern: und Link Link