Moin ich bin Tim,
Berater und Softwareentwickler in Hamburg. Da ich beruflich sehr viel Software entwickle und auch privat mir das eine oder andere baue, habe ich mir gedacht ich verbinde das ganze einmal miteinander.
Warum? Zum einen soll es der Dokumentation dienen. (Warum der Aufbau so und nicht anders? Warum diese Technologie?) Zum anderen möchte ich gerne die Möglichkeit des Feedbacks nutzen. Wie geht ihr an die Sache heran? Ich habe recht gute Erfahrungen im Bereich Java-Backend-Entwicklung und auch in der nativen iOS-App Entwicklung habe ich schon einiges gesehen. Alles andere (Angular, Python,…) erlese ich mir mühsam oder leite mir das Vorgehen aus dem mir Bekannten ab. Doch ist das bereits professionelle Softwareentwicklung? Bei dieser Frage geht es mir nicht um die Sprachen an sich: Die reine Syntax der Sprachen ist doch meist sehr ähnlich. Mir geht es vielmehr um das Ökosystem drum rum. Welche Frameworks nutzt man wann, wo und wie? Wann nutze ich lieber keine Frameworks. Wie sehen Build-Prozesse aus? Wie läuft das Testen? Wie ist das Projektsetup und warum ist es genau so? Genau dies werde ich versuchen so gut wie möglich zusammen zu tragen und hoffe dann auf euer Feedback. Das

Warum nicht eins für alles?

Wenn die Technologien doch so unterschiedlich sind warum perfektioniert man seine Fähigkeiten dann nicht einfach in nur einer Technologie/ Stack? Warum sollte man sich die Mühe machen, sich technologisch breiter aufzustellen?
Weil ich der festen Überzeugung bin, dass das der falsche Ansatz ist. Es gibt einen Grund warum bestimmte Technologien entstanden und erfolgreich sind. Ich bin der Meinung, dass man diese Gründe kenn muss um fundiert für ein Projekt zu entscheiden wie es umgesetzt wird. Und man seine Aussage nicht mit dem „beliebten“ Satz „Das haben wir schon immer so gemacht.“ begründen muss. Und gerade bei den heutigen Gegebenheiten wie Docker, Microservices etc. ist es doch wesentlich einfacher geworden die Technologie konkret für einen Anwendungsfall auszuwählen. Man muss sie nur kennen und anzuwenden wissen.