Files
the-job-machine/Mission Statement.md

7.6 KiB

Technik

Dieses Verzeichnis mit dem Namen "Job Application" soll die zentrale Stelle sein in der Ich meine Job Suche konzentriere. Hier hinterlege ich meine persönlichen Informationen und hier sollen alle Daten über die gesamte Projektzeit abgelegt werden. Der Ordner soll immer gut aufgeräumt sein, damit ich schnell und einfach alle Informationen finde und bearbeiten kann.

Grundlagen

Ich bin Fachinformatiker und multi purpuse nerd mit +20 Jahren Berufserfahrung in Coding, Netzwerk, Virtualisierung, KI, Game-Design und einiges mehr.

Ich bin auf der Suche nach einem neuen Job und würde gern etwas sinnvolles tun, nicht einfach nur eine Industriebude, WebAgentur oder irgendwas bei dem hundertsten CRM/ERP/xyz-Anbieter. Sehr gerne möchte ich meine sehr tiefgreifenden IT Fähigkeiten einbringen und etwas machen im Bereich Naturschutz, Nachhaltigkeit, Umwelt, E-Mobility/Energy, Batterietechnik gern auch (Bau-/Wertstoff-)Recycling, Veganismus oder ähnlichen Themen.

Ziel

Es soll kontinuierlich nach neuen interessanten Jobs für mich gesucht werden, auf die ich mich bewerben kann. Jeden Tag sollen mir via meinem Telegram Bot neue Job Angebote und Optionen angezeigt werden, wenn sie neu gefunden wurden.

Constraints für die Suche

  • Anstellung mit festem Gehalt und Urlaubstagen
  • Arbeitsplatz in Dresden oder Umgebung in einem Team. Ich möchte kein Einzelkämpfer sein.
  • Arbeitgeber aus ökologischer Sicht sinnvoll. Also in entsprechender Branche, Produkt oder Tätigkeit.
  • Gerne würde ich mit Linux, BSD, Nix/NixOS oder anderen Unix Derivaten arbeiten
  • Ich möchte nicht mit Java oder PHP programmieren

Hintergrundwissen

Im Ordner my Knowledge liegen Dateien mit Informationen die ich aus meinen bisherigen Projekten extrahiert habe. Die klarmachen welche Fähigkeiten ich besitze.

Motivation für Anschreiben / Bewerbungsschreiben

Wenn das Anschreiben einer Stellenbewerbung generiert wird, sollte in der Einleitung meine Motivation dargestellt werden. Die Grundlage meiner Motivation ist meine Neugier und das Interesse an allen neuen Ideen, Technologien und Arbeitsweisen um diese effektiv, sinnstiftend und passend zur Problemstellung einzusetzen. Ich liebe es mich mit der Lösung von Problemen zu beschäftigen, um zB. Hürden zu überwinden, Handlungsoptionen zu erweitern oder Vorgänge zu vereinfachen. Ich bin auch kein extremer Spezialist in irgendeiner bestimmten Technologie oder Programmiersprache, das es mich ständig umtreibt auch alle anderen Spielarten zu kennen und zu verstehen. Ich bin sehr stark explorativ und forschend tätig, habe im Grunde alles schon mal ausprobiert.

Zuletzt entwickelte ich komplexe VR- und XR-Anwendungen mit C# in Unity für WebGL und VR-Brillen und Smartphones. Meist auch verbunden mit eigenen Web-Backends zur Ausspielung der Anwendung, für dessen content delivery oder zur Einbindung in größere Infrastrukturen wie Lernmanagementsysteme (LMS). Ich kenne mich auch in der Administration von Linux-Servern und deren Virtualisierung mittels Docker aus weil wir unsere Software-Deployments mittels Continous-Integration und Continious-Delivery (CI/CD) Ansätzen entwickelt haben.

Als selbständiger Web-Entwickler betreute und administrierte ich Webseiten sowie Internet-Shops. Ich administrierte und migrierte Warenwirtschaftssysteme samt Datenbank und Web-Technologien in Shop-Systeme. Immer auf auf Basis von PHP, MYSQL und Webtechnologien und großen Frameworks wie Shopware, Wordpress, Symphony und Bootstrap. Erste Erfahrungen in Embeded-Systeme begann ich Mitte der 2010er Jahre Arduino und ESP8266 Systeme zu sammeln und entwickelte viele kleine Spielereien für Zuhause. Ich programmiere Computer seit Ende der 90er Jahre in verschiedensten Programmiersprachen und Problemdomänen. Angefangen mit OpenGL und einfachen Windowsanwendungen in Delphi und Pascal zur Konfiguration meiner Spieleserver bspw.

Was sich aber grade radikal ändert, ist das ich nicht mehr selber programmiere, sondern dieses im Grunde den neuen KI-Systemen überlasse. Noch vor wenigen Jahren waren diese nur aktive Programmierbegleiter und eine bessere Autovervollständigung, doch sie hat sich deren Nutzung durch ihre stetige Verbesserung mittlerweile zu einer eigenen Arbeitsweise entwickelt. Am ehesten zu vergleichen mit einem eigenen komplexen Entwicklungswerkzeug, ein bisschen wie die Kombination aus einer IDE + SCRUM und massivem tooling. Und diese neue Arbeitsweise verlangt den Entwickelnden wieder völlig neue Arbeitstechniken ab um weiterhin gute Software (gut in allen Dimensionen) zu erzeugen. Auf Grund ihrer nicht deterministischen Bauweise müssen Entwickler die Softwareentwicklung mit KI-Systemen anders als gewohnt betrachten. Bei der Arbeit mit ihnen, ist es extrem wichtig darauf zu achten, dass diese sich immer an die im Projekt geltenen Regeln halten. Seien es Coding-Standards, Domänenwissen oder einfach harte technische Vorgaben und funktionale Korrektheit über alle Iterationen hinweg. Wofür Softwareentwickler heute im besonderen Maße zu achten haben. Auch hat sich mit KI-Coding-Agenten der Blick auf Dokumentation verändert. Wenn früher Softwareprojekte in der Regel dramatisch Unterdokumentiert waren, erstellen Programmier-KIs heute oftmals viel zu viel Dokumentation wenn diese nicht auch entsprechende mitgesteuert wird. Für die Software, wie die Dokumentation gilt es die entsprechend wirksamen Guard-Rails zu implementieren um KIs auf ihren hypothetischen Pfaden immer in die richtigen Bahnen zu lenken und deren hochqulitativen Output zu jeder Zeit sicherzustellen.

Ich habe über das letzte Jahr eigentlich effektiv keine einzige Zeile Programmiercode mehr selber geschrieben. Punkt. Bei Projekte, die einen gewissen Impact haben und bei denen es auf Autonomie und Inputvalidierung ankommt, habe ich den erzeugten Code auch weiterhin fachlich geprüft und gegebenenfalls angepasst. Bei Systemen, bei denen es ausschließlich auf den Output ankam, der in jedem Fall noch einer menschlichen Prüfung zugeführt wird, also im weitesten Sinne Werkzeuge die der Automatisierung oder Klassifizierung für menschliche Arbeitskräfte dienen, ist sogar das noch entfallen. Ich habe dann Software deployed, deren Source Code ich im besten Fall noch überflogen habe und die Frameworks enthalten, welche ich nicht kannte. Das war sehr gewöhnungsbedürftig für mich, aber die Geschwindigkeit mit der jetzt Software-Iterationen möglich sind, ist faktisch über jeden Zweifel erhaben. Software wird in Zukunft durch KIs produziert werden, da mache ich mir als Entwickler keine Illusionen mehr. Für mich bedeutet das, das ich nun in der Lage sein muss, die Geschwindigkeit und das damit gestiegene Risiko zu beherrschen.

Über die letzten Jahre wurden schon viele Methoden entwickelt welche diese Art der Softwareentwicklung unterstützen um die Sicherheit der produzierten Software sicherzustellen. Entwickler haben verschiedenste Möglichkeiten die Sicherheit ihrer Produkte zu gewährleisten, welche sich auch alle mit großer Geschwindigkeit weiterentwickeln. Um nur einige zu nennen:

  • Wahl der Programmiersprache welche Bspsw. inherente Sicherheitsfeatures bereitstellen wie: Rust, Erlang oder Haskel.
  • Wahl der agentischen Methodik wie Spec-Driven-Development mittels zB. Spec-Kit oder BMAD Methode.
  • Lebende Architekturbeschreibung mittels Achitekture-Decision-Records (ADR).
  • Starker Fokus und weitreichende Anwendung von Tests, zB. durch Test-Driven-Development oder AI-Red-Teaming.
  • Augenmerk auf Privacy mittels open weights Modellen auf eigener Hardware

Ich möchte mich als Software-Developer immer weiter entwickeln, die Optimierungsdividenden der neusten Technik erforschen und zur Optimierung bestehender oder neuer Prozesse einsetzen.