Upload
grand-parade-poland
View
54
Download
0
Embed Size (px)
Citation preview
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017 2
Michał Ćwikliński
https://github.com/emce
@em__ce
Kamil Burczyk
https://github.com/burczyk
@KamilBurczyk
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017
Established: 2011
City: Kraków
People: 250/300 till end of 2017
Worked before for:
Grand Parade: about company
3
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017
Mobile Team - facts
23 developers12 iOS & 11 Android
640 yearsWith 124 years of experience
51 cupsof coffee daily
77.764 linesof code in Swift
44.422 linesof code in Kotlin
7
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017
Team Standards
9
Tools
Tests
Documentation
CI
Public API
Avoiding dependencies
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017
Mobile applications
10
25 mobile applications
Kotlin and Swift on production
AppStore, Google Play and standalone
Core libraries (Mobile SDK)
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017
Swift & Kotlin on production – common architecture
Logger+ filters: MutableList<LogEntryFilter>+ minimumSeverity: LogSeverity+ handlers: MutableList<LogEntryHandler>+ enabled: Boolean
+ e(message: String)+ w(message: String)+ i(message: String)+ d(message: String)+ v(message: String)+ wtf(message: String)
Logger+ filters: [LogEntryFilter]+ minimumSeverity: LogSeverity+ handlers: [LogEntryHandler]+ enabled: Boolean
+ error(message: String) -> void+ warning(message: String) -> void+ info(message: String) -> void+ debug(message: String) -> void+ verbose(message: String) -> void
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017
Swift & Kotlin on production – elastic architecture
HeaderState
.unauthorized
.processing
.authorized
<state change>
<state change>
~ Redux
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017
Agile best practices
2-week long sprints
Daily code reviews
Daily standups
Bi-weekly retrospectives
Bi-weekly groomings and sprint plannings
Bi-weekly demos and published artifacts
20
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017
Mobile Tech Talks
NoSQL
TDD
Elasticsearch
Swift backends
Core ML
App Architectures
Open GL ES
Realm
Audio Processing
Core Data
Core Bluetooth
21
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017
Pair Programming iOS/Android
22
Learning other platforms
Platform-independent point of view
Common interfaces
Bringing business value over
fighting platform wars
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017
Top tips for new team building
24
Optimise long-term
Don’t be afraid of hiring people better than you
You won’t code all the time
Create standards before writing first line of code
Consider cross-platform cooperation
Find a leader not a boss
Share your knowledge
And you can bet on it!
Integrate
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017
Contest
25
Swift and Kotlin tasks
Stand in common space
Valuable prize
Result announcement: Friday 2pm