Thorsten von Vietinghoff
am 14. März 2017Vita
- Seit 2009 freiberuflicher Android-Entwickler für eine Vielzahl nativer mobiler Apps für Kunden in den Bereichen Automobilindustrie, Konsumgüter, Handel, Dienstleistung und Luftfahrt.
- Vorherige langjährige Tätigkeit als Windows-Softwareentwickler und Team-/Abteilungsleiter mit Fokus auf Consumer-Multimedia.
Hallo Thorsten, an welchen Projekten arbeitest du gerade?
Aktuell teile ich meine Zeit für mehrere Projekte auf, zum einen geht es um eine Evaluierung verschiedener Datenbank-Backend-Technologien für einen großen Elektrogerätehersteller, der seine Infrastruktur für die Anforderungen mobiler Clients aufrüsten will. Zum anderen arbeite ich an einer Komponente für die App eines Nachrichtenmagazins, die dem Benutzer das Erstellen von Inhalten ermöglicht. Außerdem laufen nebenher immer mal wieder kleinere Änderungen und Erweiterungen an bestehenden Apps.
Was sind für dich gerade die wichtigsten Trends in der Android-App-Entwicklung?
Derzeit sind für mich zwei Trends besonders interessant. Zum einen die Konsolidierung verschiedener Datenbackend-Funktionalitäten, die man früher klassisch selber entwickelt hat, in Kombination mit entsprechenden Client-Libraries als Komplettlösungen, beispielsweise von Firebase, Couchbase und Realm. Hier spart man eine Menge Entwicklungsaufwand und bekommt vormals aufwändige Aspekte wie Offline-Synchronisierung gleich mitgeliefert. Zum anderen hält die reaktive Programmierung immer stärker Einzug, die es insbesondere bei asynchronen Prozessen erlaubt, die üblicherweise zerstreuten und boilerplate-lastigen Codeteile in klarer verständliche, strukturierte Abläufe zu überführen.
Wie läuft für dich ein optimales Projekt ab, was macht dir besonders Spaß?
Am meisten Spaß machen mir Projekte, bei denen man stark in die Produktentwicklung insgesamt eingebunden ist, also nicht nur bereits festgezurrte Arbeitspakete abarbeitet, sondern sowohl in Hinsicht auf die Architektur, Technologieauswahl und auch User Experience in direkter Kommunikation mit den anderen beteiligten Stakeholdern und dem Kunden die optimale Lösung entwickelt. Ich mag es bei größeren Projekten gerne, wenn Zuständigkeiten mehrerer Entwickler so aufgeteilt werden, dass jeder einen vertikalen Aufbau seines Bereichs bearbeitet, das heißt z.B. sowohl die Backendbereiche als auch um die UI zu implementieren. Zum einen hat man dann in der Regel eine geringere Gefahr, auf Ergebnisse anderer warten zu müssen, und zum anderen lernt man vor allem beim Einstieg in ein bestehendes Projekt dann auch alle Schichten der App schnell kennen.
Ich arbeite gerne agil, schnelles Feedback zu Iterationen ist wertvoll für alle Beteiligten und einer wasserfallartigen Planung aus meiner Sicht fast immer vorzuziehen.
Am liebsten arbeite ich an Apps, die später für hohe Benutzerzahlen einen echten Nutzwert bieten, so dass sie von vielen Leuten fast täglich oder täglich von vielen Leuten gerne benutzt werden.
Was läuft in den Projekten, die du in den letzten Jahren kennengelernt hast, immer wieder schief?
Gerade bei Unternehmen, die auf langbewährte IT-Strukturen aufsetzen, findet man leider häufig Infrastrukturen vor, die nicht gut für die mobilen Apps geeignet sind. Zum einen werden da teilweise bei jeder Serveranfrage immense Datenmengen übertragen, die für die App nicht erforderlich sind. Das bedeutet unnötige Wartezeiten, Akku- und Datenvolumenverbrauch. Zum anderen sind die Abläufe teilweise nicht darauf angelegt, dass konkurrierende Änderungen auftreten können (Offline-Problematik von Mobilgeräten). Oder es muss für bestimmte, in sich geschlossene Aufgaben eine Abfolge von Serveranfragen durchgeführt werden, von denen jeder einzelne potentiell fehlschlagen kann. Das kann schnell zum Verlust von Daten führen. Hier muss teilweise erheblicher clientseitiger Aufwand betrieben werden – noch dazu auf jeder unterstützten Plattform erneut. Eine eigentlich simple Aufgabe führt dann zu unerwartet hohem Aufwand, der meist mangels Detailkenntnissen der Infrastruktur und Businesslogik zum Zeitpunkt der Angebotserstellung nicht im erforderlichen Umfang eingepreist ist – wahlweise eine Gefahr für die Profitabilität oder die Geschäftsbeziehung – schlimmstenfalls beides.
Wie bleibst du auf dem Laufenden? Welche Blogs, Bücher etc. kannst du empfehlen?
Ich informiere mich überwiegend über die Youtube-Channels von Android Developers, Google Developers und Firebase, sowie die News und Webcasts auf realm.io sowie den AndroidWeekly Newsletter. Auf Twitter folge ich u.a. @JakeWharton, @duhroach (Colt McAnlis), @Piwai (Pierre-Yves Ricau). Außerdem @anddev_badvice (Bad Android Advice) für die nicht ganz ernstzunehmenden Android-Developer-Tips.
Thorsten, vielen Dank für die Beantwortung der Fragen!