Jepp, ich programmiere diese Apps für euer iPhone . Apps, das sind kleine Programme mit großer Logik. Warum ich das seit grob 2013 mache? Damit ihr das nicht machen müsst! Und weil es mir wichtig ist, dass die Programme auf allen Endgeräten dasselbe für die Nutzer tun, fokussiere ich mich auf Apple-Geräte.

Neben meiner Tätigkeit als iOS-Entwickler tüftel ich auch gerne an verschiedenste anderen Technologien herum, die meistens was mit diesem ominösen “Internet” zu tun haben, ein Beispiele dafür ist diese Website.

Meine iOS-spezifischen Kenntnisse fließen in den Podcast Audiodump ein – ich versuche dort, mal mehr, mal weniger verzweifelt, so manchen komplizierten Sachverhalt möglichst einfach zu erläutern.

Aufgrund meiner aktuellen Beschäftigung stehe ich nicht für Auftragsarbeiten zur Verfügung.

Ganz selten haben mich meine Kolleg:innen auf der Backend-Seite eines Projekts gesehen, aber nur wenige haben diese Erfahrung überlebt.

Meine Motivation hinter der Software-Entwicklung

  • Programmieren, also die Tätigkeit Code zu erzeugen, ist der Output des Software-Konzepts, der Architektur der Software, und der festgelegten Paradigmen und Code Conventions.
  • Wir coden für Menschen - nicht Maschinen. Source Code muss menschenlesbar sein, um wartbar und erweiterbar zu sein. Es sollte immer im Hinterkopf bleiben, dass der Entwickler der diesen Code in ein paar Monaten anschauen muss evtl. man selbst ist. Lesbarer Code ist guter Code - Funktionalität lässt sich nur dann optimieren, wenn der Quellcode an sich zugänglich ist.
  • Es gibt keinen fehlerfreien Code. Fehler zu akzeptieren und zu beseitigen ist Teil des Alltags. Es muss professionelles Verständnis sein, dass der Hinweis auf fehlerhafte Implementierungen kein fehlender Respekt ist, sondern der gemeinsame Drive, besser zu werden.
  • Objektorientierung ist ein in manchen Fällen überholtes Modell, hat aber ihre Daseinsberechtigung. Sie sollte aber nicht willkürlich eingesetzt werden, "weil man das halt so macht", oder gar nicht anders kennt.

Randnotizen

  • Scrum funktioniert
  • Arc42 generiert Mehrwert
  • SAFe funktioniert
  • Composition over Inheritance
  • Sicherheit ohne Transparenz, ohne Open Source, ist eine Lüge
  • Abstraktion > Konkretisierung


Oder um es anderes auszudrücken:

Programmierer lösen gerne die Probleme, die Sie gerne hätten – nicht zwangsläufig die Probleme, die Sie wirklich haben. Unbekannter Author, leider allzu wahr.

Nebenprojekt: Ladefuchs -- Einfach schlau laden

WAS KOSTET DER STROM FÜR DEIN E-AUTO?
Blitzschnell die günstigste Ladekarte finden. Mit einem Fingerwischen zeigt Dir der Ladefuchs die günstigste Ladekarte an der Elektro-Ladesäule.
Nicht mehr, nicht weniger.

Beschreibung der App, übernommen von https://ladefuchs.app.

  • Ladefuchs ist ein Kooperationsprojekt von Mitgliedern der Podcasts Clean Electric, Bits und so und Audiodump.
  • Die App ein Geschenk an alle Fahrer von Elektro-Fahrzeugen, die gesamte EV-Community und alle Hörer unserer Podcasts und wird unentgeltlich von uns entwickelt.
  • Ladefuchs-Strompreise werden durch eine Kooperation mit ChargePrice zur Verfügung gestellt.
  • Mein Beitrag zum Ladefuchs ist die Entwicklung der iOS-App.
Weitere Informationen zu diesem Projekt finden sich hier.

swift xcode alamofire swiftyJSON

Nebenprojekt: derflo.io -- Meine persönliche Website

Webseiten sollten performant, leichtgewichtig und ohne Tracking versehen sein. Idealerweise funktionieren Sie ohne Datenbanken und lassen sich über GIT versionieren. Durch den Verzicht auf Trackung und dank Jekyll erfüllt dieses Projekt die genannten Kriterien.

Das Projekt ist Open Source, um der Community etwas zurückzugeben.

  • Erstellt mit Jekyll und UIKit.
  • Diese statische Website wird bei jedem Push, aber mindestens jede Nacht durch eine GitHub Action gebaut und deployed.
  • Gehostet wird die Seite auf GitHub, spezifischer GitHub Pages.
Weitere Informationen zu diesem Projekt finden sich hier, der Quellcode hier.

jekyll liquid html javascript github actions

Nebenprojekt: Virtual Private Server


Seit Anfang des Jahres 2020 betreibe ich beim Hoster Contabo meinen eigenen kleinen Server zu privaten Zwecken. Einen eigenen Server zu Betreiben ist eine Herausforderung, der ich mich gerne stelle, insbesondere im Security-Bereich.

Dieser Server stellt einen Lernbereich für mich dar, denn Nutzen und Lernen lassen sich hier optimal verbinden, zum Beispiel:

  • Absicherung der Remote Shell des VPS, u.a. über sshd_config und fail2ban.
  • Konfiguration von DNS-Zonen um den VPS über eine Domain erreichbar zu machen.
  • Betrieb des Reverse-Proxy nginx um lokale Services abzusichern.
  • Konfiguration von certbot (Let's Encrypt) und nginx um Webservices mit HTTPS abzusichern.
  • Konfiguration und Betrieb von Containern über docker und docker-compose.
  • Betrieb des modernen IRC-Clients und Bouncers The Lounge.

Eckdaten

  • 4 vCPU
  • 8 GB RAM
  • 200 GB SSD

ubuntu ufw OpenSSH fail2ban nginx docker lets encrypt

Elevator CV

Die unten aufgelisteten Themen und Technologien sind unvollständig. Weitere Details dürfen aus Compliance-Gründen nicht genannt werden.

Robert Bosch GmbH

iOS Software-Engineer, 2018 - Heute
  • Analyse, technisches Konzept und Umsetzung von Apps in den Themenfeldern:
    • Corporate Mobility
    • eBike
    • Automated Valet Parking
    • Charging Infrastructure
  • Implementierung CI/CD-Pipelines mehrere Apps mit MS Azure DevOps und MS AppCenter.
  • Mitglied in der Gilde "Continous Integration".
  • Mitarbeit in SAFe Teams zwischen 50 und 120+ Teammitgliedern.
  • Schnittstelle App-EntwicklungUX.
  • Weitere Inhalte folgen nach Freigabe.
swift objective-c azure devops ms appcenter yaml oauth2 cocoapods carthage adobe photoshop adobe xD

myScotty

iOS Software-Engineer, 2017 - 2018
  • Integration neuer Features in die App des Start-Ups.
  • Implementierung CI/CD-Pipeline für die App des Start-Ups.
  • Einführung von OKR in das Unternehmen.
  • Koordination des iOS-Entwicklerteam in Ludwigsburg (DE) und Cluj-Napoca (RO).
  • Anpassung der iOS-Softwarearchitektur um Wartbarkeit, Testbarkeit und Zuverlässigkeit zu erhöhen.
  • Schnittstelle App-EntwicklungUX.
swift objective-c azure devops ms appcenter yaml cocoapods adobe photoshop adobe xD

Zeitland media & games GmbH

Technical Director, 2014 - 2017
  • Implementierung von cross-platform Apps und Videospielen in Microsoft Xamarin bzw. Unity3D.
  • Lead-Entwicklung native iOS-Entwicklung u.a. im Pharma-Bereich.
  • Unterstützung unserer Kunden bei der Verteilung von Apps innerhalb ihres Unternehmens.
swift objective-c c# cocoapods

Selbstständiger Unternehmer

2013 - 2014
  • Native iOS-Entwicklung.
  • Unterstützung in Konzept und Entwurf von Software-Oberflächen.
  • Unterstützung meiner Kunden bei der Verteilung von Apps innerhalb ihres Unternehmens.
objective-c adobe photoshop

Für Fans von Listen

Programmiersprachen

  • Swift
  • Objective-C
  • YAML
  • LaTeX
  • C#
  • HTML
  • CSS
  • Shellscripts

Tools

  • Apple Xcode
  • JetBrains AppCode
  • Carthage
  • Cocoapods
  • Adobe Photoshop
  • Adobe xD
  • Microsoft Xamarin.iOS
  • Unity3D
  • Jekyll
  • Homebrew
  • VSCode
  • GIT

Corporate

  • SAFe & Scrum
  • Atlassian Bitbucket
  • Atlassian Jira
  • Atlassian Confluence
  • GitHub Enterprise

Administration

  • Nextcloud
  • MS AppCenter
  • MS Azure DevOps
    • Teams
    • Projekte
    • Pipelines
    • SCM Policies



Am 05.05.2021 habe ich meine bestehenden StackOverflow-Accounts eingestampft und einen neuen, korrekten Account erstellt.

profile for Flowinho at Stack Overflow, Q&A for professional and enthusiast programmers