Boehrsi.de - IT und Gaming Blog

I'm a coder - Doku Doku Doku

Erstellt am event 10.09.2020 - 09:00 Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Doku Doku Doku Bild

Dokumentationen sind wichtig und man sollte sie vor allem in professionellen Projekten mit größeren Teams sehr gut pflegen. Diesen oder einen ähnlichen Satz hört man als Entwickler häufiger und das mit Recht. Denn wie soll jemand neues Wissen wie ein Tool funktioniert oder wie man einen Release Build der App anstößt ohne etwas Dokumentation.
Also auch wenn Dokumentationen schreiben vielleicht nicht die dankbarste Aufgabe ist, in diesem Bereich der Softwareentwicklung ist ein gewisses Bewusstsein für derartige Dinge vorhanden.
Doch wie sieht es mit privaten Projekten aus, die man nebenbei baut und vielleicht als Prototyp liegen lässt? Hier gibt es meistens keine Dokumentation, keine weiteren Hilfen oder ähnliches. Dabei ist es egal ob das kleine Projekt ein Prototyp bleibt oder ob etwas aktiv Genutztes draus wird.

Rainbow Six Siege - Community Video

Erstellt am event 29.07.2020 - 11:30 Uhr von account_circle Boehrsi in label Gaming
Rainbow Six Siege - Community Video Bild

Es ist lange her das ich etwas auf meinem Youtube Kanal hochgeladen habe, aber es wurde mal wieder Zeit. Denn ich zocke bekanntlich mit einigen Freunden diverse Spiele und darunter auch Rainbow Six Siege. Hier sind wir als Team schon einige Jahre dabei, wenn auch nur Just for Fun.
In diesem Rahmen habe ich ein kleines Community Video erstellt, welches nun auf Youtube verfügbar ist. Ihr findet es direkt in dieser News, im unteren Teil oder aber über die Related Links. Es ist kein extrem umfangreiches Editing vorgenommen worden, allerdings wurde schon etwas Aufwand in Timing und Schnitt gesteckt, insofern hoffe ich es gefällt.

Related Links

LAN - Anstrengend aber immer gerne wieder

Erstellt am event 27.07.2020 - 18:30 Uhr von account_circle Boehrsi in label Gaming
LAN - Anstrengend aber immer gerne wieder Bild

Ein LAN-Wochenende liegt hinter mir, ein Event welches viele vielleicht für überflüssig halten, in Zeit von Gigabit Internet und Voice Servern, aber ich bin da absolut anderer Meinung. Vor allem für erwachsene Spieler, die sich um ihr Leben, ihre Arbeit, die Familie und all die anderen Dinge kümmern müssen, ist dies die Chance ein Wochenende lang wieder Kind zu sein. Wichtig ist dabei vor allem das Miteinander in der Gruppe, obgleich natürlich auch gezockt wird.
Aus diesem Grund versuchen wir einmal im Jahr eine kleine LAN unter Freunden zu veranstalten. Dort zocken wir unsere aktuellen Favoriten, neue kleine Fun-Games und natürlich die Klassiker. Es wird alles bunt gemischt, garniert mit sehr viel Trash-Talk und ungesundem Essen und vielleicht dem einen oder anderen Bier, schon hat man eine perfekte Mischung.
Es ist die Chance den Alltag für ein Wochenende zu den Akten zu legen, unkompliziert Spaß zu haben und dabei ordentlich zu zocken. Mal gewinnt man, mal verliert man, aber lachen kann man immer. Man merkt allerdings auch dass die benötigte Regenerationszeit nach einer LAN immer länger wird und ohne einen freien Montag bei mir wenig geht.
In diesem Kontext kann ich jedem der das Konzept LAN kennt und mag nur empfehlen derartige Traditionen zu erhalten, sie sind es definitiv wert. Falls ihr euch übrigens fragt was wir gezockt haben: Rainbow Six Siege, Counter Strike GO, Warcraft 3, Command and Conquer, Pummel Party, Escape from Tarkov und Rocket League waren unter anderem dabei.

I'm a coder - Das erste Mal Team-Lead

Erstellt am event 24.06.2020 - 19:30 Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Das erste Mal Team-Lead Bild

Über die letzten eineinhalb Jahre habe ich mein erstes professionelles Projekt geleitet und heute möchte ein kleines Fazit ziehen. Vielleicht ist für den einen oder anderen ein hilfreicher Tipp dabei oder vielleicht habt ihr Tipps, wie man in diesem Bereich noch besser werden kann. Über Kommentare freue ich mich wie gewohnt sehr.
Ich bin gerne ein Entwickler, soll heißen ich schreibe wirklich gerne Code, doch auf der anderen Seite koordiniere und plane ich tatsächlich auch recht gerne. Letztes ist glaub ich extrem wichtig wenn es darum geht ein Team und ein Projekt zu leiten. Denn sofern man keine Ambitionen in diesen Bereichen hat, sollte man lieber bei der reinen Entwicklung bleiben. Grund dafür ist die massive Verschiebung der Aufgaben und die entsprechend veränderte Zeitverteilung. Sofern einem dann der Verwaltungsteil gar nicht gefällt, wird man vermutlich schnell unzufrieden sein.
Wie erwähnt finde ich aber durchaus Gefallen daran und war froh mit dem genannten Team arbeiten zu dürfen. In Retrospektive denke ich damit steht und fällt generell alles, also ob das Team allgemein und menschlich funktioniert. Erst darauf kann man dann auf professioneller Ebene etwas aufbauen. Wir hatten das Glück das es passte und mit einer recht guten Wissensverteilung (2x Android, 2x iOS, 1x Testing) konnten wir eine Flutter App entwickeln, welche mit genügend Platform-Background versorgt wurde.

I'm a coder - Projekte richtig starten

Erstellt am event 18.06.2020 - 12:00 Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Projekte richtig starten Bild

Ich schreibe seit ca. 15 Jahren Software und seit 5 Jahren ist es mein täglicher Vollzeitjob Programme zu entwickeln. In dieser Zeit fallen einem verschiedene Dinge auf und man lernt extrem viel. Vor kurzem wurde ich von einem Kollegen, der gerade den Sprung von der Uni ins Berufsleben vorbereitet, gefragt wie ich Projekte angehe und Entscheidungen in der Starphase treffe. Während ich meine Ansichten und Ideen mit ihm teilte dachte ich mir, dies könnte auch ein gutes Thema für den Blog sein und hier sind wir nun.
Meiner Meinung nach ist der Anfang eines Projekts, noch bevor man überhaupt über die Architektur nachdenkt, einer der wichtigsten Momente. Denn ich denke man sollte ein Projekt initial mit der richtigen Plattform, Technik und Sprache aufziehen. Hier gibt es natürlich Limitierungen bezüglich dem eigenen Wissen oder dem Wissen des Teams, aber man muss z.B. nicht einen Blog, einen Shop, einen Hausbootverleih und eine Dinosaurierzucht mit Wordpress bauen. Natürlich bietet es um drei Ecken die Möglichkeiten, aber ihr nehmt ja wahrscheinlich auch keine Rohrzange, um damit Nägel in die Wände zu kloppen.
Soll heißen, nur weil man etwas tun kann, heißt dies nicht dass es gut oder gar der beste Weg ist. Hier gilt auch über den Tellerrand zu schauen und vielleicht die Chance zu nutzen und etwas Neues lernen. Dabei ist es mir sehr wohl bewusst, dass dies gerade im professionellen Umfeld durchaus kompliziert und nicht immer machbar ist. Doch einige Minuten des Nachdenkens zu investieren und vielleicht Vorschläge für neue und passende Ansätze zu unterbreiten dürfte selten falsch sein.

I'm a coder - Probleme mit der Software-Blackbox

Erstellt am event 05.06.2020 - 18:30 Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Probleme mit der Software-Blackbox Bild

Im Rahmen der Software-Entwicklung nutzt man oft Libraries, Tooling und andere Dinge die man selbst nicht komplett durchdringt. Dies ist zu bestimmten Teilen auch in Ordnung und an der Tagesordnung, doch manchmal ist eine Software-Blackbox ein extremes Problem.
Doch definieren wir erst einmal Blackbox. Für mich ist eine Blackbox im Software-Bereich eine Komponente, die man selbst nicht durchdringt und die nicht mit akzeptablem Zeitaufwand, aus welchen Gründen auch immer, verstanden werden kann. Gründe sind hier, auch wenn es sich um Open Source Software handelt, andere Programmiersprachen, zu komplexe Konzepte, fehlende Dokumentation oder ähnliches. Closed Source Software ist natürlich per-se eine Blackbox.

Wann ist eine Blackbox aber nun ein Problem? Meiner Meinung nach wenn sie grundlegende Konzept abstrahiert oder zu essentielle Abläufe übernimmt und dem Entwickler dabei nicht klar ist was wann passiert und warum. Nimmt man z.B. das Build-Tool Gradle open_in_new, so hätte man vielleicht eine Blackbox vor Augen. Diese funktioniert allerdings sehr gut, es gibt eine sehr umfangreiche Dokumentation und auch weitere Ressourcen sind vorhanden. Hier muss man also Vorsicht walten lassen bei Updates und ähnlichem, falls man nicht durchdringt was dies bedeuten könnte. Doch durch vorhandene Dokumentation kann man sich entsprechend und mit akzeptablem Zeitaufwand schlau machen. Insofern würde ich persönlich nicht von einer Blackbox reden, wenn es um Gradle geht.
Hat man nun aber ein derartig wichtiges Tool (z.B. für die Build-Toolchain) oder eine Library die grundlegende Funktionen der eigenen Software übernimmt (z.B. Netzwerk-Interaktionen oder die Implementierung von Protokollen) und eine derartige Informationsquelle ist nicht gegeben, kann man sich in große Probleme manövrieren.

I'm a coder - Ein Update schadet nicht, oder?

Erstellt am event 08.04.2020 - 20:30 Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Ein Update schadet nicht, oder? Bild

Lasst uns doch kurz noch das Framework / die Library aktualisieren. Ein Satz den sicherlich der eine oder andere Softwareentwickler schon häufiger von sich gegeben hat. Vermutlich auch kurz vor einem Release, selbst wenn man eigentlich weiß, dass das vielleicht riskant ist. Aber man testet ja, überprüft nochmal die bekannten Flows und eigentlich sieht ja alles ganz gut aus oder?
Nein, einfach nur nein. Auch wenn es vielleicht von Zeit zu Zeit funktioniert, vor einem Release machen wir sowas einfach nicht. Egal ob es ein Update auf die nächste IDE Version ist, eine aktualisierte Library oder gar eine frische Framework Version, am Ende gibt es immer etwas was man nicht überprüft hat.
Erst heute habe ich diese Lehre wieder gezogen. Denn ich arbeite seit langem mit der aktuellen Beta Version des Flutter Frameworks, um einige Funktionen bereits testen zu können. Nun ergab sich das für ein Projekt, welches eigentlich auf dem Flutter Stable-Branch lebt, eben dieser Beta-Branch ein Problem löst. Da ich schon lange auf selbigem unterwegs bin, entschied ich - wenn auch mit einem mulmigen Gefühl - wir versuchen es mit dem Beta-Branch. Alles in allem habe ich ja schon viel getestet und was soll schon passieren?

I'm a coder - Fail Fast Fail Often vs. Bug freie User Experience

Erstellt am event 28.03.2020 - 09:00 Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Fail Fast Fail Often vs. Bug freie User Experience Bild

Es ist schon wieder etwas her das ich eine News in diesem Bereich geschrieben habe, doch nun wird’s mal wieder Zeit. Denn aktuell grübele ich bezüglich einem Thema, bei welchem ich nicht zu einem optimalen Entschluss komme. Es geht um die Menge der zu verwendenden Guards bzw. Sicherheitsmechanismen, um eine fehlerfreie User Experience zu gewährleisten.
Generell sind wir Softwarenentwickler uns bestimmt einig, dass das User Interface und alles was der Nutzer darin zu sehen bekommt, eher robust sein sollte und entsprechend Fehler gut abfangen muss. Doch wie weit soll man gehen, wenn es darum geht die UI und Logik gegen fehlerhafte APIs zu schützen, die man selber mehr oder weniger unter Kontrolle hat. Ich rede hier von Schnittstellen die auf dem Gerät in Form von Bibliotheken vorhanden sind, nicht von externen APIs, die z.B. auf entfernten Servern liegen (letztere sollten definitiv umfangreich und effektiv abgesichert werdern). Denn auch selbstverwaltete Bibliotheken, welche vielleicht von einem Kollegen der aktuell keine Zeit hat gepflegt werden, können hin und wieder Fehler beinhalten.
Ich bin ein Fan von Fail Fast & Fail Often, denn meiner Meinung nach gehen ansonsten zu viele Fehler unter. Doch wie geht man mit mehr oder weniger bekannten Issues um, welche in darunterliegenden Ebenen vorhanden sind, die teilweise zum eigenen Code gehören.
Baut man Guards ein - vielleicht auch nur temporär - können selbige in Vergessenheit geraten und später das Debugging massiv erschweren. Lässt man die Fehler zu, kann es zu sichtbaren UI Fehlern kommen, was natürlich zu vermeiden ist. Ich persönlich sehe hier eine Zwickmühle, welche ich zwar nicht perfekt, aber für mich für den Moment passend lösen konnte.

Software kann Gutes tun

Erstellt am event 24.03.2020 - 22:00 Uhr von account_circle Boehrsi in label Development
Software kann Gutes tun Bild

Als Software-Entwickler kann man in diesen Zeiten nicht nur etwas Hardware für einen guten Zweck zur Verfügung stellen, man kann auch versuchen anderen das Leben etwas leichter zu machen. Denn ein kleines bisschen Entwicklungsarbeit kann hier und dort Dinge für verschiedene Leute einfacher und praktikabler machen.
Ebendies habe ich versucht, indem ich einen kleinen Webservice schrieb. Selbiger erlaubt es dem Verein, in welchem meine bessere Hälfte aktiv ist, zu planen wer das Gelände wann betritt. Dies ist wichtig, um zu verhindern dass eine größere Gruppe von Personen gleichzeitig da ist. Denn wie mittlerweile jedem klar sein sollte, ist dies ein sehr relevanter Schritt, um die Verbreitung von Corona zu verlangsamen.
Der Aufwand war für mich ca. ein Wochenende, inklusive Deployment und ich habe dabei noch einiges gelernt. Denn ich nutzte zufällig das Framework, welches ich ohnehin weiter ausprobieren wollte (Javalin) und Kotlin als Programmiersprache. Somit konnte ich helfen, gleichzeig etwas lernen und am Ende macht es das Leben einiger Nutzer vielleicht ein kleines bisschen weniger kompliziert, in diesen komplizierten Zeiten.
Warum ich das schreibe fragt ihr euch vielleicht, nicht um Lob einzusammeln, sondern eher um zu motivieren. Vielleicht könnt auch ihr, durch welche Fähigkeit auch immer, den Leuten helfen. Oft sind auch Kleinigkeiten eine Hilfe und auch nicht physische Hilfe dürfte für viele relevant sein. Die digitale Welt ist Fluch und Segen zu gleich, lasst uns doch versuchen noch etwas mehr Segen zu verteilen.

Hackathon - Mal über den Tellerrand schauen

Erstellt am event 05.03.2020 - 09:00 Uhr von account_circle Boehrsi in label Boehrsi
Hackathon - Mal über den Tellerrand schauen Bild

Von Zeit zu Zeit ist es gut über den eigenen Tellerrand hinaus zu blicken und dies sollte auch den Firmen für die man arbeitet klar sein. In der Softwareentwicklung hat man hier mit relativ einfachen Mitteln die Möglichkeit selbiges zu erreichen. So gibt es Konferenzen oder Schulung und auch Workshops zu diversen Themen werden angeboten.
Doch es geht noch viel einfacher und vielleicht sogar besser. Ein kleiner Hackathon, bei welchem gemeinsam im Team neues entdeckt und miteinander entwickelt werden kann. Hierbei lernt man viel, häufig wird selbst ohne Themenvorgaben etwas im Arbeitskontext gebastelt und auch das Teamgefühl wird gestärkt. Die einzige Ausgabe bei einem Hackathon sind die Zeitkosten, denn meistens finden derartige Events im Rahmen der Arbeitszeit statt.
Letzte Woche fand bei mir in der Firma ein derartiger Hackathon statt, welcher sehr positive Ergebnisse hervorbrachte und extrem viel Spaß gemacht hat. Dabei wurden meiner Meinung nach auch durchaus sinnvolle Dinge für die Firmeninteressen umgesetzt, sodass die anfangs erwähnte Win-Win Situation für Arbeitnehmer und Arbeitgeber eingetreten sein dürfte.
Ich freue mich sehr in einer Firma zu arbeiten die Platz für derartige Dinge schafft. Danke @OpenXchange open_in_new an dieser Stelle. Ich hoffe auf viele weitere Events dieser Art, sodass auch ich als Client-App Entwickler hin und wieder in Server-Code oder andere Sachen hineinschauen kann.

Related Links
format_list_numbered  Seite 1 Nächste navigate_next