In der Kategorie Programming geht es um allgemeine Themen rund ums Programmieren, die nicht in eine bestimmte Sprache passen. Hier findest du Beiträge zu Konzepten, Best Practices, Clean Code, Designprinzipien oder Entwicklungsprozessen. Egal ob du in Java, PHP oder einer anderen Sprache arbeitest – hier dreht sich alles um das große Ganze der Softwareentwicklung und um Wissen, das dich in jedem Projekt weiterbringt.
Designprinzipien gehören zu den Themen, über die man in der Java-Welt relativ früh stolpert. Irgendwann tauchen dann Begriffe wie KISS, DRY, YAGNI oder SOLID auf, und plötzlich sieht es so aus, als gäbe es für jede Zeile Code eine feste Regel. Das Problem daran ist nicht, dass diese Prinzipien falsch wären. Das Problem ist eher, dass sie oft wie Naturgesetze behandelt werden, obwohl sie in der Praxis eher Orientierungshilfen sind. Weiterlesen
Du kennst das: Irgendwas funktioniert nicht, du hast keinen Plan warum, und der schnellste Griff geht zu System.out.println(). Einmal rauswerfen, nochmal laufen lassen, Ausgabe anschauen - fertig. Das fühlt sich an wie Debugging, ist es aber nicht. Es ist eher eine improvisierte Spurensuche mit Taschenlampe, während du eigentlich ein komplettes Werkzeugset neben dir liegen hast.
Weiterlesen
Technische Schulden sind eines dieser Begriffe, die du früh hörst und erst später wirklich spürst. Gemeint ist kein “Fehler”, sondern eine bewusste oder unbewusste Abkürzung im Code oder in der Architektur, die dir heute Zeit spart und dich morgen Zeit kostet. Wie bei einem Kredit: Du bekommst sofort etwas, zahlst aber Zinsen, solange du die Sache nicht sauber nachziehst. Weiterlesen
Wer mit Programmieren startet, stolpert früher oder später über Konzepte. Oft klingt das nach viel Papier, wenig Code und noch weniger Spaß. Genau deshalb wird das Thema gern ignoriert oder auf ein paar Stichpunkte runtergebrochen. Das Problem daran: Ohne ein sauberes Grundkonzept wird selbst ein kleines Projekt schnell unübersichtlich, fehleranfällig und unnötig kompliziert. Weiterlesen
Nebenläufige Programmierung ist ein Begriff, der in der Softwareentwicklung häufig fällt, aber oft unterschiedlich interpretiert wird. Grundsätzlich beschreibt er die Fähigkeit eines Programms, mehrere Aufgaben gleichzeitig oder scheinbar gleichzeitig auszuführen. Dabei geht es nicht zwingend darum, dass der Prozessor tatsächlich mehrere Dinge exakt zur selben Zeit erledigt - sondern vielmehr darum, dass die Software so strukturiert ist, dass sie Aufgaben unabhängig voneinander bearbeiten kann. Das Ziel ist, Reaktionszeiten zu verbessern, Ressourcen effizienter zu nutzen und bestimmte Probleme überhaupt erst lösbar zu machen. Weiterlesen
Code Smells sind Hinweise darauf, dass im Code etwas nicht sauber ist - etwas schlecht riecht. Es geht nicht um Syntaxfehler oder Bugs, sondern um Strukturen, die dich langfristig ausbremsen. Der Code funktioniert vielleicht heute, aber er wird schwerer zu verstehen, zu testen und zu erweitern. Gerade in Java-Projekten sammeln sich solche Stellen schnell an, wenn man sie nicht bewusst wahrnimmt. Weiterlesen
Algorithmen und Datenstrukturen begegnen dir früher oder später in jedem Java-Projekt. Oft wirken sie abstrakt, theoretisch oder wie etwas, das nur in Informatik-Vorlesungen relevant ist. In der Praxis sind sie jedoch ein zentrales Werkzeug, um sauberen, wartbaren und performanten Code zu schreiben. Es geht dabei nicht um komplizierte Mathematik, sondern um strukturierte Denkweisen. Weiterlesen
Hexagonal Architecture begegnet dir früher oder später, wenn Anwendungen größer werden und trotzdem wartbar bleiben sollen. Der Name klingt komplizierter, als das Konzept tatsächlich ist. Im Kern geht es darum, Abhängigkeiten sauber zu trennen und dein fachliches Modell vor technischen Details zu schützen. Genau das ist im Alltag mit Java, WildFly, Maven und Git entscheidend, wenn ein Projekt nicht nach kurzer Zeit unübersichtlich werden soll. Weiterlesen

Hi, ich bin Marcel!
Als Fachinformatiker für Anwendungsentwicklung und IHK-geprüfter Ausbilder teile ich auf meinem Blog Grundlagen- und Fortgeschrittenen-Wissen für angehende Entwickler*innen und Interessierte, sowie weitere spannende Themen aus der IT.