SlideShare a Scribd company logo
MOBILE TEAM
ON A DAILY BASIS
by Grand Parade
1
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017 2
Michał Ćwikliński
michal.cwiklinski@grandparade.co.uk
https://github.com/emce
@em__ce
Kamil Burczyk
kamil.burczyk@grandparade.co.uk
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
William Hill
4
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017
Gambling Facts
5
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017
Mobile Team
6
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017
Mobile Team - facts
23 developers
12 iOS & 11 Android
640 years
With 124 years of experience
51 cups
of coffee daily
77.764 lines
of code in Swift
44.422 lines
of code in Kotlin
7
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017
Mobile Team
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
11
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017
Mobile SDK team
12
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
Mobile Culture
15
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017
Slack Time:
GP Interview
16
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017
Slack Time:
GP Betting League
17
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017
Slack Time: WH Cube
18
MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017
Slack Time: GPS Tracker
19
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
Community open
23
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
&Q&Aquestions answers
26
Kamil Burczyk Michał Ćwikliński
@KamilBurczyk @em__ce
THANK YOU!
27

More Related Content

Similar to Mobile Team on Daily basis - Kamil Burczyk & Michał Ćwikliński (Mobiconf2017)

IBM Connections Middleware – Connecting Blue/Green and PINK
IBM Connections Middleware – Connecting Blue/Green and PINKIBM Connections Middleware – Connecting Blue/Green and PINK
IBM Connections Middleware – Connecting Blue/Green and PINK
LetsConnect
 
The (IPv6) Internet in Romania - RIPE NCC Data and Tools
The (IPv6) Internet in Romania - RIPE NCC Data and ToolsThe (IPv6) Internet in Romania - RIPE NCC Data and Tools
The (IPv6) Internet in Romania - RIPE NCC Data and Tools
RIPE NCC
 
Mike Blinder - Stop Overthinking and Just Sell Audience!
Mike Blinder - Stop Overthinking and Just Sell Audience!Mike Blinder - Stop Overthinking and Just Sell Audience!
Mike Blinder - Stop Overthinking and Just Sell Audience!
Reynolds Journalism Institute (RJI)
 
Search London - The technical factors that every small or local business shou...
Search London - The technical factors that every small or local business shou...Search London - The technical factors that every small or local business shou...
Search London - The technical factors that every small or local business shou...
StrategiQ Marketing
 
Social Media Report - Marketing Week Live & Insight Show 2017
Social Media Report - Marketing Week Live & Insight Show 2017Social Media Report - Marketing Week Live & Insight Show 2017
Social Media Report - Marketing Week Live & Insight Show 2017
Linkfluence
 
"gRPC vs REST: let the battle begin!" GeeCON Krakow 2018 edition
"gRPC vs REST: let the battle begin!" GeeCON Krakow 2018 edition"gRPC vs REST: let the battle begin!" GeeCON Krakow 2018 edition
"gRPC vs REST: let the battle begin!" GeeCON Krakow 2018 edition
Alex Borysov
 
SXSW Debrief sessie: presentatie Jeroen Kuper en Rob Gruyters (Felblauw)
SXSW Debrief sessie: presentatie Jeroen Kuper en Rob Gruyters (Felblauw)SXSW Debrief sessie: presentatie Jeroen Kuper en Rob Gruyters (Felblauw)
SXSW Debrief sessie: presentatie Jeroen Kuper en Rob Gruyters (Felblauw)
Media Perspectives
 

Similar to Mobile Team on Daily basis - Kamil Burczyk & Michał Ćwikliński (Mobiconf2017) (7)

IBM Connections Middleware – Connecting Blue/Green and PINK
IBM Connections Middleware – Connecting Blue/Green and PINKIBM Connections Middleware – Connecting Blue/Green and PINK
IBM Connections Middleware – Connecting Blue/Green and PINK
 
The (IPv6) Internet in Romania - RIPE NCC Data and Tools
The (IPv6) Internet in Romania - RIPE NCC Data and ToolsThe (IPv6) Internet in Romania - RIPE NCC Data and Tools
The (IPv6) Internet in Romania - RIPE NCC Data and Tools
 
Mike Blinder - Stop Overthinking and Just Sell Audience!
Mike Blinder - Stop Overthinking and Just Sell Audience!Mike Blinder - Stop Overthinking and Just Sell Audience!
Mike Blinder - Stop Overthinking and Just Sell Audience!
 
Search London - The technical factors that every small or local business shou...
Search London - The technical factors that every small or local business shou...Search London - The technical factors that every small or local business shou...
Search London - The technical factors that every small or local business shou...
 
Social Media Report - Marketing Week Live & Insight Show 2017
Social Media Report - Marketing Week Live & Insight Show 2017Social Media Report - Marketing Week Live & Insight Show 2017
Social Media Report - Marketing Week Live & Insight Show 2017
 
"gRPC vs REST: let the battle begin!" GeeCON Krakow 2018 edition
"gRPC vs REST: let the battle begin!" GeeCON Krakow 2018 edition"gRPC vs REST: let the battle begin!" GeeCON Krakow 2018 edition
"gRPC vs REST: let the battle begin!" GeeCON Krakow 2018 edition
 
SXSW Debrief sessie: presentatie Jeroen Kuper en Rob Gruyters (Felblauw)
SXSW Debrief sessie: presentatie Jeroen Kuper en Rob Gruyters (Felblauw)SXSW Debrief sessie: presentatie Jeroen Kuper en Rob Gruyters (Felblauw)
SXSW Debrief sessie: presentatie Jeroen Kuper en Rob Gruyters (Felblauw)
 

More from Grand Parade Poland

Making Games in WebGL - Aro Wierzbowski & Tomasz Szepczyński
Making Games in WebGL - Aro Wierzbowski & Tomasz SzepczyńskiMaking Games in WebGL - Aro Wierzbowski & Tomasz Szepczyński
Making Games in WebGL - Aro Wierzbowski & Tomasz Szepczyński
Grand Parade Poland
 
Css encapsulation strategies | Marcin Mazurek
Css encapsulation strategies | Marcin MazurekCss encapsulation strategies | Marcin Mazurek
Css encapsulation strategies | Marcin Mazurek
Grand Parade Poland
 
Reason - introduction to language and its ecosystem | Łukasz Strączyński
Reason - introduction to language and its ecosystem | Łukasz StrączyńskiReason - introduction to language and its ecosystem | Łukasz Strączyński
Reason - introduction to language and its ecosystem | Łukasz Strączyński
Grand Parade Poland
 
Thinking in Graphs - GraphQL problems and more - Maciej Rybaniec (23.06.2017)
Thinking in Graphs - GraphQL problems and more - Maciej Rybaniec (23.06.2017)Thinking in Graphs - GraphQL problems and more - Maciej Rybaniec (23.06.2017)
Thinking in Graphs - GraphQL problems and more - Maciej Rybaniec (23.06.2017)
Grand Parade Poland
 
Introduction to React Native - Marcin Mazurek (09.06.2017)
Introduction to React Native - Marcin Mazurek (09.06.2017)Introduction to React Native - Marcin Mazurek (09.06.2017)
Introduction to React Native - Marcin Mazurek (09.06.2017)
Grand Parade Poland
 
Reactive Programming with RxJava
Reactive Programming with RxJavaReactive Programming with RxJava
Reactive Programming with RxJava
Grand Parade Poland
 
Pawel Cygal - SQL Injection and XSS - Basics (Quality Questions Conference)
Pawel Cygal - SQL Injection and XSS - Basics (Quality Questions Conference)Pawel Cygal - SQL Injection and XSS - Basics (Quality Questions Conference)
Pawel Cygal - SQL Injection and XSS - Basics (Quality Questions Conference)
Grand Parade Poland
 
Mateusz Gruszczynski - Performance tests in Gatling (Quality Questions Confer...
Mateusz Gruszczynski - Performance tests in Gatling (Quality Questions Confer...Mateusz Gruszczynski - Performance tests in Gatling (Quality Questions Confer...
Mateusz Gruszczynski - Performance tests in Gatling (Quality Questions Confer...
Grand Parade Poland
 
Krzysztof Skarbinski - Automated tests in Python (Quality Questions Conference)
Krzysztof Skarbinski - Automated tests in Python (Quality Questions Conference)Krzysztof Skarbinski - Automated tests in Python (Quality Questions Conference)
Krzysztof Skarbinski - Automated tests in Python (Quality Questions Conference)
Grand Parade Poland
 
Rafał Machnik - CQRS as a performance and security booster (Quality Questions...
Rafał Machnik - CQRS as a performance and security booster (Quality Questions...Rafał Machnik - CQRS as a performance and security booster (Quality Questions...
Rafał Machnik - CQRS as a performance and security booster (Quality Questions...
Grand Parade Poland
 
Slawomir Kluz - ScalaTest from QA perspective (Quality Questions Conference)
Slawomir Kluz - ScalaTest from QA perspective (Quality Questions Conference)Slawomir Kluz - ScalaTest from QA perspective (Quality Questions Conference)
Slawomir Kluz - ScalaTest from QA perspective (Quality Questions Conference)
Grand Parade Poland
 
Steve Bond - Managing the Threats in Online Gaming (Quality Questions Confere...
Steve Bond - Managing the Threats in Online Gaming (Quality Questions Confere...Steve Bond - Managing the Threats in Online Gaming (Quality Questions Confere...
Steve Bond - Managing the Threats in Online Gaming (Quality Questions Confere...
Grand Parade Poland
 
React-redux server side rendering enchanted with varnish-cache for the fastes...
React-redux server side rendering enchanted with varnish-cache for the fastes...React-redux server side rendering enchanted with varnish-cache for the fastes...
React-redux server side rendering enchanted with varnish-cache for the fastes...
Grand Parade Poland
 
Wielomilionowy Ruch na Wordpressie - Łukasz Wilczak & Piotr Federowicz (WordC...
Wielomilionowy Ruch na Wordpressie - Łukasz Wilczak & Piotr Federowicz (WordC...Wielomilionowy Ruch na Wordpressie - Łukasz Wilczak & Piotr Federowicz (WordC...
Wielomilionowy Ruch na Wordpressie - Łukasz Wilczak & Piotr Federowicz (WordC...
Grand Parade Poland
 

More from Grand Parade Poland (14)

Making Games in WebGL - Aro Wierzbowski & Tomasz Szepczyński
Making Games in WebGL - Aro Wierzbowski & Tomasz SzepczyńskiMaking Games in WebGL - Aro Wierzbowski & Tomasz Szepczyński
Making Games in WebGL - Aro Wierzbowski & Tomasz Szepczyński
 
Css encapsulation strategies | Marcin Mazurek
Css encapsulation strategies | Marcin MazurekCss encapsulation strategies | Marcin Mazurek
Css encapsulation strategies | Marcin Mazurek
 
Reason - introduction to language and its ecosystem | Łukasz Strączyński
Reason - introduction to language and its ecosystem | Łukasz StrączyńskiReason - introduction to language and its ecosystem | Łukasz Strączyński
Reason - introduction to language and its ecosystem | Łukasz Strączyński
 
Thinking in Graphs - GraphQL problems and more - Maciej Rybaniec (23.06.2017)
Thinking in Graphs - GraphQL problems and more - Maciej Rybaniec (23.06.2017)Thinking in Graphs - GraphQL problems and more - Maciej Rybaniec (23.06.2017)
Thinking in Graphs - GraphQL problems and more - Maciej Rybaniec (23.06.2017)
 
Introduction to React Native - Marcin Mazurek (09.06.2017)
Introduction to React Native - Marcin Mazurek (09.06.2017)Introduction to React Native - Marcin Mazurek (09.06.2017)
Introduction to React Native - Marcin Mazurek (09.06.2017)
 
Reactive Programming with RxJava
Reactive Programming with RxJavaReactive Programming with RxJava
Reactive Programming with RxJava
 
Pawel Cygal - SQL Injection and XSS - Basics (Quality Questions Conference)
Pawel Cygal - SQL Injection and XSS - Basics (Quality Questions Conference)Pawel Cygal - SQL Injection and XSS - Basics (Quality Questions Conference)
Pawel Cygal - SQL Injection and XSS - Basics (Quality Questions Conference)
 
Mateusz Gruszczynski - Performance tests in Gatling (Quality Questions Confer...
Mateusz Gruszczynski - Performance tests in Gatling (Quality Questions Confer...Mateusz Gruszczynski - Performance tests in Gatling (Quality Questions Confer...
Mateusz Gruszczynski - Performance tests in Gatling (Quality Questions Confer...
 
Krzysztof Skarbinski - Automated tests in Python (Quality Questions Conference)
Krzysztof Skarbinski - Automated tests in Python (Quality Questions Conference)Krzysztof Skarbinski - Automated tests in Python (Quality Questions Conference)
Krzysztof Skarbinski - Automated tests in Python (Quality Questions Conference)
 
Rafał Machnik - CQRS as a performance and security booster (Quality Questions...
Rafał Machnik - CQRS as a performance and security booster (Quality Questions...Rafał Machnik - CQRS as a performance and security booster (Quality Questions...
Rafał Machnik - CQRS as a performance and security booster (Quality Questions...
 
Slawomir Kluz - ScalaTest from QA perspective (Quality Questions Conference)
Slawomir Kluz - ScalaTest from QA perspective (Quality Questions Conference)Slawomir Kluz - ScalaTest from QA perspective (Quality Questions Conference)
Slawomir Kluz - ScalaTest from QA perspective (Quality Questions Conference)
 
Steve Bond - Managing the Threats in Online Gaming (Quality Questions Confere...
Steve Bond - Managing the Threats in Online Gaming (Quality Questions Confere...Steve Bond - Managing the Threats in Online Gaming (Quality Questions Confere...
Steve Bond - Managing the Threats in Online Gaming (Quality Questions Confere...
 
React-redux server side rendering enchanted with varnish-cache for the fastes...
React-redux server side rendering enchanted with varnish-cache for the fastes...React-redux server side rendering enchanted with varnish-cache for the fastes...
React-redux server side rendering enchanted with varnish-cache for the fastes...
 
Wielomilionowy Ruch na Wordpressie - Łukasz Wilczak & Piotr Federowicz (WordC...
Wielomilionowy Ruch na Wordpressie - Łukasz Wilczak & Piotr Federowicz (WordC...Wielomilionowy Ruch na Wordpressie - Łukasz Wilczak & Piotr Federowicz (WordC...
Wielomilionowy Ruch na Wordpressie - Łukasz Wilczak & Piotr Federowicz (WordC...
 

Recently uploaded

“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 

Recently uploaded (20)

“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 

Mobile Team on Daily basis - Kamil Burczyk & Michał Ćwikliński (Mobiconf2017)

  • 1. MOBILE TEAM ON A DAILY BASIS by Grand Parade 1
  • 2. MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017 2 Michał Ćwikliński michal.cwiklinski@grandparade.co.uk https://github.com/emce @em__ce Kamil Burczyk kamil.burczyk@grandparade.co.uk https://github.com/burczyk @KamilBurczyk
  • 3. 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
  • 4. MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017 William Hill 4
  • 5. MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017 Gambling Facts 5
  • 6. MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017 Mobile Team 6
  • 7. MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017 Mobile Team - facts 23 developers 12 iOS & 11 Android 640 years With 124 years of experience 51 cups of coffee daily 77.764 lines of code in Swift 44.422 lines of code in Kotlin 7
  • 8. MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017 Mobile Team
  • 9. MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017 Team Standards 9 Tools Tests Documentation CI Public API Avoiding dependencies
  • 10. 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)
  • 11. MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017 Swift & Kotlin on production 11
  • 12. MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017 Mobile SDK team 12
  • 13. 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
  • 14. MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017 Swift & Kotlin on production – elastic architecture HeaderState .unauthorized .processing .authorized <state change> <state change> ~ Redux
  • 15. MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017 Mobile Culture 15
  • 16. MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017 Slack Time: GP Interview 16
  • 17. MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017 Slack Time: GP Betting League 17
  • 18. MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017 Slack Time: WH Cube 18
  • 19. MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017 Slack Time: GPS Tracker 19
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017 Community open 23
  • 24. 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
  • 25. MOBICONF.ORG | 5-6 OCTOBER 2017#mobiconf2017 Contest 25 Swift and Kotlin tasks Stand in common space Valuable prize Result announcement: Friday 2pm
  • 26. &Q&Aquestions answers 26 Kamil Burczyk Michał Ćwikliński @KamilBurczyk @em__ce