
Neueste Beiträge
Hier finden Sie meine aktuellsten Gedanken zu Software Engineering, Teamführung und technischen Themen.
Hier finden Sie meine aktuellsten Gedanken zu Software Engineering, Teamführung und technischen Themen.
Vor längerem bin ich über dieses Beispiel in unserem Code gestolpert. Aufgabe dieser Methode ist es eine Konfiguration auszulesen und (weil als String in der DB) in ein BigDecimal umzuwandeln. Tatsächlich versteckt sich hier eine Falle, da der Code davon ausgeht, dass immer ein Wert vorhanden ist (Optional.get()). Eine NoSuchElementException wird ebenfalls ignoriert. Da wir in diesem Programm viele tausend Belege täglich verarbeiten wollen, stellt sich jetzt die Frage, wie wir damit umgehen, wenn dieser (erwartete) Konfigurationswert doch fehlt. Ist unsere Anwendung dann in der Lage sich schnell und schmerzfrei von diesem Fehler zu erholen? ...
Heute hatten wir unsere regelmäßige Führungsklausur, an der ich teilnehmen durfte. Im ersten Workshop ging es um das Thema Mitarbeiterzufriedenheit. Unter anderem ging es auch um Mitarbeitergespräche. Ein guter Anlass für mich, mein Lieblingswerkzeug, die Manager Tools One On Ones (MTO3s) zu beschreiben. Kennengelernt habe ich es 2013 im Manager-Tools-Podcast, als ich meine erste Position als Führungskraft übernommen habe und mich vorbereiten wollte. Das Konzept Nur, wer die Menschen im Team wirklich kennt, kann gut führen. Um dies zu erreichen ist ein regelmäßiger Austausch unerlässlich. Den Ablauf und die Frequenz des Austauschs wurden laut Mark Horstmann (in seinem Buch The Effective Manager), in vielen Versuchen ermittelt, welche zu folgenden Empfehlungen führen: ...
Heute morgen hat mich ein Artikel von Imran Abbas motiviert, ein Kommentar zu verfassen. Habe Vertrauen in / Wisse um die eigenen Fähigkeiten Ich glaube, Souveränität hat viel mit den eigenen Kompetenzen zu tun. Ich kann nicht souverän sein, wenn ich mir darin nicht sicher bin. Umgekehrt ist es meiner Meinung nach eine Möglichkeit zu erkennen, wo man noch nacharbeiten muss. In meiner Zeit als Dozent gab es Themen, da konnte ich souverän in die Vorlesung gehen und war “auf jede” Frage vorbereitet (auch wenn ich die Antworten nicht immer wusste). War ich aber unsicher vor der Vorlesung, wusste ich, hier habe ich selber noch Lücken, die es dringend zu füllen gilt, was dann unweigerlich zu langen Nachtschichten führte 😀 ...
Vor ein paar Wochen habe ich mich mit anderen Führungskräften zum Thema Schatten IT ausgetauscht. Zugegeben, ich war eher Konsument und habe der Diskussion gelauscht. Heute bin ich wieder an die Thematik erinnert worden. Im Gespräch mit einem Kollegen aus der Technik ging es um die Bereitstellung von selbst erstellten Debian-Paketen in einem interne Debian-Repo-Server. Aktuell ist es technisch nicht möglich, da es noch keine Lösung gibt, diese Pakete ohne manuellen Eingriff zu signieren. ...
Basierend auf einer Entdeckung in einem unserer Projekte habe ich eine spannende Diskussion mit zwei KollegInnen im Team geführt. Im Code wurde if (optional.isPresent()) { verwendet, um dann mit optional.get() den Wert zu verwenden. Mein Vorschlag, besser ifPresent(...) zu verwenden, führte dann zu den erwähnten Diskussionen. Zur Verdeutlichung habe ich nachfolgend eine vereinfachte Version beider Möglichkeiten: class Scratch { public static void bad() { var optional = Optional.of("ABC"); if (optional.isPresent()) { System.out.println(optional.get()); } } public static void good() { var optional = Optional.of("ABC"); optional.ifPresent(value -> { System.out.println(value); }); } } isPresent() wurde, meinen Recherchen zufolge, dafür konzipiert, dem Nutzer von Optionals eine Möglichkeit zu geben, auf das Vorhandensein zu reagieren, ohne unbedingt den tatsächlichen Wert zu benötigen. ...