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.

Weiter gehts

Die Abnehmerei war im Mai leider noch nicht so erfolgreich wie gedacht, aber immerhin ist es nicht noch weiter gestiegen. Es war wieder viel los, die Zeit fürs morgendliche Joggen war nicht da, da ich öfter schon früh morgens aus dem Haus bin um früh im Büro zu sein. Irgendwie muss man ja auch seine Stunden ansammeln, wenn gerade viel los ist.
Meistens hab ich dann abends auf der Heimfahrt noch wenigstens kurz am Wald angehalten um eine kleine Runde zu gehen. So bekomm ich damit wenigstens den Kopf frei. Apropos Kopf: Die ganze Abnehmerei ist einfach eine klare Kopfsache, deshalb hab ich mir wieder angewöhnt nur noch zu bestimmten Zeiten was zu essen. Mehr oder weniger morgens und mittags und dann abends kaum mehr was. Manchmal klappt es besser, manchmal schlechter.

Ukraine Opens Russian Drone, Finds Canon DSLR Inside

Schon ein etwas älterer Artikel über einen Drone der Russen, die von den Ukrainern geöffnet wurde. Die Technik ist dahinter wieder erstaunlich einfach. So richtig verwundern tut mich das auch nicht.

Beispielsweise hier mal noch über die recht einfache Technik der Sojus Raketen.

Oder auch noch kurz eine Sendung mit der Maus:

Freiberufliche Spinnerei

Lass uns mal einfach ein bisschen rumspinnen. Einfach weil ich ja jetzt selbst ein paar Erfahrungen mit meiner Selbstständigkeit gemacht habe. Aktuell bin ich da einfach auf das "Kleingewerbe" festgelegt zumindest für dieses Jahr. Das heißt ich darf maximal 22.000 Euro Umsatz im Jahr machen und verzichte daher auf die MwSt. Vorteile. Das heißt meine Rechnungen sind brutto wie netto gleich. Es kommt keine Mehrwertsteuer drauf. Im Gegenzug bezahle ich meine Rechnungen an die Lieferanten auch voll und darf keine Mehrwertsteuer davon abziehen. Dadurch erspare ich mir ein bisschen Buchhaltungsaufwand und ja es ist gut soweit. Das Ganze läuft aktuell so nebenher. Durch ein bisschen Mundpropaganda bekomm ich hin und wieder mal ein paar Anfragen. Aber aktuell ist es auch etwas ruhiger. Durch meinen Hauptjob bin ich aber aktuell auch gut ausgelastet. Das macht soweit auch Spaß, auch wenn es ab und an doch wieder Reibepunkte gibt. Naja wie überall halt. Manchmal denke ich: "Hm, war es wirklich so gut damals von dem alten Job wo ich 11 Jahre war weg zu gehen." Die Antwort lautet aber immer: JA! Diese Erfahrungen die ich seit Anfang 2019 gesammelt habe, hätte ich sonst nie gemacht und sie haben mich bereichert.
Aber dann gibt es auch noch XING und LinkedIn und man bekommt immer wieder irgendwelche Recruiter Nachrichten. Ist ja immer wieder ein Quell der Freude. Denn egal welche Einstellungen man wählt (aktuell habe ich eingestellt, dass ich kein Interesse an neuen Jobs habe), es wird immer ignoriert. Gut meistens sind die Jobs trotzdem irgendwie passend und einmal hab ich ja sogar meinen letzten Job in Tübingen darüber gefunden.
Jo aber Angebote als Freelancer hab ich dann doch recht selten bekommen. Heute war die erste dabei, nämlich die hier. Da bin ich dann doch erstmal zum Nachdenken gekommen. Wie gesagt kommt ein Wechsel momentan nicht in Frage, da ich eigentlich mit meinem jetzigen Arbeitgeber soweit zufrieden bin.

Aber trotzdem mal ein Spiel mit den Zahlen: Mal angenommen ich würde mit 100 Euro Stundensatz netto reingehen und den Auftrag bekommen und mal angenommen ich würde auch nach diesem Auftrag weitere Folgeaufträge bekommen wäre das am Ende des Jahres ein großer Batzen Geld.
Mal sehr konservativ gerechnet haben wir 20 Tage im Monat. Also 20 Tage x 8 Stunden x 100 € = 16.000 Euro / Monat.
Gehen wir weiter konservativ vor und rechnen wir mal mit 10 Monaten im Jahr, die ich tatsächlich arbeite. Urlaub und Krankheit kommt ja auch immer mal wieder dazu und dann verdient man ja kein Geld. Trotzdem bleiben dann 160.000 Euro Umsatz im Jahr übrig. Gehen wir mal von Gesamtkosten (Sozialversicherungen wie Krankenversicherung, Rente und Pflege, Einkommenssteuer, sonstige Investitionen) von gut der Hälfte aus bleiben halt immernoch 80.000 Euro übrig. Gut eventuell muss man diese 80.000 Euro als Gewinn nochmal versteuern, da bin ich mir noch etwas unschlüssig. Aber trotzdem wäre das immer noch ein großer Batzen.

Die Sache ist halt eben auch wieder die: Ich muss erstmal die richtigen Aufträge finden. Gleichzeitig muss der Auftraggeber bereit sein den Stundensatz von 100 Euro netto zu bezahlen. Ich denke dieser Stundensatz ist durchaus realistisch. Wenn ich sehe, was unsere Dienstleister pro Stunde aufrufen (120 bis 169 Euro netto im Raum Stuttgart) sind 100 Euro fast geschenkt.
Gleichzeitig kommt dann auch wieder der Zweifel: Kann ich das wirklich was gefordert wird? Werden die Auftraggeber auch die Rechnungen bezahlen?
Andererseits sehe ich dann unsere Dienstleister. Das sind auch nur Menschen. Es klappt nicht immer alles. Aber wir als Firma sind trotzdem bereit die Dienstleister in Anspruch zu nehmen. Die haben Erfahrung und machen diese Dienstleistungen (egal ob eine spezielle Installation, Support oder Beratung) eben täglich und haben einen großen Wissensvorteil. Das kann man sich zwar auch alles selbst aneignen. Aber manchmal kann dies auch gut nach hinten losgehen.
Zum Beispiel wenn man eine Teams Instanz so verbiegt, dass im Besprechungsraum kein Kalender auf dem Terminal angezeigt werden kann. Ich war es ja nicht. So gesehen: Wenn ich solche Kunden bekommen würde wäre das auch sehr nervenaufreibend.

Aber es ist trotzdem ein schöner Traum. Schauen wir mal, wie dieses Jahr so läuft. Vielleicht lohnt sich dann der Wechsel auf die volle Selbstständigkeit (mit Umsatzsteuer-ID und Mehrwertsteuervorteil). Irgendwie hab ich eben auch ein bisschen Blut geleckt.

Falls ihr Erfahrungen habt: Sind meine Zahlen einigermaßen realistisch oder hab ich doch kompletten Unsinn geschrieben?