Wie messen Sie die Effektivität eines Ingenieurs? An der Anzahl der Stunden, die sie arbeitet? An dem Aufwand, den er betreibt? An der Anzahl der Aufgaben, die er erledigt? Ein fleißiger Ingenieur, der seine Energie in ein Feature steckt, dessen Zeitplan ins Wanken gerät und das niemand nutzt, ist nicht besonders effektiv. Das Buch The Effective Engineer, das von Edmond Lau geschrieben und am 19. März 2015 veröffentlicht wurde, bietet Einblicke, wie man ein praktischer Ingenieur wird, indem man das Lernen optimiert, sich auf Aktivitäten mit hoher Hebelwirkung konzentriert oder häufig Prioritäten setzt.
WIE DIESES BUCH UNS GEHOLFEN HAT?
Obwohl es sich um ein Buch für Softwareingenieure handelt, werden Sie in The Effective Engineer keine einzige Zeile Code finden. Das Buch hat uns geholfen zu verstehen, dass wir unsere Ziele effektiver erreichen können, wenn wir unsere Aktivitäten nach Prioritäten ordnen und ihre Hebelwirkung einschätzen. The Effective Engineer lieferte uns Ansätze, wie wir die Hebelwirkung erhöhen können. 1. Indem wir die Zeit reduzieren, die wir für eine bestimmte Aktivität benötigen. 2. Indem wir den Output einer bestimmten Aktivität erhöhen. 3. Durch die Verlagerung auf Aktivitäten mit höherer Hebelwirkung.
DAS BUCH ERKLÄRT IN 60 SEKUNDEN
Dieses Buch ist kein umfassender Leitfaden für alles, was Ihnen beim Wachstum helfen kann. Dennoch bietet es Ihnen einen konsistenten Rahmen, um herauszufinden, welche Fähigkeiten eine gute Investition in Ihre Zeit sein könnten. Lehren und Mentoring sind meine Leidenschaft, und ich freue mich darauf, meine Erfahrungen mit Ihnen zu teilen.
DIE DREI BESTEN ZITATE
„Wenn Sie früh in Ihrer Karriere darüber nachdenken, wie Sie Ihren Mitarbeitern zum Erfolg verhelfen können, entwickeln Sie die richtigen Gewohnheiten, die zu Ihrem Erfolg führen werden.“
„Um effektive Ingenieure zu sein, müssen wir herausfinden, welche Aktivitäten mit weniger Zeitaufwand mehr Wirkung erzielen.“
„Überstunden können der Teamdynamik schaden. Nicht jeder im Team wird die Flexibilität haben, die Überstunden zu leisten.“
BUCHZUSAMMENFASSUNGEN UND NOTIZEN
Kapitel eins: Nehmen Sie die richtige Einstellung an
Konzentration auf Aktivitäten mit hohem Nutzen
Wie würden Sie entscheiden, woran Sie arbeiten sollten, um Ihre Ziele effektiver zu erreichen? Die grundlegende Antwort auf diese Frage besteht darin, diese verschiedenen Aktivitäten zu priorisieren und ihre Hebelwirkung zu bewerten. Die Hebelwirkung ist der Wert oder die Wirkung, die pro investierter Zeit erzielt wird.
Hebelwirkung = Erzielte Wirkung / investierte Zeit
Leverage ist die Investitionsrendite für den Aufwand, der betrieben wird. Einflussreiche Ingenieure erledigen die Dinge effizient und konzentrieren ihre begrenzte Zeit auf die Aufgaben, die den größten Nutzen bringen. Sie schaffen nicht mehr Dinge, indem sie mehr Stunden arbeiten. Effektive Ingenieure erhöhen ihren Output in dieser Gleichung, während sie die begrenzte Zeit, die sie investieren, beibehalten. Daher ist die Hebelwirkung der Maßstab dafür, wie sinnvoll Ihre Aktivitäten sind. Die Hebelwirkung ist von entscheidender Bedeutung, denn Zeit ist Ihre begrenzteste Ressource. Im Gegensatz zu anderen Ressourcen lässt sich Zeit nicht wiederherstellen, ersetzen oder verlängern.
Erhöhen Sie Ihre Hebelwirkung auf drei Arten;
- Indem Sie die Zeit reduzieren, die Sie für eine bestimmte Tätigkeit benötigen.
- Indem Sie den Output einer bestimmten Aktion erhöhen.
- Durch die Verlagerung auf Aktivitäten mit höherer Hebelwirkung.
Diese drei Ansätze lassen sich in der Regel in drei Fragen übersetzen, die Sie sich zu jeder Aktivität stellen können, an der wir gerade arbeiten.
- Wie kann ich diese Aufgabe in kürzerer Zeit erledigen?
- Wie kann ich den Wert dieser Aktivität steigern?
- Gibt es etwas anderes, womit ich meine Zeit verbringen kann, um mehr Wert zu schaffen?
Nutzen Sie die Hebelwirkung, um Ihre technische Effektivität zu bewerten. Konzentrieren Sie sich auf das, was die höchste Rendite für Ihre investierte Zeit bringt. Erhöhen Sie systematisch die Hebelwirkung Ihrer Zeit. Finden Sie Wege, um Aktivitäten schneller zu erledigen, die Wirkung einer Aktivität zu erhöhen oder zu Aktivitäten mit höherer Hebelwirkung überzugehen. Zeit ist Ihre knappste Ressource. Finden Sie die Gewohnheiten, die eine unverhältnismäßig hohe Wirkung für die von Ihnen investierte Zeit haben.
Optimieren für das Lernen
Eine wachstumsorientierte Denkweise bedeutet, dass Sie die Verantwortung für jeden Aspekt einer Situation übernehmen, den Sie ändern können – von der Verbesserung Ihrer Gesprächsfähigkeiten bis zur Beherrschung eines neuen technischen Schwerpunkts – anstatt Misserfolge auf Dinge zu schieben, die außerhalb Ihrer Kontrolle liegen. Es bedeutet, dass Sie die Erfahrungen, aus denen Sie lernen können, optimieren, anstatt Gelegenheiten zu nutzen, bei denen Sie mühelos Erfolg haben, und in Ihr Lerntempo zu investieren. Lernen wächst exponentiell. Wissen gibt Ihnen eine Grundlage, um noch schneller mehr Wissen zu erlangen. Je mehr Sie wissen, desto einfacher ist es, mehr zu lernen und kreativer zu werden. Je früher Sie das Lernen optimieren, desto mehr Zeit hat Ihr Wissen, um zu wachsen. Ihr erster Job macht es Ihnen leichter, einen besseren zweiten Job zu bekommen. Aufgrund des Zinseszinseffekts machen selbst kleine Deltas in Ihrem Lerntempo auf lange Sicht einen großen Unterschied. Da Sie die meiste Zeit am Arbeitsplatz verbringen, ist die Wahl Ihres Arbeitsumfelds einer der wichtigsten Hebel, um Ihr Lerntempo zu erhöhen. Stellen Sie sicher, dass das Arbeitsumfeld über die anfängliche Lernkurve hinaus ein Umfeld ist, in dem Sie täglich und nachhaltig Neues lernen können. Hier sind sechs Faktoren, die Sie bei der Wahl eines neuen Arbeitsumfelds berücksichtigen sollten.
- Schnelles Wachstum
- Ausbildung
- Offenheit
- Tempo
- Menschen
- Autonomie
Wie Sie Ihre Intelligenz, Ihren Charakter und Ihre Fähigkeiten einschätzen, hat großen Einfluss darauf, wie Sie Ihr Leben führen. Sie beeinflusst in erster Linie, ob Sie in Ihrer derzeitigen Position stecken bleiben oder das erreichen, was Ihnen wichtig ist.
Regelmäßig Prioritäten setzen
Ein erfolgreiches Team setzt seine Prioritäten genau und häufig. Ein Ingenieur zu sein ist sehr anstrengend. Es gibt immer mehr Aufgaben als Sie Zeit haben, und an einer Aufgabe zu arbeiten bedeutet, an einer anderen nicht zu arbeiten. Daher ist eine häufige Prioritätensetzung eine Aktivität mit hoher Hebelwirkung, da sie die Hebelwirkung der restlichen Zeit beeinflusst. Die effektivsten Ingenieure arbeiten hartnäckig an der Verbesserung ihrer Fähigkeiten zur Prioritätensetzung. Um sich weiterhin den Aktivitäten mit hoher Hebelwirkung zu widmen, sollten Sie überprüfen, wie Sie Ihre Aktivitäten einordnen. Es ist wichtig, dass Sie alle Ihre Aufgaben in einer leicht zugänglichen Liste festhalten. Vergleichen Sie anhand dieser Liste, was Sie gerade tun und was Sie stattdessen tun könnten, um Ihre Zeit immer wieder auf Aktivitäten mit höherer Hebelwirkung zu verlagern. Ingenieure können von der Verwendung von Checklisten profitieren. Der erste Schritt zu einer effektiven Prioritätensetzung ist daher die Auflistung aller Aufgaben, die Sie benötigen könnten. To-Do-Listen müssen zwei wichtige Eigenschaften haben: Sie sollten eine anerkannte Darstellung Ihrer Arbeit sein und leicht zugänglich sein. Eine einzige Masterliste ist zehnmal besser als eine Vielzahl von Haftnotizen, Zetteln und E-Mails, denn diese verstreuten Alternativen können leicht verlegt werden und machen es Ihrem Gehirn schwerer, auf ihre Vollständigkeit zu vertrauen.
Lieblingszitat des Kapitels: „Konzentrieren Sie sich auf Veränderungen in Ihrem Einflussbereich, anstatt Energie darauf zu verschwenden, die Schuld auf die Teile zu schieben, die Sie nicht kontrollieren können. Betrachten Sie Misserfolge und Herausforderungen mit einer wachstumsorientierten Denkweise und sehen Sie sie als Chancen zum Lernen.
Kapitel zwei: Ausführen, Ausführen, Ausführen
Investieren Sie in Iterationsgeschwindigkeit
Effektive Ingenieure investieren viel in die Iterationsgeschwindigkeit. Die kontinuierliche Bereitstellung ist nur eines von vielen leistungsstarken Tools, die Ihnen zur Verfügung stehen, um die Iterationsgeschwindigkeit zu erhöhen. Die kontinuierliche Bereitstellung ermöglicht es den Ingenieuren, kleine, aber inkrementelle Änderungen zu erstellen und bereitzustellen, statt der umfangreichen und gebündelten Änderungen, die in den meisten Unternehmen üblich sind. Durch diese Änderung des Ansatzes entfällt ein großer Teil des Aufwands, der mit traditionellen Release-Prozessen verbunden ist. Es macht es einfacher, über Änderungen nachzudenken und ermöglicht es den Ingenieuren, schnell zu iterieren. Wenn beispielsweise ein Fehler entdeckt wird, können Sie mit Continuous Deployment eine Korrektur implementieren, sie in der Produktion einsetzen und überprüfen, ob sie funktioniert – und das alles in einer Sitzung. Die kontinuierliche Bereitstellung ist eines der robustesten Tools, um die Iterationsgeschwindigkeit zu erhöhen.
Bewegen Sie sich schnell, um schnell zu lernen. Bewegen Sie sich schnell und machen Sie Dinge kaputt. Wenn Sie sich schnell bewegen, können Sie mehr Dinge bauen und schneller lernen.
Investieren Sie in zeitsparende Tools. Wenn Sie etwas mehr als zwei Mal tun müssen, schreiben Sie ein Werkzeug für das dritte Mal. Tools sind Hebel, die Ihnen dabei helfen, Ihre Wirkung über den Tageskonflikt hinaus zu steigern. Schnellere Tools werden häufiger verwendet, weil sie neue Arbeitsabläufe ermöglichen, die vorher unmöglich waren.
Messen Sie, was Sie verbessern wollen
Die Messung des Fortschritts und der Leistung scheint nicht in Ihren Zuständigkeitsbereich zu fallen. Dennoch ist es ein hervorragendes Instrument, um Ihre Effektivität zu bewerten und Prioritäten für Ihre Arbeit zu setzen. Wenn Sie es nicht messen können, können Sie es auch nicht verbessern. In der Produktentwicklung kommt es häufig vor, dass ein Manager eine neue Funktion entwirft. Das Team feiert, dass die Ingenieure sie bauen und ausliefern, ohne einen Mechanismus zu implementieren, um zu messen, ob die Funktion das Produkterlebnis verbessert hat. Verwenden Sie Metriken, um den Fortschritt zu messen und voranzutreiben. Mit guten Metriken lassen sich mehrere Ziele erreichen. Erstens helfen Ihnen Metriken, sich auf die richtigen Dinge zu konzentrieren. Sie bestätigen, dass Ihre Produktänderungen – und alle Bemühungen, die Sie in sie stecken – Ihre Ziele erreichen.
Wenn sie im Laufe der Zeit visualisiert werden, schützen gute Metriken vor zukünftigen Rückschritten. Ingenieure erkennen den Wert eines Regressionstests bei der Behebung von Fehlern: Er verifiziert, dass ein Patch einen Fehler behebt und erkennt, ob der Fehler in Zukunft wieder auftritt.
Gute Kennzahlen können auch Ihre Effektivität im Laufe der Zeit bewerten und die Hebelwirkung dessen, was Sie tun, mit den Aktivitäten vergleichen, die Sie stattdessen tun könnten. Die von Ihnen gewählte Kennzahl beeinflusst in der Regel die Entscheidung, die Sie treffen, und Ihr Verhalten. Suchen Sie nach einer Kennzahl, die, wenn sie optimiert ist, die Wirkung auf das Team maximiert.
Prüfen Sie Ihre Ideen früh und oft
Überprüfen Sie, ob Ihre Ideen praktikabel sind. Diese Validierung kann durch Diskussionen mit Ihrem Team, durch Benutzerumfragen oder durch A/B-Tests mit den angewandten Ideen erfolgen. Bei neuen Ideen haben Sie wenig Aufwand, Ihre Arbeit zu validieren. Wenn Sie mit dem Projekt, an dem Sie arbeiten, vorankommen, sollten Sie immer versuchen, ein Feedback zu erhalten. Wenn Sie beispielsweise ein Projekt in Angriff nehmen und es sich als komplizierter herausstellt, als Sie erwartet haben, sinkt seine Hebelwirkung. Währenddessen könnte ein anderes Projekt mit höherer Hebelwirkung auftauchen. In solchen Situationen ist es besser, das aktuelle Projekt fallen zu lassen und Ihre Aufmerksamkeit auf ein anderes Projekt zu richten. Die häufige Überprüfung Ihrer Aufgaben hilft Ihnen, die beste Entscheidung zu treffen.
Lieblingszitat des Kapitels: „Verringern Sie die Varianz Ihrer Schätzungen und das Risiko Ihres Projekts, indem Sie frühzeitig das Unbekannte erforschen. Geben Sie sich nicht der Illusion des Fortschritts hin, indem Sie sich zuerst auf das konzentrieren, was leicht zu tun ist.“
Kapitel drei: Langfristige Werte schaffen
Qualität und Pragmatismus im Gleichgewicht
Führen Sie einen autonomen Code-Review-Prozess ein. Verschiedene Entwicklerteams haben eine unterschiedliche Einstellung zu Code-Reviews. Code-Reviews sind in manchen Teamkulturen so tief verwurzelt, dass sich Ingenieure nicht vorstellen können, in einer Umgebung ohne sie zu arbeiten. Durch Code-Reviews werden Fehler und Designmängel frühzeitig erkannt. Sie verbrauchen weniger Energie. Sie sind zeitsparend, wenn es um die Lösung von Problemen im Entwicklungsprozess geht. Code-Reviews erhöhen auch die Verantwortlichkeit für Codeänderungen. Wenn Sie wissen, dass einer Ihrer Teamkollegen den Code überprüfen wird, fügen Sie keine schnellen Korrekturen am Code ein und überlassen das Chaos einem anderen, der es beheben kann. Obwohl sie in der Regel anerkennen, dass Code-Reviews die Qualität verbessern können, geben Ingenieure, die sie nicht durchführen, oft ihre Bedenken hinsichtlich ihrer Auswirkungen auf die Iterationsgeschwindigkeit an. Sie behaupten, dass die Zeit und der Aufwand, die mit Code-Reviews verbunden sind, besser in andere Funktionen der Produktentwicklung investiert werden können. Die Entscheidung für Code-Reviews muss keine binäre Entscheidung sein, bei der der Code entweder überprüft oder nicht überprüft wird. Betrachten Sie Code-Reviews stattdessen als einen kontinuierlichen Prozess. Sie können in verschiedenen Ansätzen strukturiert werden, um den Aufwand zu reduzieren und gleichzeitig die Vorteile zu erhalten.
Investieren Sie in das Wachstum Ihres Teams
Erst wenn Sie die Vorstellungsgespräche im Ganzen betrachten, erkennen Sie, dass die Einstellung von Mitarbeitern eine Tätigkeit mit großer Hebelwirkung ist. Je kleiner das Unternehmen ist, desto größer ist die Chance, dass die Person, die Sie interviewen, sofort ein Mitarbeiter wird, und desto größer ist die Hebelwirkung dieser Interviews. Im Folgenden finden Sie einige Strategien, die Sie bei der Verbesserung Ihres Vorstellungsgesprächs anwenden können. Nehmen Sie sich gemeinsam mit Ihrem Team Zeit, um die Qualitäten eines potenziellen Mitarbeiters zu ermitteln, die Ihnen am wichtigsten sind: Programmierkenntnisse, Beherrschung von Programmiersprachen, Algorithmen, Datenstrukturen, Produktkenntnisse, Debugging, Kommunikationsfähigkeiten, kulturelle Eignung oder etwas anderes. Stimmen Sie sich ab, um sicherzustellen, dass alle wichtigen Bereiche während einer Interviewschleife abgedeckt werden. Entwerfen Sie Interviewaufgaben mit mehreren Schwierigkeitsgraden, die Sie durch Hinzufügen oder Entfernen von Variablen und Einschränkungen an die Fähigkeiten des Bewerbers anpassen können.
Schaffen Sie einen guten Onboarding-Prozess. Onboarding ist eine Win-Win-Situation für das Unternehmen und die neuen Mitarbeiter. Die neuen Mitarbeiter erhalten eine wertvolle Schulung, und die Mentoren können mehr erledigen. Umgekehrt minimiert ein schlechter Onboarding-Prozess die Effektivität des Teams. Der produktive Output geht verloren, wenn ein neuer Mitarbeiter länger braucht, um sich einzuarbeiten. Die Qualität des Codes nimmt ab, wenn neue Teammitglieder Abstraktionen oder Tools missbrauchen oder wenn sie mit den Konventionen und Erwartungen des Teams nicht vertraut sind.
Lieblingszitat des Kapitels: „Vorstellungsgespräche mit neuen Kandidaten aus dem Ingenieurwesen können lästig sein. Es unterbricht die Produktivität und unterbricht unseren Tag. Es ist zeitaufwändig, Feedback zu den Kandidaten zu schreiben und die Nachbesprechung mit dem Team durchzuführen.“
WIE DIESES BUCH SOFTWAREENTWICKLERN GEHOLFEN HAT
„The Effective Engineer“ von Edmond Lau kann Softwareentwicklern helfen, indem es praktische Anleitungen und Strategien bietet, um ein effektiverer und effizienterer Ingenieur zu werden. Das Buch behandelt die Themen Zeitmanagement, Kommunikationsfähigkeiten, technische Fähigkeiten und Karriereentwicklung und konzentriert sich dabei auf umsetzbare Ratschläge und Beispiele aus der Praxis. Die Umsetzung der im Buch beschriebenen Strategien kann Softwareentwicklern helfen, ihre Produktivität zu verbessern, ihren Einfluss zu vergrößern und ihre Karriere voranzutreiben.