Autor: Ammar Najjar
44 Beiträge
Blog-Beiträge
Wenn KI-Memory nicht zwischen Tools mitwandert

Zusammenfassung KI-Memory hat mir geholfen, auf frühere Gespräche aufzubauen, aber das Wissen blieb auf die einzelnen Tools verteilt. Obsidian zeigte, was als gemeinsame Quelle möglich ist, während offengelegt wurde, wo das manuelle Übertragen des Kontexts noch Verbesserungsbedarf hat.
Ich nutze regelmäßig verschiedene KI-Tools, die jeweils unterschiedliche Aufgaben übernehmen. ChatGPT hilft mir dabei, Ideen zu entwickeln, Artikel zu schreiben, Texte zu überarbeiten und Erfahrungen zu reflektieren. Claude Code unterstützt mich bei einem großen Teil meiner technischen Arbeit, von der Untersuchung konkreter Probleme über die Planung von Implementierungen bis hin zur Bewertung von Architekturentscheidungen. Daneben nutze ich lokale KI-Modelle für persönliche Inhalte, die ich lieber auf meinem eigenen Rechner verarbeite.
Weiterlesen →Technische Führung: Ownership beginnt vor der Entscheidung

Zusammenfassung Zusammenfassungen tragen Entscheidungen, nicht das Urteil, das sie hervorgebracht hat. Die richtigen Menschen vor einer Entscheidung einzuladen verwandelt Präsenz in Zugang zu den Überlegungen und Zugang in Unabhängigkeit.
Eine Zeit lang habe ich Informationsfluss vor allem als Kommunikationsproblem betrachtet. Wenn in einer Architektur-, Betriebs- oder bereichsübergreifenden Diskussion etwas Wichtiges passiert ist, wollte ich sicherstellen, dass die relevanten Personen anschließend davon erfahren. Ich habe Entscheidungen zusammengefasst, Links geteilt und Notizen dort abgelegt, wo sie später auffindbar waren. Das hat Transparenz geschaffen, gleichzeitig wurde mir mit der Zeit eine Grenze dieses Ansatzes deutlich.
Weiterlesen →Wissen nutzbar halten: Was ich aus mehr als 1.000 Obsidian-Notizen gelernt habe

Zusammenfassung Mein Wechsel von Notion zu Obsidian gab mir eine dateibasierte Grundlage. Die Durchsicht von mehr als 1.000 Notizen zeigte mir, wie sich Tags, Metadaten, Links und Navigation mit der Sammlung weiterentwickeln müssen.
Vor Kurzem habe ich mir meinen Obsidian-Vault genauer angesehen, eine Sammlung, die im Laufe der Zeit stetig gewachsen ist. Er enthielt mehr als 1.000 Notizen und ergänzende Markdown-Dateien zu Büchern, Gesprächen, technischem Wissen, Entscheidungen und eigenen Texten. Dabei fand ich Tags mit überschneidenden Bedeutungen, Buchnotizen mit unvollständigen Metadaten, mehrere Entscheidungen in einer langen Datei und Navigationsseiten, die kaum mehr als eine Überschrift enthielten.
Weiterlesen →Technische Führung: Eine gute Impact Story braucht trotzdem eine messbare Richtung

Zusammenfassung Trennt lokalen Nutzen von erwarteter Bewegung. Fragt, was sich am Ergebnis ändern soll, und entscheidet mit offenen Augen, wenn die Antwort Lernen oder Risikoreduktion lautet.
In Planungsdiskussionen sehe ich häufig Vorschläge, die überzeugend wirken, weil sich ihr unmittelbarer Nutzen leicht beschreiben lässt. Ein Feature kann Reibung für Kunden reduzieren, einen Ablauf vereinfachen oder etwas ermöglichen, das vorher schwierig war. Solche Argumente sind sinnvoll, trotzdem kann eine wichtige Frage offenbleiben: Wie trägt diese Arbeit zu dem übergeordneten Ziel bei, das wir erreichen wollen?
Weiterlesen →Technische Führung: Aus einer Meinungsverschiedenheit eine testbare Entscheidung machen

Zusammenfassung Lange Debatte durch einen kleinen Spike ersetzen: erst die Kriterien vereinbaren, dann die Belege gemeinsam prüfen, dann entscheiden.
Vor Kurzem war ich in einer technischen Diskussion, die sich zunehmend um denselben Punkt drehte. Wir überlegten, wie wir einen Teil einer Frontend-Anwendung strukturieren sollten, und hatten zwei Ansätze, für die es jeweils gute Argumente gab. Der eine versprach eine klarere Trennung und eine konsistentere Struktur. Beim anderen stand die Sorge im Raum, dass wir diese Struktur mit zusätzlicher Indirektion bezahlen und spätere Änderungen dadurch schwerer nachvollziehbar machen würden.
Weiterlesen →Technische Führung: Trenne die Praxis von dem Problem, das sie lösen soll

Zusammenfassung Benennt zuerst Problem, Ergebnis und Rahmenbedingungen. Dann wird die vorgeschlagene Praxis eine Möglichkeit unter mehreren, und das Team kann das Problem behalten, auch wenn es die Lösung verwirft.
Mir ist kürzlich aufgefallen, wie schnell sich eine technische Diskussion auf eine bestimmte Praxis konzentrieren kann, obwohl ursprünglich ein ganz anderes Problem dahinterstand. In einem Teamgespräch ging es darum, ob wir Test-driven Development einführen sollten. Die Diskussion hätte leicht in den üblichen Austausch über TDD übergehen können: Vorteile, zusätzlicher Aufwand und die Frage, ob diese Arbeitsweise zum Team passt.
Weiterlesen →Technische Führung: Wenn die Entscheidung nicht mehr bei euch liegt

Zusammenfassung Helft, das Problem zu klären, und tretet dann zurück: Bringt Entscheider und Betroffene direkt zusammen, statt die Entscheidung hin und her zu tragen.
Ein Muster, auf das ich inzwischen stärker achte, zeigt sich dann, wenn ein Problem meine eigene Entscheidungsbefugnis verlässt. In technischer und organisatorischer Arbeit passiert das häufiger, als es zunächst wirkt. Jemand bringt ein Problem auf, ich helfe dabei, es zu präzisieren, hinterfrage Annahmen, sammle Kontext und versuche, die Situation voranzubringen. Irgendwann erfordert die offene Frage jedoch eine Entscheidung, zu der ich nicht befugt bin.
Weiterlesen →Mein lokales KI-Setup, sechs Monate später: 48 GB, Qwen3.8 und ein anderer Engpass

Zusammenfassung Sechs Monate nach dem 16-GB-Setup: 48 GB, ein Standard-27B-Modell, Splash-Inference in LM Studio und 64K Kontext, weil sich der Engpass vom Einpassen des Modells auf die Nutzbarkeit langer Agent-Sessions verschoben hat.
Vor einigen Monaten habe ich darüber geschrieben, wie ich auf einem MacBook Pro mit 16 GB Unified Memory ein brauchbares lokales KI-Setup für die Softwareentwicklung aufgebaut habe. Damals wurde fast jede Entscheidung durch den verfügbaren Arbeitsspeicher bestimmt. Ich experimentierte mit kleineren Modellen, begrenzte die Kontextgröße bewusst und suchte nach einer Kombination, die leistungsfähig genug für Entwicklungsaufgaben war und gleichzeitig genügend Ressourcen für IDE, Container, Browser und den Rest meiner Entwicklungsumgebung übrig ließ.
Weiterlesen →Technische Führung: Gib Autonomie einen zeitlichen Rahmen

Zusammenfassung Autonomie funktioniert, wenn das Team den Ansatz trägt und die Führungskraft das Ergebnis, die festen Rahmenbedingungen und den Review-Zeitpunkt explizit macht.
Ich habe festgestellt, dass Freiraum für Entscheidungen schnell unklar werden kann, wenn erwartetes Ergebnis und Zeitpunkt der Überprüfung nur implizit bleiben.
Weiterlesen →Mein lokales KI-Coding-Toolkit: Wie ich Agenten schnell und Token-effizient halte

Zusammenfassung Wie ich die Umgebung um KI-Coding-Agenten optimiere, um Token-Verschwendung zu reduzieren und Sessions effizient zu halten.
KI-Coding-Agenten sind fest in meinen täglichen Arbeitsablauf integriert. Ich nutze OpenCode und Claude Code für unterschiedlichste Aufgaben: vom Einarbeiten in unbekannte Codebasen und der Fehleranalyse bis hin zur Umsetzung von Änderungen, Code-Reviews und der Arbeit an architektonischen Fragestellungen.
Weiterlesen →ngrx-graph: Statische Analyse und Graph-Visualisierung für NgRx-Anwendungen

Zusammenfassung ngrx-graph scannt NgRx-Codebasen mittels AST-Parsing, löst Aliase sowie verschachtelte Actions auf und gibt fokussierte oder projektweite Action-Flow-Graphen in DOT/SVG aus. Ein einziger Befehl ersetzt stundenlanges manuelles Durchsuchen von Code.
Wenn Sie jemals eine Action durch eine umfangreiche NgRx-Codebasis verfolgt haben und sich fragten, welcher Effect darauf hört, welcher Reducer sie verarbeitet und ob ein anderer Effect im Hintergrund eine weitere Action in der Kette auslöst, kennen Sie das Problem. Das manuelle Durchsuchen des Codes funktioniert so lange, bis es an seine Grenzen stößt. Ein einziger verpasster dispatch()-Aufruf, der tief in einem mergeMap vergraben ist, und Ihr mentales Modell bricht zusammen.
Weiterlesen →Wie ich Cloudflare für meine Website konfiguriere

Zusammenfassung Systematische Überprüfung jeder Cloudflare Free-Plan-Einstellung, was aktiv bleibt, was deaktiviert wird und die Prinzipien hinter jeder Entscheidung.
Wenn Sie heute Ihr Cloudflare-Dashboard öffnen, finden Sie dort eine Vielzahl von Funktionen zur Verbesserung von Leistung, Sicherheit und Zuverlässigkeit. Einige sind standardmäßig aktiviert, andere werden empfohlen, und im Zuge der Weiterentwicklung der Plattform kommen regelmäßig neue Möglichkeiten hinzu. Angesichts der Fülle an Optionen wollte ich genauer verstehen, wie sich die einzelnen Einstellungen auf meine Website auswirken.
Weiterlesen →Wie diese Website funktioniert: Ein technischer Blick auf den Stack

Zusammenfassung Eine vollständige technische Übersicht, wie diese Website aufgebaut ist, vom Bun + Astro Content-Pipeline bis zum Cloudflare-Deployment, minimalem JavaScript und Performance-Optimierungen.
In einem Begleitartikel habe ich darüber geschrieben, warum ich diese Website mit Astro neu gebaut habe und wie diese Entscheidung zu einem viel größeren Projekt wurde. Jener Artikel handelte von der Reise und den Überlegungen. Dieser hier handelt vom Ergebnis: Wie die Website tatsächlich funktioniert, von der Schicht, auf der ein Beitrag geschrieben wird, bis zu dem Moment, in dem er im Browser eines Lesers erscheint.
Weiterlesen →Ein Mittagsgespräch hat meine Website verändert

Zusammenfassung Wie ein beiläufiges Mittagsgespräch zum Neubau dieser Website mit Astro führte, den gesamten Stack modernisierte und sie als persönliche digitale Werkstatt statt traditionellem Portfolio neu dachte.
Einige der spannendsten Projekte, an denen ich gearbeitet haben, begannen in überraschend alltäglichen Momenten. Ein Gespräch führt zu einer neuen Idee, jemand teilt eine Erfahrung aus seiner Arbeit, oder ich stoße auf einen anderen Ansatz für ein vertrautes Problem. Das Gespräch endet irgendwann, alle kehren zu ihrer täglichen Arbeit zurück, doch eine kleine Idee bleibt weiter in meinen Gedanken. In den folgenden Tagen wächst diese Idee langsam zu Dokumentation, Notizen, Experimenten und gelegentlich zu einem völlig neuen Projekt zurück. Wenn ich zurückblicke, kann ich viele meiner liebsten Lernerfahrungen genau auf solche Momente zurückführen, und der Neubau meiner persönlichen Website wurde eine weitere dieser unerwarteten Reisen.
Weiterlesen →Angular AI in echten Projekten sinnvoll einsetzen

Zusammenfassung KI-Tools sind gut im Generieren von Code, aber echte Angular-Projekte gelingen nur, wenn man ihnen reichen Projektkontext, Architekturgrenzen und Konventionen mitgibt.
KI kann eine Komponente erzeugen, einen Test schreiben oder einen Compilerfehler erklären. In realen Anwendungen hängen die Ergebnisse jedoch deutlich stärker vom Projektkontext als von den Fähigkeiten des Modells ab. Sie kennt weder eure Architektur noch eure Konventionen oder die Grenzen, die über Jahre entstanden sind.
Weiterlesen →Jede Kamera erzählt eine Geschichte

Zusammenfassung Eine persönliche Reflexion darüber, wie Kameras unsere Fotografie, Kreativität und die Geschichten formen, die wir durch Bilder erzählen.
Ab und zu ertappe ich mich dabei, wie ich mir neue Kameras ansehe. Ich öffne einen weiteren Testbericht, vergleiche ein weiteres Datenblatt oder sehe mir an, wie ein Fotograf erklärt, warum die diesjährige Kamera besser ist als die letztjährige. Es beginnt immer mit einer einfachen Neugier, und bevor ich es merke, sind Stunden vergangen. Irgendwo zwischen Vergleichsvideos, Fotografie-Foren und Gebrauchtanzeigen ertappe ich mich dabei, wie ich mir vorstelle, eine andere Kamera zu besitzen.
Weiterlesen →Neun Jahre auf GitHub Pages, warum ich endlich zu Cloudflare gewechselt bin

Zusammenfassung Warum ich diese Website nach fast zehn Jahren von GitHub Pages zu Cloudflare migriert habe, inklusive Migrationsprozess, Herausforderungen und entdeckter Kompromisse.
Fast neun Jahre lang war meine Website auf GitHub Pages zu Hause. Kostenlos, zuverlässig, nahezu wartungsfrei. Warum also der Umzug? Der Wechsel zu Cloudflare Pages warf einige Fragen auf. Dieser Beitrag zeigt, was mich zu diesem Schritt bewogen hat, wie die Migration ablief, welche Probleme dabei auftraten und welche Erkenntnisse ich daraus gewonnen habe.
Weiterlesen →Lokale KI auf einem MacBook Pro mit 16 GB RAM: Was wirklich funktioniert
Zusammenfassung Praktischer Leitfaden zum Ausführen lokaler KI-Coding-Assistenten auf einem 16 GB M1 MacBook Pro, was gut funktioniert, was nicht und die echten Kompromisse beim Setup.
Lokale KI-Coding-Assistenten klingen verlockend: keine API-Kosten, Code bleibt auf der eigenen Maschine, und das Ganze kostenlos. Aber ein Setup, das auf einem 16-GB-MacBook-Pro-M1 wirklich gut läuft, erfordert mehr Trial and Error, als die meisten Guides zugeben.
Weiterlesen →Essentielle Entwicklungswerkzeuge: Mein Brewfile Setup
Zusammenfassung Meine kuratierte Liste essenzieller macOS-Entwicklungswerkzeuge via Homebrew, die die tägliche Produktivität und Workflow-Freude deutlich steigern.
Der Werkzeugkasten prägt, wie wir als Softwareentwickler arbeiten und was wir erreichen können. Im Laufe der Zeit habe ich mir eine Sammlung essenzieller Tools aufgebaut, die meine Produktivität steigern und die Entwicklung angenehmer machen. Hier ist mein Homebrew-Setup mit den Werkzeugen, die ich täglich nutze.
Weiterlesen →Portfolio, ein leichter persönlicher Portfolio-Tracker
Zusammenfassung Dieser Beitrag erklärt Design und Implementierung eines einfachen browserbasierten Portfolio-Trackers mit React, TypeScript und Vite inklusive Anforderungen, Herausforderungen und Lösungen für State-Handling, Caching und Charts.
Dieser Beitrag beschreibt Design und Implementierung eines browser-first Portfolio-Trackers. Im Fokus: Anforderungen, die Herausforderungen während der Entwicklung und wie die finale Lösung diese adressiert, mit Code-Snippets zu Zustandsverwaltung, Caching und Diagramminteraktion.
Weiterlesen →Git-Befehle meistern: Ein praktischer Leitfaden
Zusammenfassung Eine praxisnahe Auswahl essenzieller Git-Befehle, die Entwicklern helfen, Änderungen effektiver zu verfolgen, reibungslos zusammenzuarbeiten und die Projekthistorie sicher zu verwalten.
Git ist unverzichtbar für die Versionskontrolle: Änderungen nachverfolgen, effektiv zusammenarbeiten, Projektverwaltung. Die schiere Bandbreite an Funktionen kann überwältigen, aber wer die Schlüsselbefehle versteht, vereinfacht seinen Workflow enorm. Dieser Artikel stellt eine Auswahl praktischer Git-Befehle vor und erklärt, was sie tun, wie man sie einsetzt und wann sie am effektivsten sind.
Weiterlesen →Angular - Content Projection
Zusammenfassung Content Projection in Angular ermöglicht flexible und wiederverwendbare Komponenten, indem Inhalte aus Elternkomponenten in Kindkomponenten eingefügt werden können.
Content Projection erlaubt in Angular, eine Komponente in eine andere einzufügen. Das verändert, wie Angular-Entwickler ihre Anwendungen und Bibliotheken gestalten: hin zu flexiblen, wiederverwendbaren Komponenten, eine Grenze, die ich erneut betrachte, wenn ich Angular AI in echten Projekten zum Laufen bringe.
Weiterlesen →Reactjs: Arrays in jsx
Zusammenfassung Kurzer Tipp zur Verwendung von JavaScript array.map zum Rendern dynamischer Elementlisten in JSX statt hartcodierten Wiederholungen, für saubereren und wartbareren React-Code, wie im Tic-Tac-Toe-Beispiel gezeigt.
Als ich vor einigen Monaten das Reactjs Tutorial ausprobiert habe, ist mir aufgefallen, dass im offiziellen Startercode dieselben div-Elemente in der Methode render() wiederholt werden. Falls sich am Quellcode etwas ändert, liste ich ihn hier auf:
Weiterlesen →Fetch mit Gitlab API
Zusammenfassung Python-Skript, das die GitLab-API mit einem Private Token nutzt, um automatisch alle zugänglichen Repositories zu klonen oder zu fetchen, mit JSON-Konfiguration und sowohl argparse- als auch Config-File-Variante.
Ich verwende gitlab und habe viele Repositories, die ich täglich oder sogar mehr als einmal pro Tag verfolgen muss. Es war erstens sehr ermüdend, alle diese Repositories zu klonen, wenn ich meinen Arbeitsrechner wechsle, und zweitens, all diese Repositories aktuell zu halten. Aus diesem Grund begann ich, ein Automatisierungsskript zu schreiben, um die langweiligen Aufgaben von meinen Schultern zu nehmen.
Weiterlesen →PyConDe & PyData 2019
Zusammenfassung Persönlicher Tagebuchstil-Rückblick auf den Besuch von PyConDE und PyData 2019 in Berlin mit Keynotes, Talks, Tutorials, Sprint-Tagen und persönlichen Highlights wie Treffen mit Core-Developern und Beitrag zu Bokeh.
Ich bin gerade von PyConDe & PyData-2019 zurückgekommen und möchte meine Erfahrungen dort festhalten. Das hier ist eher ein Tagebuch als ein Blog, in dem ich über folgendes berichte:
Weiterlesen →RxJS Serie - Observables
Zusammenfassung Einführung in RxJS Observables, die Kernkonzepte von Observer und Subscriber sowie wie man sie von Grund auf oder mit hilfreichen statischen Methoden wie of, range, interval, timer, from, fromEvent und create erstellt, mit praxisnahen Code-Beispielen.
RxJS (auf Github) ist eine Bibliothek für reaktive Programmierung in Javascript, und in dieser Serie möchte ich meinen Weg des Lernens mit euch teilen.
Weiterlesen →Benutzerdefinierte Selenium Webdrivers mit Decorators
Zusammenfassung Lerne, wie du dynamisch eigene Selenium WebDriver-Klassen für verschiedene Browserversionen mit Python-Decoratoren und Klassen-Factories erstellst, um Tests mit mehreren Firefox- und Chrome-Binaries parallel auszuführen.
Wie erstellt man dynamisch benutzerdefinierte Selenium WebDriver-Klassen mit einem parametrisierten Browser-Binary-Pfad?
Weiterlesen →Fedora23 Upgrade (unbenanntes Home)
Zusammenfassung Schnelle Lösung für das SELinux-Labeling-Problem nach Upgrade auf Fedora 23 oder 24, bei dem das Home-Verzeichnis unlabeled wird und der Login verhindert, einfach sudo restorecon -R /home ausführen.
Als ich versucht habe, von fedora23 auf fedora24 zu aktualisieren, hatte ich das Problem, dass das home-Verzeichnis seine Beschriftung verloren hat:
Weiterlesen →Vim aus den Quellcode kompilieren
Zusammenfassung Schritt-für-Schritt-Anleitung und Bash-Skript zum Bauen der neuesten Vim-Version aus dem Quellcode auf Fedora mit aktivierten Huge-Features inklusive Python3-, Ruby-, Lua-, Perl-Unterstützung und GUI für volle Funktionalität.
Viele Male, wenn ich vim verwenden möchte, das im Haupt-Repo jeder Linux-Distribution enthalten ist, stelle ich fest, dass ihm eine Art Unterstützung fehlt, sei es Python oder Client-Server-Modus oder eine andere Funktion. Deshalb muss ich es manuell aus den Quellen kompilieren und installieren. Das resultierende Setup habe ich später Stück für Stück in meinem Vimrc-Abenteuer dokumentiert.
Weiterlesen →Einrichtung des Lwa4p Roboterarms
Zusammenfassung Schritt-für-Schritt-Anleitung mit Bash-Skript zur Einrichtung des Schunk LWA4P-Roboterarms auf ROS Indigo mit ESD-CAN-Karte inklusive CAN-Interface-Konfiguration, MoveIt-Integration und Troubleshooting-Tipps zum Initialisieren und Bewegen des Arms.
Während meiner Experimente mit dem Powerball Lightweight lwa4p Roboterarm von Schunk hatte ich viele Schwierigkeiten, ihn mit moveit in Bewegung zu setzen. In diesem Beitrag teile ich diese Erfahrung.
Weiterlesen →Abenteuer durch meine vimrc (nvimrc)
Zusammenfassung Detaillierter Rundgang durch nützliche Konfigurationen, Mappings und Anpassungen in der vimrc/init.vim des Autors, von allgemeinen Einstellungen über Plugins und Statuszeile bis zu produktivitätssteigernden Tricks für Vim und Neovim.
In diesem Beitrag werde ich Sie auf ein Abenteuer in meiner früheren vimrc und derzeitigen init.vim mitnehmen, die ich über die letzten Jahre durch die Nutzung von vim dann neovim gesammelt habe. Ich werde die Funktion oder den Feature erklären und dann die Konfigurationen oder den Code angeben, der in die Datei vimrc (init.vim) eingefügt werden sollte, um dieses Feature zu aktivieren.
Weiterlesen →OpenCV auf OpenShift
Zusammenfassung Dieser Beitrag liefert ein Bash-Skript und schrittweise Anleitungen zur erfolgreichen Installation von OpenCV in einem Python-2.7-Cartridge auf OpenShift Online unter Umgehung der strengen 1-GB-Quota-Beschränkung.
Als ich OpenCV auf meinem Python-2.7 OpenShift Online Cartridge installieren wollte, stieß ich auf das Problem der Kontingentbegrenzung auf 1 GB.
Weiterlesen →
Lesenotizen
Don’t Wait, Lead Now

Zusammenfassung Jim Lord nutzt Geschichten aus seiner Karriere, um Initiative, die Entwicklung anderer und Verantwortlichkeit zu betrachten. Am nützlichsten finde ich, Verantwortung dort zu übernehmen, wo ich helfen kann, anderen Raum zum Wachsen zu geben und nach der Übergabe einer Entscheidung weiter engagiert zu bleiben.
Jim Lord vertritt in Warte nicht, übernimm jetzt Führung die Auffassung, dass Führung schon beginnen kann, bevor jemand eine formale Führungsrolle oder die passende Gelegenheit bekommt. Er schöpft aus mehr als dreißig Jahren Erfahrung im Management und erzählt von Menschen, die seine Laufbahn geprägt haben, von schwierigen Entscheidungen und von kleinen Handlungen mit langfristiger Wirkung.
Weiterlesen →Der Toyota-Weg

Zusammenfassung Der Erfolg von Toyota basiert auf einer Führungsphilosophie, die Probleme sichtbar macht, Qualität in den Prozess einbaut, Menschen entwickelt und sich ausgehend von einer stabilen Basis kontinuierlich verbessert.
Für Ingenieure liest sich Der Toyota-Weg (Jeffrey K. Liker, 2004) weniger wie die Geschichte eines Automobilherstellers, sondern eher wie ein Leitfaden für den Aufbau und die Optimierung von Systemen. Begrenzung der parallelen Arbeiten (WIP-Limits), Anhalten bei Qualitätsmängeln, Entwicklung von Mitarbeitern statt reiner Aufgabenverteilung, gründliches Verstehen eines Problems vor dem Vorschlagen von Lösungen sowie die kontinuierliche Verbesserung des Gesamtsystems: All diese Konzepte lassen sich erstaunlich direkt auf Software Engineering und technische Führung übertragen.
Weiterlesen →Rich Dad Poor Dad

Zusammenfassung Die Reichen arbeiten nicht für Geld; sie lassen Geld für sich arbeiten. Wohlstand entsteht durch finanzielle Bildung und den Aufbau von Vermögenswerten, nicht durch ein höheres Gehalt.
Rich Dad Poor Dad von Robert T. Kiyosaki und Sharon L. Lechter ist eines der meistverkauften Finanzbücher aller Zeiten. Es wurde in 51 Sprachen übersetzt und ist Teil einer Buchreihe, die weltweit über 30 Millionen Mal verkauft wurde. Das Buch erzählt die Geschichte zweier Vaterfiguren in Kiyosakis Leben: seines hochgebildeten, aber mit finanziellen Schwierigkeiten kämpfenden leiblichen Vaters und des ungebildeten, aber wohlhabenden Vaters seines besten Freundes Mike, der zu seinem finanziellen Mentor wurde und als einer der reichsten Männer Hawaiis starb. Aus diesen gegensätzlichen Beispielen leitet Kiyosaki sechs Lektionen über Geld, Vermögenswerte und die Denkweise ab, die Wohlhabende vom Rest der Gesellschaft unterscheidet.
Weiterlesen →Raum schaffen

Zusammenfassung Raum zu schaffen, statt ihn zu füllen, ist eine neuartige Herausforderung der Menschheit und zugleich die Basis für Entwicklung. Schützen Sie Zeit für Reflexion, verbinden Sie sich mit Ihren Emotionen und Mitmenschen, planen Sie vor dem Handeln und halten Sie Raum für Ihren Lebenssinn frei.
Derek Draper hat über zehn Jahre lang Top-Manager der FTSE-100-Unternehmen begleitet und gecoacht. In Create Space (2018) bündelt er seine Erfahrungen in einer zentralen Kernthese: Die moderne Herausforderung besteht keineswegs darin, verfügbare Zeiträume vollständig auszufüllen, sondern darin, gezielt Freiräume zu schaffen. Menschliche Geschichte war jahrhundertelang von Expansion und Verdichtung geprägt. Heute stehen wir erstmals vor dem Problem dauerhafter Überlastung und voller Terminkalender. Echter Fortschritt und persönliche Reifung gelingen nur noch durch bewusstes Innehalten. Draper gliedert sein Konzept in vier Dimensionen, Denken, Verbinden, Handeln und Sein, und untermauert sie mit praktischen Werkzeugen aus seiner Coaching-Praxis, von strukturierter Reflexion bis zum wöchentlichen Treffen mit sich selbst.
Weiterlesen →Wie Google funktioniert

Zusammenfassung Stelle Smart Creatives ein, die klüger sind als du, organisiere Teams um leidenschaftliche Wirkung statt um Hierarchie, teile Informationen statt sie zu horten, und behandle Scheitern als Auszeichnung. Genau diese Kultur, nicht der Businessplan, verzinst sich langfristig.
Google wurde 1998 von zwei Stanford-Doktoranden, Larry Page und Sergey Brin, gegründet: ohne formelle betriebswirtschaftliche Erfahrung und ohne MBA-Lehrbuch. Dieses Buch erzählt aus erster Hand, was danach geschah, geschrieben von Eric Schmidt, Googles CEO von 2001 bis 2011, und Jonathan Rosenberg, dem langjährigen Leiter der Produktentwicklung. Ihre These ist unmissverständlich: Das alte Befehls- und Kontrollmanagement überlebt das Tempo moderner Innovation nicht. Der einzige nachhaltige Weg besteht darin, ein Unternehmen um "Smart Creatives" aufzubauen, um kompromissloses Einstellen und um eine Kultur, die Ingenieure ins Zentrum jeder Entscheidung stellt. Wer wissen will, warum Google so funktioniert, wie es funktioniert, bekommt hier die Antwort von denen, die es so gemacht haben.
Weiterlesen →Schnelles Denken, langsames Denken

Zusammenfassung Unser Verstand nutzt zwei Systeme: Das schnelle, automatische System 1 und das langsame, bedachtsame System 2. Die Abkürzungen von System 1 führen zu systematischen Denkfehlern; diese zu erkennen ist der erste Schritt zu besserem Denken.
Daniel Kahneman, der Psychologe und Nobelpreisträger für Wirtschaftswissenschaften des Jahres 2002, widmete sein Leben der Erforschung menschlicher Entscheidungsprozesse, einen Großteil davon gemeinsam mit seinem langjährigen Weggefährten Amos Tversky. Schnelles Denken, langsames Denken bündelt diese Forschung zu einer eindrucksvollen Reise durch unsere kognitive Architektur. Es liefert die Sprache, um zu verstehen, warum unser Denken so oft unbemerkt von Voreingenommenheiten gesteuert wird. Die zentrale Erkenntnis lautet: Das menschliche Urteilsvermögen ist auf vorhersehbare Weise fehlerhaft. Sobald man die kognitiven Abkürzungen durchschaut, kann man beginnen, sie gezielt zu korrigieren.
Weiterlesen →The Five Dysfunctions of a Team

Zusammenfassung Teams scheitern an fünf miteinander verbundenen Dysfunktionen: fehlendes Vertrauen, Scheu vor Konflikten, fehlendes Engagement, Scheu vor Verantwortung und fehlende Ergebnisorientierung. Behebe sie von unten nach oben, beginnend mit verletzlichkeitsbasiertem Vertrauen.
Patrick Lencioni, der amerikanische Unternehmensberater und Gründer der Table Group, schrieb Die 5 Dysfunctions of a Team als Führungsfabel: ein kurzer Roman, der diagnostiziert, warum hochqualifizierte Gruppen so oft unterdurchschnittlich abschneiden, erzählt anhand einer angeschlagenen Start-up-Firma im Silicon Valley und ihrer neuen CEO. Das Buch identifiziert fünf miteinander verbundene Dysfunktionen, fehlendes Vertrauen, Scheu vor Konflikten, fehlendes Engagement, Scheu vor Verantwortung und fehlende Ergebnisorientierung, und jede davon fließt aus der darunterliegenden.
Weiterlesen →Atomic Habits

Zusammenfassung Kleine, konsequente Gewohnheiten ergeben bemerkenswerte Ergebnisse. Systeme sind besser als Ziele, identitätsbasierte Veränderung ist der Schlüssel.
In seinem Buch „Atomic Habits" beschreibt James Clear die Prinzipien der Gewohnheitsbildung und Verhaltensänderung. Er erzählt von seiner persönlichen Genesung nach einer schweren Verletzung, die ihn zu der Erkenntnis führte, dass bedeutende Fortschritte aus einer Reihe kleiner, konsequenter Handlungen entstehen, nicht aus einzelnen transformativen Ereignissen. Clear stellt die „Vier Gesetze der Verhaltensänderung" vor: Gewohnheiten offensichtlich, attraktiv, einfach und befriedigend machen. Er betont die Bedeutung von Systemen gegenüber Zielen und zeigt, wie Umgebungsgestaltung, sozialer Einfluss und sofortige Belohnung eine entscheidende Rolle beim Aufbau und Erhalt von Gewohnheiten spielen. Letztlich argumentiert er, dass wahre Identitätsveränderung der Nordstern der Gewohnheitstransformation ist.
Weiterlesen →Der Pragmatische Programmierer, 20. Jubiläumsausgabe

Zusammenfassung Zeitlose Software-Handwerksprinzipien: Broken Windows, DRY, Tracer Bullets und Entkopplung. Ein Muss für jeden Entwickler.
- Autoren: David Thomas, Andrew Hunt
Weiterlesen →Buchbesprechung: Introduction to Python for Science and Engineering
Zusammenfassung Kompakte, praktische Python-Einführung für Wissenschaftler und Ingenieure mit NumPy, SciPy, Matplotlib und Pandas plus Jupyter-Beispiele.
- Autor: David J. Pine
Weiterlesen →Buchbesprechung: Python Descriptors
Zusammenfassung Erklärt Pythons Descriptor-Protokoll mit praktischen Beispiele. Zwei Teile: eingebaute Descriptors und benutzerdefinierte Descriptors.
- Autor: Jacob Zimmerman
Weiterlesen →Buchbesprechung: Python Tricks, The Book
Zusammenfassung Praktischer Leitfaden für mehr Pythonic-Code: Assert-Muster, Dunder-Methoden, *args/**kwargs, Datenstrukturen und Loop-Idiome.
- Autor: Dan Bader
Weiterlesen →