Daily Music #863

Und es gibt so viele Female Frontend Metalbands. Deshalb heute nochmal eine von diesen. ;)
Spiritbox - Holy Roller

Das Musikvideo ist aber auch ziemlich gut:

Lyrics:
Holy Roller sits in the garden we fled
Blood into wine, take my body instead.
Holy Roller sits in the garden we fled
Blood into wine, take my body instead.
Holy Roller

Stand
To the left of me
In paradise
Holy Ghosts will

Born of blood
In seraphim
To grip the Nazarene
Crown of God
You wear it thin
To come and rapture me

Stand
To the left of me
In paradise
Holy Ghosts will
Fade
Into oblivion
Like a blade
Falling slowly
Curse the holy down

And when I die, you won't pray for me
That's when I learn to
Cut my ties
And when I die, you won't pray for me
That's when I learn to
Cut my ties

Stand
To the left of me
In paradise
Holy Ghosts will
Fade
Into oblivion
Like a blade
Falling slowly
Curse the holy down

Aaaaaaaaaaaaarg o_O

Es wird mal wieder Zeit für einen Rant!
Mein Arbeitsleben ist gefühlt seit 2020 ein Riesenkack! Damals hat es angefangen als wir für eine Tochter in Übersee einen Webshop an unser ERP System dran machen sollten. Die Präsentation war eigentlich erstmal ganz schick. Ja geht alles wunderbar und Magento ist hier wirklich super supportet und Kaffee kann die Software wohl auch noch. Achja und für Übersee müssten sie aber besser noch die Steuerberechnung externalisieren. Einer unserer Kunden hat das jedenfalls so gemacht.
Das mit der Steuer war dann organisatorisch kein Problem. Die Kunden haben einfach Bescheinigungen an unsere Tochter geschickt, damit wurde immer 0% Steuer berechnet. Das ist unter Geschäftsleuten dort so üblich. Also kein Problem von dieser Seite aus.
Wir waren also jung und frohen Mutes: "Was soll auch schon schiefgehen?" Also haben wir unseren Website Dienstleister gefragt ob er uns eine Magento Shop Instanz bauen kann. Das war wirklich schnell gemacht. Innerhalb weniger Tage war die Instanz eingerichtet und das Design auch schnell nachgezogen. Die Installation der Schnittstelle zum Shop wurde dann auch recht zeitnah installiert. Aber beim ersten Verbindungstest gab es gleich mal Fehlermeldungen. Es konnten einfach bestimmte Dateien nicht gefunden werden. Die Info, dass man den Verbindungstest immer nur von einem bestimmten Applicationserver aus startet bzw. durchführt stand in der Doku wohl nicht drin. Nach 3 Monaten und einigen Patches ist es aber dann doch tatsächlich gelungen eine Verbindung zum Magento Shop aufzubauen und sogar das erste Mal einen Austausch von Adressen, Artikel und Aufträgen zu machen. Da wir natürlich mit einer Tochter in Übersee zusammenarbeiten mussten natürlich auch erstmal noch die Adressfelder angepasst werden. Außerdem ist es in Übersee üblich, dass der Kunde eigene Kundenkonten bei den Versanddienstleistern hat. So gehen die Kosten für den Versand direkt an den Kunden. Das kann Vorteile bringen wenn der Kunde gut mit dem Versanddienstleister verhandelt hat und damit gute Konditionen hat. Da es sowas in Europa aber natürlich nicht gibt, war das Ganze erstmal wieder mit einer Anpassung der Software verbunden. Ein dreiviertel Jahr später war es dann fertig. Wir hatten auch schon in den Besprechungen mit den Kollegen in Übersee angekündigt, dass wir in Zukunft die Zahlungen per Paypal machen müssen. Das wurde dann erstmal akzeptiert. Kurz vor dem Go-Live wurde dann gesagt, dass Paypal nicht geht. In vielen Firmen ist Paypal von der Firewall gesperrt. Fand ich zuerst etwas verwunderlich, da Paypal doch eigentlich überall verbreitet ist. Jo dann wurde kurzerhand ein alternativer Kreditkarten Zahlungsdienstleister der Hausbank ins Spiel gebracht. Die Schnittstelle vom ERP System hat diesen Zahlungsdienstleister natürlich nicht erkannt. Deshalb war der manuelle Aufwand enorm hoch. Aber egal, am Ende wurde es akzeptiert.
Jetzt hatte der alte Webshop aber noch den Vorteil, dass man sich mit einem Kundenaccount mehrere Unteraccounts erstellen kann. Das kann Magento aber leider nicht und die Schnittstelle erst recht nicht. Am Ende gab es einfach enorm viele Verzögerungen und bis zu meinem Wechsel im September 2021 war der Webshop immer noch nicht eingeführt. Erst als ich dann weg war wurde er plötzlich ganz schnell eingeführt und alle Probleme waren scheinbar vergessen oder wurden akzeptiert.

Zur kleinen Abkühlung noch etwas erfreuliches:
Im Zuge der ERP Einführung gab es noch eine andere Schnittstelle zum Versandprogramm. Das war relativ einfach zu realisieren, da es einfach Textdateien ausgespuckt hat und dann verarbeitet. Die Schwierigkeit war nur, dass das Versandprogramm einen sehr eigenen Pseudo XML Dialekt erwartet hat. Das ERP Programm hat aber schon standardmäßig anderes XML ausgespukt. Also die Quelldateien aus dem ERP mit einem C# und einem XML Transformator umgewandelt. Diese Umwandlung sollte dann auch immer adhoc stattfinden. Das Versandprogramm hat nämlich immer per Barcode den Lieferschein angefordert und dabei eine Requestdatei ausgespukt. Diese Informationen aus der Requestdatei werden dann vom C# Programm gelesen, welches die Lieferschein XML Datei aus einem Ordner sucht und dann innerhalb weniger Sekunden transformiert und dem Versandprogramm bereit legt. Das Programm wurde natürlich von einem anderen Kollegen geschrieben und nicht korrekt getestet. Ich bin aber froh über seine Arbeit, da die XML Transformation eine sehr elegante Lösung ist. Der Kollege, der es damals gemacht hat ist 2020 auch gegangen und so hab ich es geerbt.
"Gibt's dafür auch eine Git Historie?" Ähm also Versionsverwaltung war bis dahin in der IT Abteilung ein Fremdwort. Das erinnert mich stark an meine ersten Zeiten als ich meine ersten Logikprogramme geschrieben habe. Da war Versionsverwaltung auch nicht mein Ding. Aber nachdem irgendwann ein neues größeres Programm anstand hab ich mich mal mit Git beschäftigt und festgestellt, dass ich dass sogar unter Windows gut zum Laufen bekomme und seitdem war es goldwert. Einfach mal nachvollziehen, welche Änderungen irgendwann gemacht wurden. Wenn der Entwickler freundlich und gut drauf war, kann man auch schon nachvollziehen, was geändert wurde.
Aber wir erinnern uns: In dieser IT Abteilung werden Dinge entwickelt aber natürlich ohne Versionsverwaltung. Nein das braucht man nicht...
Als ich das Projekt übernommen habe, hab ich erstmal Git draufgeworfen und so die letzten Änderungen nachvollzogen. Das war 1 Jahr später dann immer noch goldwert. Und natürlich durfte ich im März gleich nochmal dran und es fixen, weil ich oder mein Vorgänger damals es für eine gute Idee hielten das Ergebnis gleich ins Verzeichnis zu schreiben, von welchem das Versandprogramm die Antwort erwartet. Aus irgendwelchen Gründen ging das bis damals einfach gut. Kaum war ich wieder im März in der Firma ging es nicht mehr. Also hab ich es eben korrigiert und die Zieldatei vorab in ein temporäres Verzeichnis geschrieben und nach Abschluss ins Verzeichnis vom Versandprogramm verschoben. Siehe da: Kaum macht man es richtig, funktioniert es auch einfach schon wie es soll.
Die Schnittstelle mit den Daten aus dem Versandprogramm ins ERP haben wir dann programmieren lassen. Aus Gründen haben wir uns damals dann entschieden alle Trackingdaten (Trackingnummer, Gewicht, Anzahl Pakete) als Richtext in den Vorgang einzubinden. Ist nicht unbedingt schlecht, aber deshalb kann man heute leider auch keine Trackingnummer an den Webshop übermitteln. Na gut, haben wir einfach den Leuten so erklärt und sie haben es geschluckt. Benutzerfreundlich fand ich diese Entscheidung damals nicht, aber wenn Ober den Unter sticht kannste nichts machen.
Ich wollte ja zu etwas erfreulichem kommen: Diese Schnittstelle der Daten vom Versandprogramm ins ERP wurde vom ERP Dienstleister programmiert und hat bis auf 2, 3 kleinere Mängel sofort auf Anhieb getan. Das ist schön und vor allem tut dieser Dienst bis heute seine Dienste. Denn das was vom Versandprogramm rauskommt ist immer gleich und hat sich auch mit den letzten Updates nicht geändert. :)

Jo und dann war letztes Jahr die Entscheidung: Ich hab kein Bock mehr auf irgendwelche Dienstleister und will mal woanders was machen. Eigentlich wieder was mehr mit Programmieren und so. Natürlich liegt es damit auf der Hand, dass ich unbedingt gleich wieder einen neunen Job als ERP Admin annehme. Wie es dort am Anfang war hab ich ja hier mal geschrieben. Und am Ende wusste ich eben nicht mehr was ich eigentlich machen will. Alles in allem waren die 5 Monate dort in Tübingen gar nicht schlecht. Ich hab ein bisschen SQL gelernt und mit diesem dort eingesetzten ERP entdeckt, dass es immer noch schlimmer geht. Das war dann auch recht schnell der Grund, warum ich dort aufgegeben habe. Gut ein paar Personalthemen wie unterschiedliche Bezahlung (ich hab viel bekommen, andere die länger da sind aber das Gleiche machen bekommen weniger) waren auch ein Grund. Die Erneuerbare Energie Branche war jedenfalls sehr spannend und die Prozesse die ich mir angeschaut habe, wären sicherlich noch spannend gewesen sie umzusetzen. Aber am Ende war ich zu frustriert vom ERP. Jeden Tag irgendwelche Lieferaufträge per SQL zu fixen ist auf Dauer kein guter Stil.

Da mein alter Arbeitgeber in Leinfelden letztes Jahr im September meinte, dass ich jederzeit zurück kommen kann und ich anderweitig nichts sinnvolles gefunden habe bin ich seit März wieder da. Jo im Arbeitsvertrag steht großkotzig "DevOps Engineer". Aber praktisch bedeutet dies auch nur, dass ich ein Cognos Update (die BI Lösung von IBM) betreue und dort reinwachse. Ein bisschen mit Talend arbeite um verschiedene Datenquellen gemäß ETL (Extract Transform Load) in die Datentöpfe zu laden. Jo dann bin ich noch einen alten Reportserver zu uns umgezogen und per Visual Studio die Reports auf unseren Report Server deployed. Das war mal kurz spannend, bis es fertig war. Und schon seit meinem "Wiedereinstellungsgespräch" soll ein Jira / Confluence System für die Töchtergesellschaften bauen. Da gab es 2 Anläufe. Aber nun hab ich mir mal verschiedene Jira / Confluence Webcasts angehört und hab eine ungefähre Ahnung davon, wie es aussehen könnte. Das könnte dann wieder ein bisschen an DevOps erinnern. Wobei der Operating Teil hier größer ist. Dafür hab ich die ganzen SQL Server vom Kollegen, der im Mai dann gegangen ist geerbt. Das ist gar nicht mal so wenig. Ein bisschen profitiere ich noch von ihm, da er ein sehr akribischer Kollege war und ziemlich viel und detailliert dokumentiert hat. Außerdem eine PRTG Sensoren für SQL gebastelt. Beispielsweise ob die Backups gelaufen sind oder das Transaktionslog noch klein genug ist und die Platte nicht schon wieder voll läuft.

Aber leider hat er mir auch sein Lieblingsprojekt übergeben. Ein System welches unser digitales Archiv ist, soll noch den Rechnungseingangsworkflow mitmachen. Im Prinzip hört es sich nicht ganz schlimm an. Rechnungen kommen per E-Mail oder als Scan in den Belegleser. Dort werden sie in der ersten Zeit noch ziemlich manuell ausgelesen und die wichtigen Daten (Kunde, Beträge, Zahlungsfristen) extrahiert und vom Mitarbeiter zugeordnet. Mit der Zeit lernt das System aber dazu und kann zunehmend mehr die Rechnungen selbstständig erkennen. Hier ist noch kein großes Problem zu sehen. Das hat einfach funktioniert (also solange man es nicht anfässt).
Der Rechnungseingangsworkflow ist allerdings ein Ding aus der UI Hölle. Nicht wirklich intuitiv zu bedienen, die Knöpfe sehen immer unterschiedlich aus. Aber das Schlimmste ist im Hintergrund. Es gibt viele verschiedene unterschiedliche Programme und Schnittstellen, die irgendwie ineinander greifen.
Klar irgendwoher müssen die Informationen auch aus SAP kommen. Außerdem soll ja auch vorbelegte Rechnung angelegt werden um das zu vereinfachen. Dann gibt es noch einen Workflow und ein Testsystem. Jetzt hat man natürlich schon 5 Anläufe hinter sich um den Workflow einzuführen. Vorher alles sinnvoll getestet und dann bei der Einführung merkt man, dass es einfach nicht tut. Das schlimmste ist hier eben auch: Die Dienstleister greifen auf unser System per Teamviewer zu und machen die Anpassungen direkt auf unserem Server. Macht ja auch alles irgendwie Sinn. Da auch viele Skripte in .js verwendet werden wird VS Code verwendet. Ist kein schlechter Editor und für diese Sache sicher praktisch.

Nun kommt das Schöne daran: Wir haben letzten Montag endlich alle Anpassungen vom TEST System aufs PROD übernommen. Da wir auf Sicherheit stehen, haben wir auch mal kurzerhand das Passwort vom Redakteur geändert. Das ist sowas wie ein Service User, der in vielen Programmen und Schnittstellen verwendet wird. Wir meinten alle Stellen erwischt zu haben. Also hab ich mal fröhlich getestet und meine erste Rechnung freigegeben. Am Freitag erhielt ich dann die Nachricht, dass die ganzen Rechnungen der Woche nicht in SAP angelegt waren. Also den Dienstleister angerufen und scheinbar muss das Problem rießig gewesen sein. Denn Freitag, Montag und Dienstag hat er sich das angeschaut und erst am Dienstagnachmittag alles reparieren können.
Ja es mag wichtige User geben, die überall verwendet werden. Aber warum muss es gerade ein Redakteur sein, mit dem man sich auch im normalen System anmelden kann?

Und das Allerschönste: Das ganze System ist wieder so komplex, dass wir für viele Bereiche unterschiedliche Ansprechpartner haben. Das führt dann dazu, dass man erstmal rausfinden muss, welcher Bereich betroffen ist und dann geht die Schieberei mit dem schwarzen Peter los. Leute ich sags euch: Sowas ist richtig fucking nervig. Ich glaub das ist auch der Grund, warum ich seit 2019 noch weniger Haare als ohnehin habe.

All das hat meinen Entschluss genährt, dass ich 2023 mal versuchen möchte nur noch 4 Tage als Angestellter zu arbeiten und nebenher ein paar Freelancer Aufträge zu machen. Irgendwie finde ich es attraktiv mal viele einzelne Firmen zu sehen und nebenbei noch gutes Geld zu verdienen. Ob dass dann tatsächlich was wird, sehe ich Ende des Jahres.

Fakt ist: Ich bin aktuell als Angestellter eher ein "IT-Mitarbeiter + Waffelbäcker". Aber leider kein DevOps Engineer. Hier gibts keine Versionsverwaltung, kein Kubernetes, kein Docker, kein nichts. Och ja Teams haben wir. Sehr eingeschränkt und nervig, weil wir ja noch Lotus Notes haben. Die Implementierung des Teamslinks in die Notes Kalendereinladung hat ein anderer Entwickler aber wenigstens selbst hinbekommen. Das war wohl auch eine recht spannende Aufgabe, wie er meinte. Wenn dass dann mal aktiv ist, kann man den tollen neuen Besprechungsraum auch per Teams einladen.

Vielleicht bin ich auch deshalb frustriert, weil mir aktuell die spannenden Aufträge im Nebengewerbe fehlen und ich irgendwie mehr und mehr das Gefühl bekommen: Angestelltsein ist einerseits toll, aber ich sollte mal die Selbstständigkeit mehr ausprobieren. Mal aktiver nach Aufträgen suchen und mich bekannter machen. Mal irgendwelche kleinen Projekte, welche die Auftraggeber voran bringen. Ich kann ja Dinge.