= NOTIZEN ZU "Zeitmanagement für Systemadministratoren" =
(von Thomas A. Limoncelli; verschienen im Verlag O'Reilly)
Kann man das Leben kompilieren?
Idee der Compiler: Vorarbeit leisten, damit es dann schneller geht (ist auf das Leben übertragbar)
Zitat: "Sysadmins haben Probleme damit Prioritäten zu setzen"
Planung/Verwaltung zentral halten und großes Vertrauen darauf legen (nur 1 "Datenbank" verwenden)
Intellekt für Wichtiges sparen
nur auf eine Sache konzentrieren und diese dafür mit voller Konzentration
das restliche Denken übernimmt die ToDo-Liste auf die man sich verlassen kann
Gehirn -> Single-User-System
Organizer -> Multi-User-System
Request-Tracker-Datenbank verwenden
Routinen entwicklen und Codebibliotheken verwenden
1mal programmieren; 10mal verwenden
oft sinnvoller konkreten/regelmäßigen Termin ausmachen als jedes Mal neu kontaktieren
zB Chef 1mal die Woche treffen statt "zusammen telephonieren"
Gewohnheiten/Mantras entwickeln
= Faustregeln, die uns in bestimmten Situationen einen Leitfaden geben
zB "Je früher desto besser"
"Vertraue dem Prozess"
Routinen sind wichtiger als die Situation
aufs Wesentliche konzentrieren
ähnlich wie Prozesse im Hauptspeicher um Ressourcen kämpfen (vor allem zeitkritische Aufgaben)
Zitat: "Niemand wird sich mit den letzteb Worten 'Gott, ich wünschte, ich hätte mehr Zeit im Büro verbracht' aus dieser Welt verabschieden."
"Wer wagt, gewinnt"
wie beim Poker; wichtig: viel Selbstachtung haben
"Unterbrechungen sind der natürliche Feind der Konzentration. Sie stehlen uns, direkt oder indirekt, Zeit"
Sysadmins müssen mit ihnen gut umgehen können
Konzentration spielt sich im "vorderen Gehirnteil" ab
wichtig ist auch eine gute Arbeitsumgebung (3teiliges Büro-Aufräum-Mantra)
Zitat: "Two things that have added to my productivity: a significant reduction in playng computer games and staying off IM when I need to get work done" (Victor Raymond)
Multitasking
* Aufgabe XY = multitaskingfähig?
-> nur ISO brennen, großes Backup, ... (anderes machen während gebrannt wird)
* Stress & Schlaf
* virtueller Window Manager
-> Fenster im gleich/puristisch organisieren
-> mehrere Aufgaben = mehrere Fenster
Die 1. Stunde-Regel: In der ersten Stunde vor/am Arbeitstag ist es am ruhigsten; verwende sie für Projekte != Mails/RSS lesen, ...
"unterbrechungsgesteuert"
Umgang mit Kunden:
Wünsche entgegen nehmen = visuell & verbal bestätigen
Delegieren, erfassen oder handeln
Zitat: "Routinen geben uns die Möglichkeit etwas einmal zu durchdenken und dann vieles zu tun"
Vergiss wieso du eine Routine entwickelt hast. Wenn der Grund wichtig ist, schreibe ihn auf. Aber vergesse ihn und hebe deinen Gehirnschmalz für wichtiges auf.
Meine Philosophie: Lieber zu viel in die ToDo-Liste schreiben als zu wenig (wenn es dir selbst zu unübersichtlich ist, kannst du sie ja trotzdem noch "entmüllen")
Gute Hinweise:
Richtet man seine Routine nach einem Zeitplan, passen sich andere an.
Wenn es jeden Tag gemacht werden muss, mache es so früh wie möglich.
Nutze automatische Prüfungen, während du bestimmte Aufgaben durchführst.
Zitat: "I used to think that the brain is the most wonderful organ in my body. Then I remembered who was telling me this" (Emo Philips)
Zitat: "Schreibe dir alles auf. Geheimtinte kommt nur in Cartoons vor und mein Hund hat noch niemals meine HÜ gefressen" (Fazit: PAAs sind zuverlässig und verlasse dich darauf)
Frage: "Alles in ToDo-Liste aufschreiben". Was ist "alles"?
Zitat: "Stetig wachsende ToDo-Liste des Verderbens"
Anforderungen an eine ToDo-Liste:
* portabel
* zuverlässig
* überschaubar
Neben ToDo-Liste auch noch wichtig:
* Kalender
* Lebensziel-Liste
Immer/Täglich aktuell halten:
* ToDo-Liste
* Kalender
Meine Philosophie: Nicht jede Minute der Tagesplanung festlegen (zu unflexibel, wenn es nicht total stressig ist)
Meine Philosophie: Keine roman-artigen Beschreibungen zu ToDo-Listen-Punkte verfassen; stattdessen regelmäßig hinaufschauen, dann weiß man immer, was man mit dem ToDo-Listen-Punkt meint
Möglichkeiten bei Überlastung:
* Unwichtiges verschieben
* Aufteilen
* Verkürzen/Verkleinern
* Zeit (realistisch) schätzen
Bei großen Projekten auf ToDo-Liste/Kalender "konkretisieren"
"Meilenstein" + projektnamen notieren
konkretisieren = Großprojekte in lauter kleine Aufgaben aufteilbar sind. Die einzelnen Aufgaben haben ein konkretes, überprüfbares Resultat
zB "Fakultätsalgorithmus programmieren - python" statt "python lernen"
Lügen = Gehirn muss sich Lüge merken, damit keine Missverständnisse auftreten (viel zu ineffizient; Gehirnschmalz sparen; deshalb NICHT lügen! ;-) )
Wenn die Fertigbringung einer Aufgabe sinnvoll/möglich ist, sofort machen
Bestätigung, dass man eine Arbeit abgeschlossen hat, geht am besten schriftlich
Steige auf den Zyklus/Routine anderer ein und richte dich danach. Organisation wird dadurch leichter.
Chef sollte Karrierepläne kennen
Nur nach "oben" (= Chef) delegieren, wenn es die Befugnisse verlangen
Maßnahmen gegen Stress:
* Schlaf
* Yoga
* Massagen
* Meditation
Zeitfresser eliminieren
am besten immer Wecker parat halten und damit arbeiten (zB Aufgabe XY darf maximal 10 Minuten in Anspruch nehmen)
strategisch = langfristige Aufgaben
taktisch = mit Prozess verknüpft
strategische Projekte in Teilaufgaben teilen und die Aufgaben in Terminplaner grob festlegen
jeden Tag/Woche/Monat ein bisschen Zeit für strateg. Projekte einzuplanen
Don't fix symptoms (zB kaputten Wasserhahn reparieren statt den Boden zu "entwässern")
Zeitfresser = jede Aktivität deren Verhältnis von Nutzen zu aufgewandter Zeit gering ist
statt Effizienz eines Zeitfresser zu erhöhen - eliminieren
Wunschlisten erstellen (welche Filme man noch anschauen möchte, welche Bücher man liest, ...)
Zitat: "Eine gute IT-Infrastruktur ist das ultimative Zeitmanagement für den Systemadministrator"
Was alles automatisieren?
* einfach & häufig
* schwierig
* schwierig & häufig besser nicht automatisieren, sondern großes Produkt vom Markt verwenden
verwendete Befehle und Vorgehensweise für nächstes Mal dokumentieren
Ziele der Automatisierung:
* Reproduzierbarkeit / Wiederverwendebarkeit
* Skalierbarkeit
* fehlerfreie Ausführung
Automatisierung ersetzt die Notwendigkeit sich etwas Kompliziertes merken zu müssen, was nur selten getan werden muss.
Schritte zur Automatisierung:
1. Vorgangsweise überlegen
2. Aufschreiben
3. Schritt für Schritt realisierung und dabei schrittweise testen
bzw.
1. Schreibe mit der Hand auf
2. Kodiere Schritt für Schritt
3. Zusammenführen der Schritte
4. Alles zusammen testen
Tipps zur Anwendung von Kommandozeilen-Tools unter Linux:
cmd1; cmd2 cmd1 wird ausgeführt und danach cmd2
cmd1 | cmd2 übergibt Rückgabe von cmd1 an cmd2 (Stichwort Pipes)
cmd1 && cmd2 führt cmd2 nur aus, wenn cmd1 erfolgreich war
alias hilft beim Definieren von Tastenkürzeln
SSH erlaubt auch Kürzel zu definieren (~/.ssh/config); in Kombination mit alias sehr sinnvoll
Makefiles
aliases.db: aliases
newaliases
@echo Aliases aktualisiert
$ make aliases.db
newaliases
Aliases aktualisiert
In make-Block: $@ = steht hier variabel für "aliases.db"
mkisofs -D -l -J -F -L -f -P "Autoren Namen" -v "Disklabel" -copyright copyleft.txt -o disk.iso /folder/data/to_burn/
=== STICHWÖRTER AUF DIE MAN NÄHER EINGEHEN KANN ===
Request-Tracker-DB
Respositories
Make-Files
awk
=== UNIX-BEFEHLE ===
alias
at
awk
clean
crontab
head
leave
mkisofs
source (bzw. Punkt in der bash)
which
=== SHELLS ===
bash Bourne Again Shell
ksh Korn Shell
csh C-Shell
zsh Z-Shell
tcsh Tenex C-Shell
=== Die QUIZZES ===
Bevor ich das Buch zu lesen begann, habe ich mir zwei Aufgaben (spaßhalber) notiert. Und diese werde ich jetzt wohl erfüllen müssen und ich habe es halt bestmöglich versucht:
Notiere die grundlegenden Aussagen des Buches in 10 Punkten:
* Verwende eine gute ToDo-Listen-Organisation (PDA oder PAA) (du musst dich darauf verlassen können; somit ist sie Anlaufstelle für ALLES)
* Spare dir deinen Intellekt für wichtige Sachen auf
* Entwickle Gewohnheiten/Mantras und Routinen, um Denkschmalz zu sparen
* Andere werden sich nach dir richten, wenn du eine zeitbasierende Tagesplanung hast
* Gehe gut mit Unterbrechungen um; bzw. organisiere dich gut, damit du auch reine "Projektzeit" hast
* Lerne den Umgang mit deiner Arbeitsumgebung (virtueller Window Manager)
* Mache Ziele angreifenbar, plane sie und arbeite an ihnen (konkretisieren, Schritte in Kalender eintragen, Wunschliste)
* Entdecke Zeitfresser und mache sie effizienter oder eliminiere sie einfach
* Automatisiere Aufgaben die einfach & häufig und schwierige & selten sind
* Arbeite mit deinem Wissen und arbeite mit Codelibraries (erfinde das Rad nicht neu, welches du eh schon einmal programmiertest)
Notiere die Aussagen, die kontrovers zu seiner Organisation stehen bzw. die du verbessern möchtest:
* Die ToDo-Liste muss mobil sein (ist eine Textdatei auf meinem Rechner zuhause)
* Codebibliotheken (hängt davon ab welches Thema, aber bei Webseiten baue ich gerne alles von null weg nochmals)
* gute Arbeitsumgebung (habe ich zuhause nicht wirklich)
* Nicht jede Minute des Tages genau festlegen; flexibel halten (ist natürlich nur dann sinnvoll, wenn man den ganzen Tag über an großen Projekten arbeiten)
* Konkretisiere deine Großprojekte (zB "python lernen" habe ich jetzt von meiner ToDo-Liste gestrichen bzw. konkretisiert)
* Zeitfresser eliminieren (ich versuche zu oft sie effizient zu machen; nein manchmal ist nur mehr eliminieren sinnvoll)