Beschreibung
Für unseren Kunden in Frankfurt am Main suchen wir einen iOS-Entwickler (m/w).
Aufgaben:
Beratung des Auftraggebers zur Themenstellung „mobile Anwendungen unter iOS“ für das Projekt Kanal Mobile
Aktive, eigenverantwortliche Tätigkeiten im Scrum-Team innerhalb des gesamten Entwicklungszyklus von Konzeption, Design, Implementierung, Test und Deployment mit hoher Identifikation zum Thema innerhalb gegebener grober Leitplanken und Standards in state of the art Technologie.
Programmierung /Implementierung/Refactoring technischer Komponenten in Applikationen auf Basis der Technologie Objective-C/Swift,iOS SDK (latest),Cocoa Framework und Xcode
Entwicklung und Umsetzung einer Testarchitektur für automatisiertes Tests mit Hilfe von Unit Tests, Integrationstests, Akzeptanztests und Mockobjekten mit z.B. Gherkin, cucumberish.
Expertise und Beratung/Coaching in modernen Anwendungsarchitekturen (Clean-Code, Emergent Architecture, SOLID, Mobile Gateway)
Optimierung der Build-Architektur (Continous Integration/Continous Deployment) mit Hilfe von Jenkins/TeamCity, CocoaPods, Carthage, fastlane und/oder anderen hilfreichen Werkzeugen
Expertise und Coaching in der Nutzung von automatisiert erhobenen Qualitätsmetriken (statische und dynamische Codeanalyse)
Expertise und Coaching in Themen des eXtreme Programming und Scrum-Development (Pair-Programming, TDD, Refactoring, etc)
Unterstützung des Teams bei der Ausarbeitung der Definition of Done inklusive Abstimmung mit anderen Teams
Analyse von Problemstellungen im genannten Kontext sowie Erarbeiten und Bewerten von Handlungsoptionen zur Lösung der Problemstellungen gemäß Best Practises des Marktes und unter Berücksichtigung der Kundensituation
Erstellen von Lieferpaketen für die betreffenden Applikationen
Architektur-Beratung Produkt DB Navigator App iOS mit Schwerpunkt iOS Entwicklungsprozess
Beratung des Auftraggebers zur technischen Architektur(strategie) der IT-Systeme im Themenumfeld sowie deren Weiterentwicklung
Beratung bei der Umsetzung der technischen Architektur (arc42) in der Softwareentwicklung
Definition technischer Anforderungen
Erarbeitung der technischen Architektur anhand der Anforderungen, Abstimmung und Überwachung von deren Realisierung im Projekt (Qualitätssicherung)
Analyse fachlicher Anforderungen an die Software sowie ableiten, erarbeiten und entwickeln von technischen Umsetzungsmöglichkeiten
Erstellung technischer Architekturkonzepte für IT-Systeme im Projektkontext (wie Datenbankdesign, Komponentenspezifikationen, technische Schnittstellen- und Servicebeschreibungen) gemäß der Standards und Referenzarchitekturen des Auftraggebers
Ermittlung nicht-funktionaler Anforderungen, Dokumentation, Abstimmung und Überwachung von deren Realisierung im Projekt (Qualitätssicherung)
Definition von Anforderungen an die Hard- und Software-Ausstattung
Kommunikation und Unterstützung im Projektmanagement
Aufwandsschätzung für die technische Lösung im Projekt
Präsentationen zu technisch komplexen Themenstellungen
Moderation von Workshops zu technischen Architekturthemen/Softwareentwicklung im Themengebiet
Durchführen der Reviews von Design, Code und Tests
Anforderungen:
Software Entwicklung: Objective-C/Swift (3),RxSwift, iOS SDK, Clean Code, Unit Tests, Refactoring
Software Entwicklung; SVN oder GIT, Eclipse , UML2, SQLite, SQLCipher, Soap, Rest, Hudson, Jenkins, Maven, Linux, Sonar, UI Testing, Cocoapods, Google Maps, MVVM
Methodenkompetenz, Modellierung, Vorgehensmodelle: Scrum, Kanban, Test driven, Feature driven, eXtreme Programming, Pair Programming, Crystel Clear
Problemlösungs-/ Arbeitsorganisations-Know-how: Agile Vorgehensmodelle
Know-how zur Identifikation Chancen/ Risiken: Erstellung, Analyse und kontinuierliche Überwachung von Softwaremetriken, Architekturbewertung, Testautomatisierung (Unit-/Integration-/Akzeptanztests)
Präsentations-Know-how: Überzeugende Vermittlung von Inhalten und Methoden in einem selbstorganisierten Team, Erfahrung im Training/Coaching
Know How zu aktuellen Technologien/Trends aus dem Themenumfeld
Scrum
Software Architektur(management): Mobile, iOS, Mobile Gateway Architecture
Erfahrung in der Entwicklung von mobilen Anwendungen für iOS in Entwicklerteams (>5 MA), davon in mindestens 4 Projekten mit komplexer technischer Architektur oder vergleichbare Qualifikation
2 Projektreferenzen in der technischen Architektur von mobilen Anwendungen für iOS in den letzten Jahren
2 Projektreferenzen in der Mitarbeit als Architekt/Coach/Entwickler in Scrum Teams
Mehrjährige Erfahrung im Bereich Mobile Apps
Mehrjährige Erfahrung in der Einführung und Verwendung von automatisierten Unit-/Integrations- und Akzeptanztests
Erfahrung in Entwurf und Entwicklung von Continuous Delivery Pipeline mit z.B. Jenkins
Mehrjährige Erfahrung in der Entwicklung und im Entwurf von qualitativ hochwertiger Software (OO, Clean-Code, Design Pattern, SOLID)