Bei passendem Remoteanteil ist nahezu jeder Einsatzort möglich. Dabei ist selbstverständich, dass Einarbeitung sowie wichtige Absprachen (z.B. Sprintwechsel) vor Ort erfolgen.
Im Rahmen der fortschreitenden Digitalisierung im Gesundheitswesen, arbeitete diese Krankenkasse mit einem externen Dienstleister u.a. an der Digitalisierung so genannter medizinischer Informa+onsobjekte wie beispielsweise Zahnbonushe9, Mugerpass, Kinderuntersuchungshe9 sowie diverser krankheitsbegleitender Dokumente. Um diesen Prozess zu unterstützen und weiter auszubauen wurde ich zum Projekt hinzugezogen. Backendsei+g wurde die Datenhaltung durch den externen Partner realisiert.
Die Arbeit mit Personendaten verlangte ein hohes Maß an Sicherheit im gesamten Arbeitsalltag und so wurde ein besonderes Augenmerk auf Mobile Security, besonders im Kontext OWASP Top10, gelegt.s
Die Komplexität der Umsetzung lag o9 in der Kombina+on fachlicher Vorgaben hinsichtlich UX/UI seitens der Krankenkasse mit dem vom externen Dienstkleister bereitgestellten SDK und dessen Dokumenta+on.
Die gesamte App besteht aus mehreren Modulen, an welchen jeweils ein eigenständiges Team arbeitet. Somit war auch die Kommunika+on zwischen den Teams hinsichtlich Stringenz in der Entwicklung (Frameworks, Architektur, CodeStyle, etc.), Versionskontrollsystems und BuildManagement von entscheidender Bedeutung. Ein hohes Maß an Qualität wurde durch eine hohe Testabdeckung (Unit- & Snapshot und UI-Tests), automa+sierte Codeanalysen (SonarQube) sowie CodeReviews und Code-Ownership gewährleistet.
Im Verlauf des Projektes war eine der größten Herausforderungen der Wechsel von UIKit zu Swi9UI. Hierbei wurde das bestehende Komponentensystem neu geschrieben um fortan alles in Swi9UI zu implemen+eren. Dabei mussten die Komponenten, unter Beibehaltung der bestehenden Naviga+onsstruktur, vollständig ersetzt werden.
Insgesamt war die Arbeit im Unternehmen vielen Abhängigkeiten und Anforderungen unterworfen, was durch den Einsatz des Scaled Agile Framework (SAFe) sehr geordnet ablief.
Im Projekt selbst war ich sowohl an der Planung und Konzeption neuer Features als auch an der Umsetzung der Designs beteiligt. Zum strukturierten Ablauf in der Umsetzung des kompletten Re-Designs der App konnte ich maßgeblich beitragen.
Ein weiterer Schwerpunkt im Projekt war der Einbau einer Offline- und der Download-Fähigkeit, wodurch der Nutzer Inhalte herunterladen, verwalten und ohne Internetzugang konsumieren kann. Dabei hatte ich stets UI und UX im Auge und konnte im Zusammenspiel mit dem Designer einige Verbesserungen und Vereinheitlichungen erreichen.
Die App war bereits gut getestet, dennoch galt mein zusätzliches Augenmerk der Erhöhung der Testabdeckung und Verbesserung der Workflows, insbesondere der Build-Pipeline.
Die Arbeit in einem interdisziplinären Team mit Konzepter, Grafikern und Entwicklern bildete den Schwer- punkt meiner Arbeit. Besonderes Augenmerk lag dabei auf einer effizienten Umsetzung der Kundenanforderungen, um die App stets weiterzuentwickeln, zu verbessern und den Nutzerwünschen und -ansprüchen nachzukommen.
Meine Arbeit begann direkt in der Anfangsphase des Projektes, wodurch ich sehr stark in die Konzeption der App und deren optischen Aufbau integriert war und viele Ideen einbringen und auch integrieren konnte.
Im späteren Verlauf verlagerte sich mein Tätigkeitsfeld darauf, auf Grundlage neuer konzeptioneller Ideen, Arbeitsanweisungen für die Entwicklerteams (offshore) zu erstellen. Im Nachgang überprüfte ich die Ergebnisse auf Vollständigkeit der Anforderungen.
Parallel zu meiner Arbeit, war ich stets Ansprechpartner für die Lösung technisch anspruchsvoller Probleme (auf der Basis der Umsetzungstechnologie ReactNative) sowie für den Ausbau des Buildprozesses.
Am Anfang des Projektes stand eine erste, noch unvollständige Konzeptidee. Daher war es zunächst meine Aufgabe den thematischen Projektumfang zu definieren und die Konzeption weiter auszuarbeiten. Auf dieser Basis erstellte ich Wireframes und später das Design der App. In dieser Zeit definierte ich erste Arbeitsprozesse und war in das Projektmanagement eingebunden. Aufgrund dieser Erfahrungen wurde ich damit betraut neue und junge Teammitglieder in Projekt und Arbeitsweise einzuführen und sie fest ins Team zu integrieren.
Gemeinsam mit anderen Entwicklern realisierte ich die App zunächst nativ mit Swift, später mit React Native. Dabei kümmerte ich mich hauptverantwortlich um die Verknüpfung von Front- und Backend und arbeitete an der Umsetzung des Designs.
Parallel zur Entwicklung, arbeitete ich am Konzept und Design weiterer App-Komponenten mit. Ich schaffte es in der Projektzeit einen sauberen Build-Prozess zu etablieren und agile Planungs- und
Entwicklungsprozesse zu initiieren.
Hierbei handelte es sich um eine bestehende Enterprise-App auf Basis von Swift.
Meine Hauptaufgabe war zum einen das Beheben bestehender Probleme sowie die Entwicklung neuer Features (inkl. Unit-Tests).
Zum anderen lag das Thema Barrierefreiheit/Accessibility gänzlich in meinem Verantwortungsbereich. Die komplette App hatte derzeit noch keinerlei Vorbereitungen hinsichtlich Barrierefreiheit. Das Ziel war, die App auf die umfangreichen Abnahme-Tests durch die T-Systems MMS vorzubereiten. Dieses Ziel konnte ich, mit Lob durch die Prüfer, im gesetzten Zeitrahmen erreichen.
Aufgrund meiner Erfahrung und meines Wissens als ScrumMaster konnte ich, neben der Entwicklung, zur Optimierung und Professionalisierung der Arbeits- und Organisationsprozesse beitragen.
Dieses Projekt war eine klassische Weiterentwicklung einer bereits veröffentlichten App. Diese wurde an- fangs mit Objective-C begonnen und im weiteren Verlauf mit und mit auf Swift umgestellt. Neben diversen Fehlerbehebungen stand die Featureentwicklung im absoluten Fokus. In enger Zusammenarbeit mit dem Designer der App sowie dem technischen Projektleiter entwickelte ich mit einem weiteren iOS-Developer die App über mehrere Versionen hinweg weiter. Der Umbau auf Swift sowie ein stetiges Refactoring und die Verbesserung der Unit-Testabdeckung des Altcodes standen dabei im Mittelpunkt. Besonders Letzteres zahlte sich während der Entwicklung immer wieder aus.
Die Kommunikation erfolgte nach einem ersten Kennenlernen und Einarbeiten zu 100% remote und war äußerst effizient.
Ziel dieser App ist es, Nutzern die Möglichkeit zu bieten Werbung als Bild oder Video zu betrachten damit zu interagieren und an Gewinnspielen teilzunehmen.
Es existierte bereits eine App, welche jedoch konzeptuell noch visuell auf dem Stand der Zeit war und den gegenwärtigen Anforderungen nicht mehr gerecht wurde. Aus diesem Grund, wurde die App komplett neu aufgesetzt. Grafik und Backend wurden von Drittanbietern umgesetzt.
Meine Aufgabe war es den Kunden konzeptionell zu unterstützen und die App als solches zu entwickeln. Hierfür war es notwenig Development-Workflows aufzubauen. Dazu zählen u.a. eine funktionierende Build-Pipeline sowie Vorgehensweisen zur effizienten Integration von Grafik- und Backendlieferungen.
Die App wurde vollständig mit Swift 3 und Autolayout umgesetzt. Die Backend-API wurde ebenfalls vollständig lokal gelockt, sodass auch ohne Backend und Internet die Entwicklung vorangehen kann. Das UI wurde so weit wie möglich über Storyboards in Interface-Builder umgesetzt, sodass nach agiler Manier die Usability des UIs sowie der UserInteraction getestet und gegebenenfalls ohne großen Aufwand angepasst und verbessert werden konnte.
Am Ende des Projektes war die App zu großen Teilen funktional und visuell fast vollständig umgesetzt.
Am Anfang stand nur die grobe Idee einer App, welche Feedback transparent, aber möglichst reibungsfrei von einem Trainer an den von ihm trainierten Schüler übermittelt. Hinzu kamen Vernetzungen zwischen Trainer und Schüler sowie Statistiken. In der Konzeption sind weitere Features wie Feeds und detailliertere Statistiken bereits enthalten.
Aus dieser Idee erarbeitete ich mit dem Auftraggeber ein erstes Konzept sowie sinnvolle Screen-Flows. Daraus entwickelte ich Fireframes, welche ich in einem interaktiven Prototypen zusammenfügte. Auf Basis des entstandenen Feedbacks wurden Konzept und Prototyp weiterentwickelt, bis die eigentliche Entwicklungsphase begann.
Auch in dieser Zeit entwickelte sich das Projekt iterativ weiter und reifte im Verlauf der Entwicklung. Geplant war die Entwicklung einer iOS- sowie einer Android-App, wofür sich der Einsatz von React-Native anbot. Als Backend-Lösung wurde auf Firebase in Verbindung mit Elastic-Search gesetzt. Hierbei war ich für den Firebase-Teil vollumfänglich verantwortlich.
Nach einer Entwicklungszeit von ca 2,5 Monaten befindet sich das Projekt nun in einer Beta-Testphase in welcher Idee und Konzept erprobt werden. Da die iOS-App die höhere Priorität hatte, sind in der Android- App noch vereinzelt grafische Korrekturen (Sonderanpassungen) notwendig. Hierauf wurde bewusst für die Beta-Phase verzichtet.
Die P3 communications beauftragte mich, Ihren aktuellen Entwicklungsprozess und dadurch entstandene Produkte zu analysieren, zu bewerten und gegebenenfalls Verbesserungsvorschläge zu unterbreiten. Der Fokus lag dabei schwerpunktmäßig auf der Optimierung der Quellcode-Erzeugung und auf konkreten Implementierungsfragen.
Nach einer Einführung in eigens entwickelte Frameworks und Bibliotheken begann ich mit der Analyse des Quellcodes. Dieser war größtenteils sauber, skalierbar und wartbar, allerdings konnte ich an einigen Stellen die grundsätzliche Struktur verbessern und dies mit Optimierungen des Entwicklungsprozesses verbinden. Beispielsweise konnte durch die programmatische Erzeugung von Vektorgrafiken ein Großteil der App-Bundle-Größe eingespart werden, ohne den Quellcode komplexer zu machen. Bei diversen Implementierungsfragen zeigte ich konkrete Lösungen auf oder demonstrierte mögliche Lösungsansätze. Schließlich wurde auch der Softwareentwickungsprozess als Ganzes betrachtet. Ich gab Empfehlungen für effizientere Tools, gab kurze Einweisungen und demonstrierte deren Einsatz. Eine weitere Effizienzsteigerung
erreichte ich durch die Optimierung des vorhandenen Rechner-Setups sowie durch Tipps zum effektiveren Einsatz vorhandener Tools.
Vorschläge und Kurzeinführungen zur Prozessverbesserung mit Unit-Tests, Continuous Integration und Taskmanagement bildeten den Abschluss dieses Consultings.
Während das Projekt bereits lief, wurde ich hinzugezogen, um die Layout-Anpassungen voranzubringen und bestehende Fehler in der App zu beheben. Weiterhin übernahm ich das Einpflegen inhaltlicher Neuerungen sowohl in bestehende JSON-Strukturen als auch in Webviews, die als HTML/CSS vorlagen.
Die Aufgabenverwaltung erfolgte dabei vornehmlich mittels JIRA.
Beschreibung
Ziel war die Erstellung einer Bibliothek, um Tracking-Verhalten so komfortabel und flexibel wie möglich in verschiedene Spiele zu integrieren. Dabei lag der Fokus auf Vergleichbarkeit und Nachhaltigkeit der Daten. Es war sicherzustellen, dass Daten innerhalb verschiedener Spiele in möglichst gleicher Form und Zeit erhoben und auch bei Verbindungsproblemen sicher an den Server geschickt werden. Dies erreicht die Bibliothek, in dem sie dem Anwender so viele Aufgaben wie möglich abnimmt oder einheitliche Wege zur individuellen Datensammlung bietet. Die Bibliothek stellt eine vereinheitlichte Schnittstelle zwischen den Spiele-Entwicklungsteams und der Business-Intelligence Abteilung dar. Somit kann die Art der Datenerhebung für alle Spiele an einem zentralen Punkt angepasst werden.
Beschreibung
Nachdem das Spiel initial im AppStore released wurde, kam ich zum Projektteam hinzu. Nach einer kurzen Einarbeitungszeit baute ich weitere Funktionalität für die kommenden Releases ein. So realisierte ich z.B. die Einbindung eines Sammelbuches mit nativer Blätterfunktion der Seiten und arbeitete mit GameCenter Achievements, InAppPurchases, Push und Local Notifications, BitmapFonts sowie der Einbindung größenoptimierter Grafiken per Spritesheets aus TexturePacker.
Generell arbeitete ich in einem interdisziplinären Team aus Entwicklern, Grafikern, Spiele-Designern und Projektmanagern. Mittels agiler Softwareentwicklung konnte stets flexibel auf Veränderungen am Markt (Konkurrenzspiele) reagiert und neue Ideen spontan eingebunden werden.
Das Spiel ist komplett auf das iPhone 5 angepasst und neue Funktionalität wurde stets im Voraus in A/BTests untersucht.
Bubble Island war ein bestehendes und erfolgreiches Spiel. Allerdings war es kaum wartbar und skalierte sehr schlecht. Deshalb wurde das Spiel einem 100%igen Refactoring unterzogen.
Meine Aufgabe war es, den Quellcode zu verbessern und schnellstmöglich wieder neue Funktionalität in das Spiel zu integrieren. Dazu wurde das Spiel in verschiedene Module gegliedert, um schnell Teile des Spiels im Live-Betrieb ersetzen zu können. Nur so war es möglich, die Nutzer nicht bis zum Ende des Refactorings warten zu lassen. Das Team teilte sich die Aufgaben für das Refactoring und den Aufbau neuer Funktionalität auf. Gearbeitet wurde stets als ‘Pair’, wodurch Wissensinseln vermieden wurden und eine konstant hohe Geschwindigkeit in der Entwicklung sicher gestellt werden konnte. Der Code ist nun vollständig getestet (mit Ausnahme der Grafikelemente), sauber implementiert und skaliert sehr gut. Nach dem Neubau des Spiels, baute ich mit wechselnden Teamkollegen die Nutzerführung innerhalb des Spiels um und neue Funktionalität ein. Jeder Refactoring-Schritt und jede neue Funktionalität wurde im Voraus in A/B-Tests untersucht.
Während des Projektverlaufes wurde das Team mehrfach verändert. Meine Aufgabe als leitender Entwickler war es, neuen Kollegen ein umfassendes Verständnis von Projekt und Code zu geben. Letztlich gelang es mir, das gesamte Team von einer agilen Arbeitsweise zu überzeugen und diese diszipliniert durchzuführen. Dies machte uns als Team flexibel und effizient.
Diamond Dash ist ein sehr erfolgreiches Social Game auf Facebook und mittlerweile auch auf iOS und Android. Als ich zum Projekt kam, war die Code-Basis sehr unstrukturiert, was zu sehr langen Zyklen in der Fehlerbehebung sowie im Neubau von Funktionalität führte.
Meine Aufgabe war es, das Projekt vollständig zu refactoren und es wieder wartbar und skalierbar zu machen. In einem kleinen Team wurde stets agil und mittels Pair Programming zusammengearbeitet. Dies geschah erfolgreich sowohl vor Ort als auch von verteilten Arbeitsplätzen aus und vermied die Entstehung von Wissensinseln. Sämtliche Funktionalität wurde im Voraus in A/B-Tests untersucht.
Ein sauberer und strukturierter Aufbau des Projektes sowie der Architektur und des Quellcodes an sich, war von besonderer Bedeutung und ermöglichte im späteren Projektverlauf die Einarbeitung neuer Kollegen sowie eine sehr unproblematische Übergabe des Projektes.
Im Rahmen der UEFA Europameisterschaft 2012 gehörte auch ein Bildschirmschoner zur Kampagne.
Meine Aufgabe war es, diesen zeitnah umzusetzen. Ich arbeitete bei diesem Projekt nur mit einem Grafiker zusammen.
Zu diesem Projekt wurde ich zur Unterstützung hinzugezogen. Meine Aufgabe war es, in Abstimmung mit dem Dienstleister, einen ‘Music-Player’ in das Projekt einzubinden und anzusteuern. Die Herausforderung lag dabei im modularen Aufbau und den Sicherheitsrichtlinien des Kunden. Nach der erfolgreichen Umsetzung dieser Teilaufgabe arbeitete ich an weiteren Funktionsmodule und Fehlerkorrekturen.
Im Rahmen der Kampagne “Surreale Dinge” war es meine Aufgabe, eine Facebook-App umzusetzen und diese in die vorhandene Facebook-Seite zu integrieren. Die App nimmt ein Foto des Nutzers auf und reduziert die Augenpartie auf nur ein Auge. Das Resultat kann sich der Nutzer in seinem Facebook-Fotoalbum speichern.
In diesem Projekt war ich verantwortlich für den Aufbau der Architektur sowie für die programmatische Umsetzung der Website. Ein Schwerpunkt war die Introsequenz, welche programmatisch mit multilingualem Text kombiniert und synchronisiert wurde. Neben den vielen Animationen und interaktiven Inhalten war die Mehrsprachigkeit der gesamten Website ein weiterer Schwerpunkt.
Die Umsetzung erfolgte schrittweise. Vom Grafiker bekam ich eine PSD-Datei, aus welcher ich mir die benötigten Grafiken exportierte. Ich übernahm die Programmierung und bekam hierzu XML-Dateien mit den multilingualen Textinhalten aus einem CMS. Die fertigen Inhalte wurden dann beim Provider für die Veröffentlichung in einem sehr genau beschriebenen Weg zur Verfügung gestellt.
Converse Deutschland beauftragte die Powerflasher GmbH 2007 mit dem Relaunch ihrer Website sowie
in der Folge mit mehreren Kampagnen. Für eine dieser Kampagnen names “Spark” war ich mit der Architektur
und Umsetzung betraut. Der Projektverlauf und die Zusammenarbeit im Team war agil geprägt
und sehr effizient. Der Kunde war stets nah am Projektverlauf und konnte aktuelle Fortschritte per Build-
Server mitverfolgen und ausprobieren.
Leider ist es mir nur möglich hier Projekte aufzuzeigen, die die NDA-Bestimmungen des jeweiligen Auftraggebers nicht verletzen. Daher ergeben sich teilweise größere Lücken in der zeitlichen Abfolge und ein Nachweis über Erfahrungen wird erschwert.
Weiterbildungen
Zertifizierungen
Kernkompetenzen
Technik
Umsetzung
Methoden
Beruflicher Hintergrund
Juli 2014 ? Heute
Freiberuflicher Software-Entwickler für iOS (Objective-C/Swift) und Flash (ActionScript 3)
sowie freiberuflicher ScrumMaster
Juni 2011 ? Mai 2014
Senior Software Engineer für Objective-C/iOS und ActionScript 3 sowie Spezialist für agile
Prozesse bei der Wooga GmbH
Dezember 2010 ? Mai 2011
Developer für ActionScript 3 bei der Scholz & Volkmer GmbH
April 2009 ? Dezember 2010
Software-Entwickler für ActionScript 3, AIR und Flex bei der Powerflasher GmbH
April 2008 ? März 2009
Diplomand zum Thema: ?Einsatz skriptbasierter Programmiersprachen im Softwareentwicklungsprozess
mit ActionScript 3.0 am Beispiel der Tool Command Language (Tcl).?
Oktober 2007 ? März 2008
Praktikum im Volleinsatz als Softwareentwickler für ActionScript 3, AIR und Flex bei der Powerflasher
GmbH
Bei passendem Remoteanteil ist nahezu jeder Einsatzort möglich. Dabei ist selbstverständich, dass Einarbeitung sowie wichtige Absprachen (z.B. Sprintwechsel) vor Ort erfolgen.
Im Rahmen der fortschreitenden Digitalisierung im Gesundheitswesen, arbeitete diese Krankenkasse mit einem externen Dienstleister u.a. an der Digitalisierung so genannter medizinischer Informa+onsobjekte wie beispielsweise Zahnbonushe9, Mugerpass, Kinderuntersuchungshe9 sowie diverser krankheitsbegleitender Dokumente. Um diesen Prozess zu unterstützen und weiter auszubauen wurde ich zum Projekt hinzugezogen. Backendsei+g wurde die Datenhaltung durch den externen Partner realisiert.
Die Arbeit mit Personendaten verlangte ein hohes Maß an Sicherheit im gesamten Arbeitsalltag und so wurde ein besonderes Augenmerk auf Mobile Security, besonders im Kontext OWASP Top10, gelegt.s
Die Komplexität der Umsetzung lag o9 in der Kombina+on fachlicher Vorgaben hinsichtlich UX/UI seitens der Krankenkasse mit dem vom externen Dienstkleister bereitgestellten SDK und dessen Dokumenta+on.
Die gesamte App besteht aus mehreren Modulen, an welchen jeweils ein eigenständiges Team arbeitet. Somit war auch die Kommunika+on zwischen den Teams hinsichtlich Stringenz in der Entwicklung (Frameworks, Architektur, CodeStyle, etc.), Versionskontrollsystems und BuildManagement von entscheidender Bedeutung. Ein hohes Maß an Qualität wurde durch eine hohe Testabdeckung (Unit- & Snapshot und UI-Tests), automa+sierte Codeanalysen (SonarQube) sowie CodeReviews und Code-Ownership gewährleistet.
Im Verlauf des Projektes war eine der größten Herausforderungen der Wechsel von UIKit zu Swi9UI. Hierbei wurde das bestehende Komponentensystem neu geschrieben um fortan alles in Swi9UI zu implemen+eren. Dabei mussten die Komponenten, unter Beibehaltung der bestehenden Naviga+onsstruktur, vollständig ersetzt werden.
Insgesamt war die Arbeit im Unternehmen vielen Abhängigkeiten und Anforderungen unterworfen, was durch den Einsatz des Scaled Agile Framework (SAFe) sehr geordnet ablief.
Im Projekt selbst war ich sowohl an der Planung und Konzeption neuer Features als auch an der Umsetzung der Designs beteiligt. Zum strukturierten Ablauf in der Umsetzung des kompletten Re-Designs der App konnte ich maßgeblich beitragen.
Ein weiterer Schwerpunkt im Projekt war der Einbau einer Offline- und der Download-Fähigkeit, wodurch der Nutzer Inhalte herunterladen, verwalten und ohne Internetzugang konsumieren kann. Dabei hatte ich stets UI und UX im Auge und konnte im Zusammenspiel mit dem Designer einige Verbesserungen und Vereinheitlichungen erreichen.
Die App war bereits gut getestet, dennoch galt mein zusätzliches Augenmerk der Erhöhung der Testabdeckung und Verbesserung der Workflows, insbesondere der Build-Pipeline.
Die Arbeit in einem interdisziplinären Team mit Konzepter, Grafikern und Entwicklern bildete den Schwer- punkt meiner Arbeit. Besonderes Augenmerk lag dabei auf einer effizienten Umsetzung der Kundenanforderungen, um die App stets weiterzuentwickeln, zu verbessern und den Nutzerwünschen und -ansprüchen nachzukommen.
Meine Arbeit begann direkt in der Anfangsphase des Projektes, wodurch ich sehr stark in die Konzeption der App und deren optischen Aufbau integriert war und viele Ideen einbringen und auch integrieren konnte.
Im späteren Verlauf verlagerte sich mein Tätigkeitsfeld darauf, auf Grundlage neuer konzeptioneller Ideen, Arbeitsanweisungen für die Entwicklerteams (offshore) zu erstellen. Im Nachgang überprüfte ich die Ergebnisse auf Vollständigkeit der Anforderungen.
Parallel zu meiner Arbeit, war ich stets Ansprechpartner für die Lösung technisch anspruchsvoller Probleme (auf der Basis der Umsetzungstechnologie ReactNative) sowie für den Ausbau des Buildprozesses.
Am Anfang des Projektes stand eine erste, noch unvollständige Konzeptidee. Daher war es zunächst meine Aufgabe den thematischen Projektumfang zu definieren und die Konzeption weiter auszuarbeiten. Auf dieser Basis erstellte ich Wireframes und später das Design der App. In dieser Zeit definierte ich erste Arbeitsprozesse und war in das Projektmanagement eingebunden. Aufgrund dieser Erfahrungen wurde ich damit betraut neue und junge Teammitglieder in Projekt und Arbeitsweise einzuführen und sie fest ins Team zu integrieren.
Gemeinsam mit anderen Entwicklern realisierte ich die App zunächst nativ mit Swift, später mit React Native. Dabei kümmerte ich mich hauptverantwortlich um die Verknüpfung von Front- und Backend und arbeitete an der Umsetzung des Designs.
Parallel zur Entwicklung, arbeitete ich am Konzept und Design weiterer App-Komponenten mit. Ich schaffte es in der Projektzeit einen sauberen Build-Prozess zu etablieren und agile Planungs- und
Entwicklungsprozesse zu initiieren.
Hierbei handelte es sich um eine bestehende Enterprise-App auf Basis von Swift.
Meine Hauptaufgabe war zum einen das Beheben bestehender Probleme sowie die Entwicklung neuer Features (inkl. Unit-Tests).
Zum anderen lag das Thema Barrierefreiheit/Accessibility gänzlich in meinem Verantwortungsbereich. Die komplette App hatte derzeit noch keinerlei Vorbereitungen hinsichtlich Barrierefreiheit. Das Ziel war, die App auf die umfangreichen Abnahme-Tests durch die T-Systems MMS vorzubereiten. Dieses Ziel konnte ich, mit Lob durch die Prüfer, im gesetzten Zeitrahmen erreichen.
Aufgrund meiner Erfahrung und meines Wissens als ScrumMaster konnte ich, neben der Entwicklung, zur Optimierung und Professionalisierung der Arbeits- und Organisationsprozesse beitragen.
Dieses Projekt war eine klassische Weiterentwicklung einer bereits veröffentlichten App. Diese wurde an- fangs mit Objective-C begonnen und im weiteren Verlauf mit und mit auf Swift umgestellt. Neben diversen Fehlerbehebungen stand die Featureentwicklung im absoluten Fokus. In enger Zusammenarbeit mit dem Designer der App sowie dem technischen Projektleiter entwickelte ich mit einem weiteren iOS-Developer die App über mehrere Versionen hinweg weiter. Der Umbau auf Swift sowie ein stetiges Refactoring und die Verbesserung der Unit-Testabdeckung des Altcodes standen dabei im Mittelpunkt. Besonders Letzteres zahlte sich während der Entwicklung immer wieder aus.
Die Kommunikation erfolgte nach einem ersten Kennenlernen und Einarbeiten zu 100% remote und war äußerst effizient.
Ziel dieser App ist es, Nutzern die Möglichkeit zu bieten Werbung als Bild oder Video zu betrachten damit zu interagieren und an Gewinnspielen teilzunehmen.
Es existierte bereits eine App, welche jedoch konzeptuell noch visuell auf dem Stand der Zeit war und den gegenwärtigen Anforderungen nicht mehr gerecht wurde. Aus diesem Grund, wurde die App komplett neu aufgesetzt. Grafik und Backend wurden von Drittanbietern umgesetzt.
Meine Aufgabe war es den Kunden konzeptionell zu unterstützen und die App als solches zu entwickeln. Hierfür war es notwenig Development-Workflows aufzubauen. Dazu zählen u.a. eine funktionierende Build-Pipeline sowie Vorgehensweisen zur effizienten Integration von Grafik- und Backendlieferungen.
Die App wurde vollständig mit Swift 3 und Autolayout umgesetzt. Die Backend-API wurde ebenfalls vollständig lokal gelockt, sodass auch ohne Backend und Internet die Entwicklung vorangehen kann. Das UI wurde so weit wie möglich über Storyboards in Interface-Builder umgesetzt, sodass nach agiler Manier die Usability des UIs sowie der UserInteraction getestet und gegebenenfalls ohne großen Aufwand angepasst und verbessert werden konnte.
Am Ende des Projektes war die App zu großen Teilen funktional und visuell fast vollständig umgesetzt.
Am Anfang stand nur die grobe Idee einer App, welche Feedback transparent, aber möglichst reibungsfrei von einem Trainer an den von ihm trainierten Schüler übermittelt. Hinzu kamen Vernetzungen zwischen Trainer und Schüler sowie Statistiken. In der Konzeption sind weitere Features wie Feeds und detailliertere Statistiken bereits enthalten.
Aus dieser Idee erarbeitete ich mit dem Auftraggeber ein erstes Konzept sowie sinnvolle Screen-Flows. Daraus entwickelte ich Fireframes, welche ich in einem interaktiven Prototypen zusammenfügte. Auf Basis des entstandenen Feedbacks wurden Konzept und Prototyp weiterentwickelt, bis die eigentliche Entwicklungsphase begann.
Auch in dieser Zeit entwickelte sich das Projekt iterativ weiter und reifte im Verlauf der Entwicklung. Geplant war die Entwicklung einer iOS- sowie einer Android-App, wofür sich der Einsatz von React-Native anbot. Als Backend-Lösung wurde auf Firebase in Verbindung mit Elastic-Search gesetzt. Hierbei war ich für den Firebase-Teil vollumfänglich verantwortlich.
Nach einer Entwicklungszeit von ca 2,5 Monaten befindet sich das Projekt nun in einer Beta-Testphase in welcher Idee und Konzept erprobt werden. Da die iOS-App die höhere Priorität hatte, sind in der Android- App noch vereinzelt grafische Korrekturen (Sonderanpassungen) notwendig. Hierauf wurde bewusst für die Beta-Phase verzichtet.
Die P3 communications beauftragte mich, Ihren aktuellen Entwicklungsprozess und dadurch entstandene Produkte zu analysieren, zu bewerten und gegebenenfalls Verbesserungsvorschläge zu unterbreiten. Der Fokus lag dabei schwerpunktmäßig auf der Optimierung der Quellcode-Erzeugung und auf konkreten Implementierungsfragen.
Nach einer Einführung in eigens entwickelte Frameworks und Bibliotheken begann ich mit der Analyse des Quellcodes. Dieser war größtenteils sauber, skalierbar und wartbar, allerdings konnte ich an einigen Stellen die grundsätzliche Struktur verbessern und dies mit Optimierungen des Entwicklungsprozesses verbinden. Beispielsweise konnte durch die programmatische Erzeugung von Vektorgrafiken ein Großteil der App-Bundle-Größe eingespart werden, ohne den Quellcode komplexer zu machen. Bei diversen Implementierungsfragen zeigte ich konkrete Lösungen auf oder demonstrierte mögliche Lösungsansätze. Schließlich wurde auch der Softwareentwickungsprozess als Ganzes betrachtet. Ich gab Empfehlungen für effizientere Tools, gab kurze Einweisungen und demonstrierte deren Einsatz. Eine weitere Effizienzsteigerung
erreichte ich durch die Optimierung des vorhandenen Rechner-Setups sowie durch Tipps zum effektiveren Einsatz vorhandener Tools.
Vorschläge und Kurzeinführungen zur Prozessverbesserung mit Unit-Tests, Continuous Integration und Taskmanagement bildeten den Abschluss dieses Consultings.
Während das Projekt bereits lief, wurde ich hinzugezogen, um die Layout-Anpassungen voranzubringen und bestehende Fehler in der App zu beheben. Weiterhin übernahm ich das Einpflegen inhaltlicher Neuerungen sowohl in bestehende JSON-Strukturen als auch in Webviews, die als HTML/CSS vorlagen.
Die Aufgabenverwaltung erfolgte dabei vornehmlich mittels JIRA.
Beschreibung
Ziel war die Erstellung einer Bibliothek, um Tracking-Verhalten so komfortabel und flexibel wie möglich in verschiedene Spiele zu integrieren. Dabei lag der Fokus auf Vergleichbarkeit und Nachhaltigkeit der Daten. Es war sicherzustellen, dass Daten innerhalb verschiedener Spiele in möglichst gleicher Form und Zeit erhoben und auch bei Verbindungsproblemen sicher an den Server geschickt werden. Dies erreicht die Bibliothek, in dem sie dem Anwender so viele Aufgaben wie möglich abnimmt oder einheitliche Wege zur individuellen Datensammlung bietet. Die Bibliothek stellt eine vereinheitlichte Schnittstelle zwischen den Spiele-Entwicklungsteams und der Business-Intelligence Abteilung dar. Somit kann die Art der Datenerhebung für alle Spiele an einem zentralen Punkt angepasst werden.
Beschreibung
Nachdem das Spiel initial im AppStore released wurde, kam ich zum Projektteam hinzu. Nach einer kurzen Einarbeitungszeit baute ich weitere Funktionalität für die kommenden Releases ein. So realisierte ich z.B. die Einbindung eines Sammelbuches mit nativer Blätterfunktion der Seiten und arbeitete mit GameCenter Achievements, InAppPurchases, Push und Local Notifications, BitmapFonts sowie der Einbindung größenoptimierter Grafiken per Spritesheets aus TexturePacker.
Generell arbeitete ich in einem interdisziplinären Team aus Entwicklern, Grafikern, Spiele-Designern und Projektmanagern. Mittels agiler Softwareentwicklung konnte stets flexibel auf Veränderungen am Markt (Konkurrenzspiele) reagiert und neue Ideen spontan eingebunden werden.
Das Spiel ist komplett auf das iPhone 5 angepasst und neue Funktionalität wurde stets im Voraus in A/BTests untersucht.
Bubble Island war ein bestehendes und erfolgreiches Spiel. Allerdings war es kaum wartbar und skalierte sehr schlecht. Deshalb wurde das Spiel einem 100%igen Refactoring unterzogen.
Meine Aufgabe war es, den Quellcode zu verbessern und schnellstmöglich wieder neue Funktionalität in das Spiel zu integrieren. Dazu wurde das Spiel in verschiedene Module gegliedert, um schnell Teile des Spiels im Live-Betrieb ersetzen zu können. Nur so war es möglich, die Nutzer nicht bis zum Ende des Refactorings warten zu lassen. Das Team teilte sich die Aufgaben für das Refactoring und den Aufbau neuer Funktionalität auf. Gearbeitet wurde stets als ‘Pair’, wodurch Wissensinseln vermieden wurden und eine konstant hohe Geschwindigkeit in der Entwicklung sicher gestellt werden konnte. Der Code ist nun vollständig getestet (mit Ausnahme der Grafikelemente), sauber implementiert und skaliert sehr gut. Nach dem Neubau des Spiels, baute ich mit wechselnden Teamkollegen die Nutzerführung innerhalb des Spiels um und neue Funktionalität ein. Jeder Refactoring-Schritt und jede neue Funktionalität wurde im Voraus in A/B-Tests untersucht.
Während des Projektverlaufes wurde das Team mehrfach verändert. Meine Aufgabe als leitender Entwickler war es, neuen Kollegen ein umfassendes Verständnis von Projekt und Code zu geben. Letztlich gelang es mir, das gesamte Team von einer agilen Arbeitsweise zu überzeugen und diese diszipliniert durchzuführen. Dies machte uns als Team flexibel und effizient.
Diamond Dash ist ein sehr erfolgreiches Social Game auf Facebook und mittlerweile auch auf iOS und Android. Als ich zum Projekt kam, war die Code-Basis sehr unstrukturiert, was zu sehr langen Zyklen in der Fehlerbehebung sowie im Neubau von Funktionalität führte.
Meine Aufgabe war es, das Projekt vollständig zu refactoren und es wieder wartbar und skalierbar zu machen. In einem kleinen Team wurde stets agil und mittels Pair Programming zusammengearbeitet. Dies geschah erfolgreich sowohl vor Ort als auch von verteilten Arbeitsplätzen aus und vermied die Entstehung von Wissensinseln. Sämtliche Funktionalität wurde im Voraus in A/B-Tests untersucht.
Ein sauberer und strukturierter Aufbau des Projektes sowie der Architektur und des Quellcodes an sich, war von besonderer Bedeutung und ermöglichte im späteren Projektverlauf die Einarbeitung neuer Kollegen sowie eine sehr unproblematische Übergabe des Projektes.
Im Rahmen der UEFA Europameisterschaft 2012 gehörte auch ein Bildschirmschoner zur Kampagne.
Meine Aufgabe war es, diesen zeitnah umzusetzen. Ich arbeitete bei diesem Projekt nur mit einem Grafiker zusammen.
Zu diesem Projekt wurde ich zur Unterstützung hinzugezogen. Meine Aufgabe war es, in Abstimmung mit dem Dienstleister, einen ‘Music-Player’ in das Projekt einzubinden und anzusteuern. Die Herausforderung lag dabei im modularen Aufbau und den Sicherheitsrichtlinien des Kunden. Nach der erfolgreichen Umsetzung dieser Teilaufgabe arbeitete ich an weiteren Funktionsmodule und Fehlerkorrekturen.
Im Rahmen der Kampagne “Surreale Dinge” war es meine Aufgabe, eine Facebook-App umzusetzen und diese in die vorhandene Facebook-Seite zu integrieren. Die App nimmt ein Foto des Nutzers auf und reduziert die Augenpartie auf nur ein Auge. Das Resultat kann sich der Nutzer in seinem Facebook-Fotoalbum speichern.
In diesem Projekt war ich verantwortlich für den Aufbau der Architektur sowie für die programmatische Umsetzung der Website. Ein Schwerpunkt war die Introsequenz, welche programmatisch mit multilingualem Text kombiniert und synchronisiert wurde. Neben den vielen Animationen und interaktiven Inhalten war die Mehrsprachigkeit der gesamten Website ein weiterer Schwerpunkt.
Die Umsetzung erfolgte schrittweise. Vom Grafiker bekam ich eine PSD-Datei, aus welcher ich mir die benötigten Grafiken exportierte. Ich übernahm die Programmierung und bekam hierzu XML-Dateien mit den multilingualen Textinhalten aus einem CMS. Die fertigen Inhalte wurden dann beim Provider für die Veröffentlichung in einem sehr genau beschriebenen Weg zur Verfügung gestellt.
Converse Deutschland beauftragte die Powerflasher GmbH 2007 mit dem Relaunch ihrer Website sowie
in der Folge mit mehreren Kampagnen. Für eine dieser Kampagnen names “Spark” war ich mit der Architektur
und Umsetzung betraut. Der Projektverlauf und die Zusammenarbeit im Team war agil geprägt
und sehr effizient. Der Kunde war stets nah am Projektverlauf und konnte aktuelle Fortschritte per Build-
Server mitverfolgen und ausprobieren.
Leider ist es mir nur möglich hier Projekte aufzuzeigen, die die NDA-Bestimmungen des jeweiligen Auftraggebers nicht verletzen. Daher ergeben sich teilweise größere Lücken in der zeitlichen Abfolge und ein Nachweis über Erfahrungen wird erschwert.
Weiterbildungen
Zertifizierungen
Kernkompetenzen
Technik
Umsetzung
Methoden
Beruflicher Hintergrund
Juli 2014 ? Heute
Freiberuflicher Software-Entwickler für iOS (Objective-C/Swift) und Flash (ActionScript 3)
sowie freiberuflicher ScrumMaster
Juni 2011 ? Mai 2014
Senior Software Engineer für Objective-C/iOS und ActionScript 3 sowie Spezialist für agile
Prozesse bei der Wooga GmbH
Dezember 2010 ? Mai 2011
Developer für ActionScript 3 bei der Scholz & Volkmer GmbH
April 2009 ? Dezember 2010
Software-Entwickler für ActionScript 3, AIR und Flex bei der Powerflasher GmbH
April 2008 ? März 2009
Diplomand zum Thema: ?Einsatz skriptbasierter Programmiersprachen im Softwareentwicklungsprozess
mit ActionScript 3.0 am Beispiel der Tool Command Language (Tcl).?
Oktober 2007 ? März 2008
Praktikum im Volleinsatz als Softwareentwickler für ActionScript 3, AIR und Flex bei der Powerflasher
GmbH
Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.