Zum Hauptinhalt springen

Mostafa Othman

Softwareentwickler für Webanwendungen, Backend-Services und Embedded Systems.

Über mich

Ich entwickle Software vom Mikrocontroller bis zum Browser. Im Web arbeite ich mit React und TypeScript im Frontend, mit Python (FastAPI) oder C# (ASP.NET Core) im Backend und mit PostgreSQL als Datenbank. Dazu kommt Erfahrung nah an der Hardware: C und C++ für Mikrocontroller sowie Systemmodellierung mit SystemC und TLM-2.0.

Eine Zeit lang habe ich an einem Institut Webentwicklung unterrichtet. Wer Anfängern Code erklären muss, schreibt danach anders: kleine Bausteine, klare Namen und Tests, die zeigen, was der Code tun soll.

Diese Website läuft auf einem Raspberry Pi bei mir zu Hause, zusammen mit meinem eigenen GitLab-Server. Jede Änderung durchläuft eine CI/CD-Pipeline mit automatischen Tests, bevor sie live geht. So arbeite ich auch in Projekten am liebsten.

Kenntnisse

Nach Bereichen sortiert; die Werkzeuge, die ich am häufigsten nutze, stehen jeweils vorne.

  • Frontend

    • TypeScript
    • React
    • Redux
    • Material UI
    • Bootstrap
    • JavaScript
    • HTML & CSS
    • UI-Design
  • Backend

    • Python
    • FastAPI
    • Django
    • C# / ASP.NET Core
    • Node.js
    • Java / Spring Boot
    • REST-APIs
  • Datenbanken

    • PostgreSQL
    • MySQL
    • MongoDB
    • SQLite
  • DevOps & Werkzeuge

    • CI/CD (GitLab)
    • Docker
    • Git
    • Linux
    • nginx
    • Maven
    • CMake
    • npm
  • KI & Sprache

    • Automatische Spracherkennung (ASR)
  • Embedded & Systeme

    • C / C++
    • SystemC & TLM-2.0
    • Mikrocontroller
    • Assembler
    • FPGA / RTL
    • GDB

Frühere Projekte umfassen außerdem Desktop-Anwendungen mit JavaFX, Swing und Tkinter.

Wie ich arbeite

  • Von der Idee bis zum Betrieb

    Ich begleite Features von Entwurf und Code über Tests bis zum Deployment und fühle mich auf beiden Seiten der API zu Hause.

  • Getestet und automatisiert

    Tests gehören für mich zur Arbeit dazu. Eine Pipeline führt sie bei jeder Änderung aus, damit Releases unspektakulär bleiben.

  • Klare Kommunikation

    Durch das Unterrichten habe ich gelernt, technische Entscheidungen verständlich zu erklären, für Entwickler und Nicht-Entwickler.

Projekte

  • Embedded Systems

    SystemC- und TLM-2.0-Modelle, Installationshinweise und Debugging von C/C++ mit GDB.

  • IoT

    Echtzeit-Kommunikation mit Geräten über WebSockets.

  • Web

    Webprojekte, darunter diese Website: Umbraco und React, selbst gehostet mit Docker auf einem Raspberry Pi.

Aus dem Blog

  • YUV Farbformats

    Das YUV-Farbformat ist eine entscheidende Darstellung in der digitalen Bild- und Videosystemtechnik, die eine effiziente Kompression und Übertragung visueller Daten ermöglicht. Dieser Artikel...

    • informatik
    • Programmiertools
    • c/cpp

    Debug C/C++ using gdb

    Der GNU Debugger (GDB) ist ein leistungsstarkes Werkzeug, das eine umfassende Umgebung für das Debuggen von C/C++-Anwendungen bietet. Er ermöglicht Entwicklern, den Programmfluss zu analysieren...

Lassen Sie uns zusammenarbeiten

Ich bin offen für neue Projekte und Festanstellungen. Schreiben Sie mir, ich melde mich zeitnah.