Your browser does not support the video tag.
  • Home
  • Portfolio
  • Werdegang
  • Kontakt
  • Über mich
  • Portfolio
     
  • Requirements Engineering
  • Software-Architektur
  • Software-Entwicklung
  • protoco consulting
    Softwareentwicklung und Beratung

    processes to code

    Mein Portfolio

    Mit mehr als 25 Jahren an praktischer Erfahrung in der professionellen Softwareentwicklung bin ich mit einem soliden Stack von klassischen bis top-modernen Technologien ein kompetenter, vertrauenswürdiger und verlässlicher Partner hinsichtlich des Designs, der Implementierung und des Betriebs von modernen, verteilten Softwarearchitekturen. Bis heute setze ich meine Fähigkeiten mit Hilfe verschiedener Tools in folgenden Bereichen erfolgreich ein:


      - Requirements Engineering

      - Softwarearchitektur

      - Softwareentwicklung

      - Beratung für KMUs und auch Unternehmen aus der Finanz- und Versicherungsbranche



    Darüber hinaus interessiere ich mich je nach Unternehmen und Projekt auch sehr für die Positionen des Business Intelligence Analysts oder des Technical Product Owners.



    Für einen schnellen Überblick über meinen technologischen Stack finden Sie hier eine kleine grafische Übersicht - Weiteres zu meinem Stack finden Sie unter dem Punkt Softwareentwicklung





    Detailliertere Informationen zu Projekten inkl. Kontext zum Tech-Stack finden Sie auch in meinem Werdegang.



    Ich beschäftige mich natürlich auch mit der Entwicklung rund um AI / GenAI und anderen interessanten Themengebieten wie dem Prompt-Engineering, RAG und fine-tuning von LLMs. Mehrere meiner Projekte sind an die ein oder andere "künstliche Intelligenz" angebunden, auch nutze ich natürlich diverse Tools und Helfer für die Softwareentwicklung - die meisten davon allerdings nicht in der Cloud sondern selbst betrieben. Beispielsweise verwerte ich die Daten einer GARMIN Smartwatch der vergangenen 5 Jahre und versuche, neue Erkenntnisse zu diesen Daten zu gewinnen. Die Trainingsdaten bestehen aus etwa 2GB an .FIT Dateien. Neben ollama und llama-cpp nutze ich im KI-Kontext aber beispielsweise auch ComfyUI, PyTorch und TensorFlow. Es gibt zudem eine Menge kleinerer und größerer Github-Projekte, die ich nutze bzw. mit oder auf denen ich entwickle. Gerne unterstütze ich auch Sie bei der Integration von KI in Prozesse Ihres Unternehmens.



    Leider habe auch ich meine Grenzen: die Web-Entwicklung. Ich bin einfach nicht (mehr) gemacht für diesen Teil der Softwareentwicklung, obwohl ich auch lange Jahre in diesem Feld gearbeitet habe. Es macht mir keine Freude mehr und ich komme langsamer zum Ziel, als Andere. Damit sollten wir offen umgehen. Meine Entwickler-Welt besteht heutzutage mehr aus APIs, Messages, Transaktionen, Performance und Service-Uptime. Genau da fühle ich mich richtig zu Hause. Ich definiere mich also durch und durch als Backend-Entwickler.



    Um zu erfahren, was ich mit meinen technologischen und auch meinen Soft-Skills bereits so alles angestellt habe, finden Sie eine Übersicht im Bereich Werdegang. Es ist vielleicht sogar das ein oder andere Produkt dabei, welches Sie persönlich kennen oder auch selber nutzen. Auf den Unterseiten finden Sie einige exemplarische Auszüge meiner Arbeit unter Angabe des jeweils maßgeblich verwendeten Stacks. Sie können ebenfalls meinen aktuellen CV herunterladen, um die Informationen in kurzer und knapper Form parat zu haben.



    Ich würde mich freuen, auch Sie mit meinen Ideen, meiner Erfahrung und einer soliden Implementierung hands-on in Ihrem Unternehmen unterstützen zu können.



    Requirements
    Engineering >>>


    Kontakt Werdegang
  • Requirements Engineering

    processes to code

    Requirements Engineering

    Anforderungsanalyse


      - Stakeholder-Identifikation

      - Anforderungssammlung

      - Anforderungsdokumentation

      - Anforderungsverifikation

      - Schnittstellenmanagement zwischen Fachabteilungen und Umsetzung

      - Priorisierung

      - Konfliktlösung

      - Traceability


    Anforderungsmodellierung


      - Use-Case-Analyse

      - Datenmodellierung

      - Prozess- und Geschäftsprozess-Modellierung mit Methoden wie EPK und BPMN

      - Interface-Definition

      - Validierung durch Prototyping

      - Konsistenzprüfung

      - Identifikation "Money Path"


    Anforderungsmanagement


      - Change Management

      - Versionskontrolle

      - Baseline-Management

      - Kommunikation

      - Anforderungsverfolgung

      - Risikomanagement

      - Dependencymanagement

      - Dokumentation

      - Stakeholder-Management




    <<< Zurück zur
    Übersicht
    Software-
    architektur >>>




    Kontakt Werdegang


  • Softwarearchitektur

    processes to code

    Softwarearchitektur

    Architekturdesign


      - Systemanalyse

      - Architekturwahl

      - Design Patterns

      - Technologieauswahl

      - Skalierbarkeit

      - Identifikation gesetzl. Vorgaben

      - Integration evtl. Regularien

      - Zuverlässigkeit

      - Nachhaltigkeit

      - Sicherheit

      - Objektorientierte Analyse (OOA)

      - Leistungsoptimierung (Theorie)


    Architekturdokumentation


      - Architekturdiagramme

      - Architekturbeschreibungen

      - ADR (Architecture Decision Records)

      - Schnittstellendokumentation

      - Technologie-Stack

      - Deployment-Strategie

      - Wartungshinweise

      - Best Practices

      - Branching Konzept


    Architekturkommunikation


      - Stakeholder-Engagement

      - Workshops und Meetings

      - Mentoring

      - Change Management

      - Präsentationen

      - Architektur Reviews

      - Feedback-Schleifen

      - Dokumentationspflege


    Architektur- und Qualitätssicherung


      - Code-Reviews

      - Qualitätsmetriken

      - Technische Schulden

      - Caching-Strategien

      - Architekturtests

      - Leistungsoptimierung (Praxis)

      - Performance-Überwachung

      - Refactoring

      - Sicherheitsaudits

      - Architekturkonformität




    <<< Requirements
    Engineering
    Zurück zur
    Übersicht
    Software-
    entwicklung >>>




    Kontakt Werdegang


  • Softwareentwicklung

    processes to code

    Softwareentwicklung

    Lieblinge

    Hier finden Sie einen Auszug aus einer Liste von Technologien, mit denen ich häufig gearbeitet habe und arbeite:


      - Sprachen / Compiler: Java / JVM / C / C++ / D / gcc / clang / Python / Perl / Rust

      - Build Toolchain: maven / make / gradle / bazel / cmake / ninja

      - Editoren: vi / Eclipse / IntelliJ / Spring Tools Suite

      - Versionskontrolle: git / subversion / mercurial

      - Konsole: csh / zsh / bash / ...

      - Frameworks: EJB / Spring / Spring Boot / fast, static HTML

      - Umgebungen: Linux Server x86-64 / Linux Desktop x86-64 / Docker / qemu / KVM / Windows

      - Virtualisierung / Container: Linux Server / Docker / Rancher / Helm / Kubernetes / qemu / ...

      - Architektur: Standalone / Monolith / Midilith / Midiservices / Microservices / Master / Agent / Pub-Sub / Eventing / Message Broker / ...

      - Design: Domain-Driven / Producer-Consumer / Event-Driven / Process-Centered-Design / ...

      - Best-Practices: AOP / CORS / CQS / CQRS / Clean Code / ...

      - Logging / Monitoring: ELK / Grafana / Kibana / cacti / nagios / Prometheus / Jaeger / OpenTracing / Log4j / ...

      - Daten: ELK / AMQP / ActiveMQ / RabbitMQ / Kafka / NOSQL / Elastic / MongoDB / RDBMS / MySQL / MSSQL / Oracle / SQLite / diverse SQL-Dialekte / Hibernate / Criteria API / Redis / Memcached / ...

      - Deployment: Jenkins / Hudson / Concourse / ansible

      - Kommunikation: APIs / REST / RESTful / RPC / XML-RPC / gRPC / SOAP / IPC / Shared-Memory / protobuf

      - Formate: JSON / YAML / XML / XSLT / EDI / EDIFACT / ZUGFeRD / SEPA / DTA / CFA / DTAZV / MT101 / MT103 / MT940 / ...

      - Security: HTTPS / SSL / SSH / PKCS / PGP / JWT / WebAuthn / ...





    Es gibt weitere Fähigkeiten, die ich über das oben Erwähnte hinaus noch mitbringe. Die Liste wäre vergleichsweise lang. Lassen Sie uns doch in einem ersten unverbindlichen Gespräch herausfinden, ob nicht vielleicht auch noch das Ein oder Andere darunter ist, wonach Sie aktuell suchen.



    Code-Entwicklung


      - Code Entwicklung

      - Unit-Testing

      - Code-Reviews

      - Pair-Programming

      - Refactoring

      - Debugging / Fixing

      - Dokumentation

      - Integration

      - Optimierung


    Anforderungsanalyse und Design


      - Anforderungsverständnis

      - Architekturverständnis

      - Design-Patterns

      - Prototyping

      - API-Design

      - Modellierung

      - Use Case Analyse

      - Technologieauswahl


    Qualitätssicherung


      - Testautomatisierung

      - Integrationstests

      - End-to-End-Tests

      - Code-Qualität

      - Performance-Testing

      - Sicherheitsprüfungen

      - Continuous Integration/Continuous Deployment (CI/CD)

      - User Acceptance Testing (UAT)


    Wartung und Support


      - Bugfixing

      - Updates und Patches

      - Technische Schulden

      - Support

      - Monitoring

      - Dokumentation

      - Legacy-Refactoring

      - User Feedback


    Nutzung von KI


    Ich finde es super, dass es die KI-Technologie als Unterstützung zum Entwickeln moderner Software- und IT-Projekte gibt.
    Dabei versuche ich jedoch bestmöglich, alles lokal zu betreiben und nur so wenig wie eben möglich an Daten und Code zur Verfügung zu stellen, sollte ich online LLMs nutzen oder auch Tools, die eigenständig "online gehen" können (bspw. Function Calling in LLMs).

    Give And Take


    Dabei verlasse ich mich aber keinesfalls blind auf die Ergebnisse der Tools, sondern nutze diese eher zur Erweiterung meines Horizonts und der Betrachtung von Problemen aus einem anderen Blickwinkel. Die KI freut sich hin und wieder jedoch auch, dass ich ihr Wissen etwas ergänzen kann. :)



    <<< Software-
    architektur
    Zurück zur
    Übersicht




    Kontakt Werdegang


2024- protoco consulting - Softwareentwicklung und Beratung - Marc Burkhardt

Impressum | Datenschutzerklärung