SlideShare a Scribd company logo
What would Jesus Developer do?
Using developer approach in digital analytics practice
Lukáš Čech
@cataLuc
Male human (36)
Internet (20)
Etnetera (12)
Analytics (9)
Father (4)
MC Organizer (3)
Double father (2)
*) as of 8.9.2018
Why should I bother?
Because you want to spend less time
coding & debugging & swearing & crying
Because you want to spend more time
designing measurement & analyzing
Today’s Digital Analytics
Trial #1: CasperJS scraping Google Query
“top analytics blogs” ~ 20 hours wasted
Trial #2: Analysis of Web Analytics
Facebook group: Everyone ♥ Simo Ahava!
Results of such approach
Glued-together copy-pasted code
Week idea of code inner workings
Poor quality of untested solutions
Unhappy clients / analysts
Applicable Development
Practices
#1 Local development
Applicable Development Practices
Pains of the standard approach
One becomes Copy-pastafarian™
You always need to be online
The measured application needs to work
Predisposition of local development
 NodeJS/NPM
 Build Tools / Task Runners
Advantages of the local development
Using IDE (Integrated Development Environment)
Static code analysis (ESLint)
Auto-complete, navigation, GIT, terminal
Ability to work offline
#2 Version control
Applicable Development Practices
Pains of the standard approach
It is hard to localize issues
Both in code and in time
It is hard to rollback in case of issues
Advantages of the version control
Complete history of changes
Addressable issues (author of changes)
Enabler for heavier team work
Example
Oh look! It has so many colors!
#3 Modular programming
Applicable Development Practices
Pains of the standard approach
It is hard to localize the cause of issues
Different parts of code affect each other
Trying to re-use parts of code is hell
Predisposition of Modular programming
 Code organization conventions
 Build Tools / Task Runners
 Deployment Process
Advantages of Modular programming
Re-usable code ♥ analytics concepts
Variables, Triggers, Tags
Enabler for TDD (Test Driven Development)
Enabler for systematic refactoring
There is variety of Build Tools, Task Runners, JS
Testing Frameworks and tools.
In Activate we use Gulp for build automation
We explore Mocha + Chai for Unit Tests
We also use CasperJS for End-to-end
functional testing
Example
How this could go wrong...
#4 API-based approach
And now for something completely different...
When you go totally nuts, you can have...
Single codebase for multiple properties
Continuous integration
Automatically generated documentation
Example
Live online demo – wish me luck!

Keep calm,
write better code
and follow @cataLuc

More Related Content

What's hot

How to get the most out of code reviews
How to get the most out of code reviewsHow to get the most out of code reviews
How to get the most out of code reviews
JavaDayUA
 
Portrait of professional developer 2.0
Portrait of professional developer 2.0Portrait of professional developer 2.0
Portrait of professional developer 2.0
Mikalai Alimenkou
 
Specification by example
Specification by exampleSpecification by example
Specification by example
Asier Barrenetxea
 
Level Up Your Automated Tests
Level Up Your Automated TestsLevel Up Your Automated Tests
Level Up Your Automated Tests
Trisha Gee
 
How to code in the XXI century without losing your head
How to code in the XXI century without losing your headHow to code in the XXI century without losing your head
How to code in the XXI century without losing your head
René Olivo
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
Harshani Wickramaarachchi
 
First steps in testing analytics: Does test code quality matter?
First steps in testing analytics: Does test code quality matter?First steps in testing analytics: Does test code quality matter?
First steps in testing analytics: Does test code quality matter?
Andy Zaidman
 
Value of Unit Testing
Value of Unit TestingValue of Unit Testing
Value of Unit Testing
Ferose Khan J
 
What a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisWhat a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysis
Andrey Karpov
 
Continuous Integration: Finding problems soonest
Continuous Integration: Finding problems soonestContinuous Integration: Finding problems soonest
Continuous Integration: Finding problems soonest
Shawn Jones
 
Adopting Agile
Adopting AgileAdopting Agile
Adopting Agile
Coverity
 
Finding Defects in C#: Coverity vs. FxCop
Finding Defects in C#: Coverity vs. FxCopFinding Defects in C#: Coverity vs. FxCop
Finding Defects in C#: Coverity vs. FxCop
Coverity
 
The Psychology of C# Analysis
The Psychology of C# AnalysisThe Psychology of C# Analysis
The Psychology of C# Analysis
Coverity
 
Programming in a Nutshell
Programming in a NutshellProgramming in a Nutshell
Programming in a Nutshell
Eman Abdelrazik
 
I Don't Code, Am I No Longer Useful
I Don't Code, Am I No Longer UsefulI Don't Code, Am I No Longer Useful
I Don't Code, Am I No Longer Useful
Maaret Pyhäjärvi
 
Type mock isolator
Type mock isolatorType mock isolator
Type mock isolatorMaslowB
 
TDD & Effective Software Development
TDD & Effective Software DevelopmentTDD & Effective Software Development
TDD & Effective Software Development
samserpoosh
 
Continuously testing govt.nz - DevOpsDays Ignite Wellington 2018
Continuously testing govt.nz - DevOpsDays Ignite Wellington 2018Continuously testing govt.nz - DevOpsDays Ignite Wellington 2018
Continuously testing govt.nz - DevOpsDays Ignite Wellington 2018
Allen Geer
 
Software Analytics: The Dark Side and the Test Side
Software Analytics: The Dark Side and the Test SideSoftware Analytics: The Dark Side and the Test Side
Software Analytics: The Dark Side and the Test Side
Andy Zaidman
 

What's hot (20)

How to get the most out of code reviews
How to get the most out of code reviewsHow to get the most out of code reviews
How to get the most out of code reviews
 
Portrait of professional developer 2.0
Portrait of professional developer 2.0Portrait of professional developer 2.0
Portrait of professional developer 2.0
 
Specification by example
Specification by exampleSpecification by example
Specification by example
 
Level Up Your Automated Tests
Level Up Your Automated TestsLevel Up Your Automated Tests
Level Up Your Automated Tests
 
How to code in the XXI century without losing your head
How to code in the XXI century without losing your headHow to code in the XXI century without losing your head
How to code in the XXI century without losing your head
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
 
First steps in testing analytics: Does test code quality matter?
First steps in testing analytics: Does test code quality matter?First steps in testing analytics: Does test code quality matter?
First steps in testing analytics: Does test code quality matter?
 
Value of Unit Testing
Value of Unit TestingValue of Unit Testing
Value of Unit Testing
 
What a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisWhat a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysis
 
Continuous Integration: Finding problems soonest
Continuous Integration: Finding problems soonestContinuous Integration: Finding problems soonest
Continuous Integration: Finding problems soonest
 
Adopting Agile
Adopting AgileAdopting Agile
Adopting Agile
 
Finding Defects in C#: Coverity vs. FxCop
Finding Defects in C#: Coverity vs. FxCopFinding Defects in C#: Coverity vs. FxCop
Finding Defects in C#: Coverity vs. FxCop
 
Presentation_TDD
Presentation_TDDPresentation_TDD
Presentation_TDD
 
The Psychology of C# Analysis
The Psychology of C# AnalysisThe Psychology of C# Analysis
The Psychology of C# Analysis
 
Programming in a Nutshell
Programming in a NutshellProgramming in a Nutshell
Programming in a Nutshell
 
I Don't Code, Am I No Longer Useful
I Don't Code, Am I No Longer UsefulI Don't Code, Am I No Longer Useful
I Don't Code, Am I No Longer Useful
 
Type mock isolator
Type mock isolatorType mock isolator
Type mock isolator
 
TDD & Effective Software Development
TDD & Effective Software DevelopmentTDD & Effective Software Development
TDD & Effective Software Development
 
Continuously testing govt.nz - DevOpsDays Ignite Wellington 2018
Continuously testing govt.nz - DevOpsDays Ignite Wellington 2018Continuously testing govt.nz - DevOpsDays Ignite Wellington 2018
Continuously testing govt.nz - DevOpsDays Ignite Wellington 2018
 
Software Analytics: The Dark Side and the Test Side
Software Analytics: The Dark Side and the Test SideSoftware Analytics: The Dark Side and the Test Side
Software Analytics: The Dark Side and the Test Side
 

Similar to What would Jesus Developer do?

Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovSvetlin Nakov
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
Utkarsh Khare
 
Can we induce change with what we measure?
Can we induce change with what we measure?Can we induce change with what we measure?
Can we induce change with what we measure?
Michaela Greiler
 
#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it matters#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it matters
Vincent Biret
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and Challenges
Tao Xie
 
Continuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software WestContinuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software West
Cory Foy
 
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It IsAmanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Rehgan Avon
 
Implementing a Design System in a Small Team by SnapTravel
Implementing a Design System in a Small Team by SnapTravelImplementing a Design System in a Small Team by SnapTravel
Implementing a Design System in a Small Team by SnapTravel
Product School
 
Problems of testing 64-bit applications
Problems of testing 64-bit applicationsProblems of testing 64-bit applications
Problems of testing 64-bit applications
PVS-Studio
 
How To Do A Project
How To Do A ProjectHow To Do A Project
How To Do A Project
Sudarsun Santhiappan
 
How To Do A Project?
How To Do A Project?How To Do A Project?
How To Do A Project?Aravinth NSP
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
Ambientia
 
10 Ways To Improve Your Code( Neal Ford)
10  Ways To  Improve  Your  Code( Neal  Ford)10  Ways To  Improve  Your  Code( Neal  Ford)
10 Ways To Improve Your Code( Neal Ford)guestebde
 
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - TrivadisTechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
Trivadis
 
Large scale agile development practices
Large scale agile development practicesLarge scale agile development practices
Large scale agile development practicesSkills Matter
 
Innovate Better Through Machine data Analytics
Innovate Better Through Machine data AnalyticsInnovate Better Through Machine data Analytics
Innovate Better Through Machine data Analytics
Hal Rottenberg
 
Best practices for structuring Machine Learning code
Best practices for structuring Machine Learning codeBest practices for structuring Machine Learning code
Best practices for structuring Machine Learning code
Erlangen Artificial Intelligence & Machine Learning Meetup
 
agile refactoring and integration techniques.pdf
agile refactoring and integration techniques.pdfagile refactoring and integration techniques.pdf
agile refactoring and integration techniques.pdf
shreyassoni7
 

Similar to What would Jesus Developer do? (20)

Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
Can we induce change with what we measure?
Can we induce change with what we measure?Can we induce change with what we measure?
Can we induce change with what we measure?
 
#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it matters#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it matters
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and Challenges
 
Continuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software WestContinuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software West
 
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It IsAmanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
 
Implementing a Design System in a Small Team by SnapTravel
Implementing a Design System in a Small Team by SnapTravelImplementing a Design System in a Small Team by SnapTravel
Implementing a Design System in a Small Team by SnapTravel
 
Problems of testing 64-bit applications
Problems of testing 64-bit applicationsProblems of testing 64-bit applications
Problems of testing 64-bit applications
 
How To Do A Project
How To Do A ProjectHow To Do A Project
How To Do A Project
 
How To Do A Project?
How To Do A Project?How To Do A Project?
How To Do A Project?
 
10 Ways To Improve Your Code
10 Ways To Improve Your Code10 Ways To Improve Your Code
10 Ways To Improve Your Code
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
 
Jagrat_Mankad
Jagrat_MankadJagrat_Mankad
Jagrat_Mankad
 
10 Ways To Improve Your Code( Neal Ford)
10  Ways To  Improve  Your  Code( Neal  Ford)10  Ways To  Improve  Your  Code( Neal  Ford)
10 Ways To Improve Your Code( Neal Ford)
 
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - TrivadisTechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
 
Large scale agile development practices
Large scale agile development practicesLarge scale agile development practices
Large scale agile development practices
 
Innovate Better Through Machine data Analytics
Innovate Better Through Machine data AnalyticsInnovate Better Through Machine data Analytics
Innovate Better Through Machine data Analytics
 
Best practices for structuring Machine Learning code
Best practices for structuring Machine Learning codeBest practices for structuring Machine Learning code
Best practices for structuring Machine Learning code
 
agile refactoring and integration techniques.pdf
agile refactoring and integration techniques.pdfagile refactoring and integration techniques.pdf
agile refactoring and integration techniques.pdf
 

More from Lukáš Čech

SuperWeek 2023 - Building the case for Digital Analytics
SuperWeek 2023 - Building the case for Digital AnalyticsSuperWeek 2023 - Building the case for Digital Analytics
SuperWeek 2023 - Building the case for Digital Analytics
Lukáš Čech
 
MeasureCamp 2022: Digital Analytics Solutions for 2022
MeasureCamp 2022: Digital Analytics Solutions for 2022MeasureCamp 2022: Digital Analytics Solutions for 2022
MeasureCamp 2022: Digital Analytics Solutions for 2022
Lukáš Čech
 
Automate till you die
Automate till you dieAutomate till you die
Automate till you die
Lukáš Čech
 
JavaScript for Web Analysts
JavaScript for Web AnalystsJavaScript for Web Analysts
JavaScript for Web Analysts
Lukáš Čech
 
Automated testing with CasperJS
Automated testing with CasperJSAutomated testing with CasperJS
Automated testing with CasperJS
Lukáš Čech
 
Adobe je dobré
Adobe je dobréAdobe je dobré
Adobe je dobré
Lukáš Čech
 
Kouzelné slovíčko je akceschopnost
Kouzelné slovíčko je akceschopnostKouzelné slovíčko je akceschopnost
Kouzelné slovíčko je akceschopnost
Lukáš Čech
 
Webová analytika bezbolestně
Webová analytika bezbolestněWebová analytika bezbolestně
Webová analytika bezbolestně
Lukáš Čech
 
Web Analytics pro ČVUT
Web Analytics pro ČVUTWeb Analytics pro ČVUT
Web Analytics pro ČVUTLukáš Čech
 
Akceschopná analýza chování návštěvníků webu
Akceschopná analýza chování návštěvníků webuAkceschopná analýza chování návštěvníků webu
Akceschopná analýza chování návštěvníků webuLukáš Čech
 
Kašlete na uživatele
Kašlete na uživateleKašlete na uživatele
Kašlete na uživatele
Lukáš Čech
 
Měříte ptákoviny?
Měříte ptákoviny?Měříte ptákoviny?
Měříte ptákoviny?
Lukáš Čech
 
Krev net a slzy
Krev net a slzyKrev net a slzy
Krev net a slzy
Lukáš Čech
 
Sedm smrtelných hříchů UX designéra
Sedm smrtelných hříchů UX designéraSedm smrtelných hříchů UX designéra
Sedm smrtelných hříchů UX designéra
Lukáš Čech
 

More from Lukáš Čech (14)

SuperWeek 2023 - Building the case for Digital Analytics
SuperWeek 2023 - Building the case for Digital AnalyticsSuperWeek 2023 - Building the case for Digital Analytics
SuperWeek 2023 - Building the case for Digital Analytics
 
MeasureCamp 2022: Digital Analytics Solutions for 2022
MeasureCamp 2022: Digital Analytics Solutions for 2022MeasureCamp 2022: Digital Analytics Solutions for 2022
MeasureCamp 2022: Digital Analytics Solutions for 2022
 
Automate till you die
Automate till you dieAutomate till you die
Automate till you die
 
JavaScript for Web Analysts
JavaScript for Web AnalystsJavaScript for Web Analysts
JavaScript for Web Analysts
 
Automated testing with CasperJS
Automated testing with CasperJSAutomated testing with CasperJS
Automated testing with CasperJS
 
Adobe je dobré
Adobe je dobréAdobe je dobré
Adobe je dobré
 
Kouzelné slovíčko je akceschopnost
Kouzelné slovíčko je akceschopnostKouzelné slovíčko je akceschopnost
Kouzelné slovíčko je akceschopnost
 
Webová analytika bezbolestně
Webová analytika bezbolestněWebová analytika bezbolestně
Webová analytika bezbolestně
 
Web Analytics pro ČVUT
Web Analytics pro ČVUTWeb Analytics pro ČVUT
Web Analytics pro ČVUT
 
Akceschopná analýza chování návštěvníků webu
Akceschopná analýza chování návštěvníků webuAkceschopná analýza chování návštěvníků webu
Akceschopná analýza chování návštěvníků webu
 
Kašlete na uživatele
Kašlete na uživateleKašlete na uživatele
Kašlete na uživatele
 
Měříte ptákoviny?
Měříte ptákoviny?Měříte ptákoviny?
Měříte ptákoviny?
 
Krev net a slzy
Krev net a slzyKrev net a slzy
Krev net a slzy
 
Sedm smrtelných hříchů UX designéra
Sedm smrtelných hříchů UX designéraSedm smrtelných hříchů UX designéra
Sedm smrtelných hříchů UX designéra
 

Recently uploaded

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 

Recently uploaded (20)

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 

What would Jesus Developer do?

  • 1. What would Jesus Developer do? Using developer approach in digital analytics practice
  • 2. Lukáš Čech @cataLuc Male human (36) Internet (20) Etnetera (12) Analytics (9) Father (4) MC Organizer (3) Double father (2) *) as of 8.9.2018
  • 3. Why should I bother? Because you want to spend less time coding & debugging & swearing & crying Because you want to spend more time designing measurement & analyzing
  • 4. Today’s Digital Analytics Trial #1: CasperJS scraping Google Query “top analytics blogs” ~ 20 hours wasted Trial #2: Analysis of Web Analytics Facebook group: Everyone ♥ Simo Ahava!
  • 5.
  • 6.
  • 7.
  • 8. Results of such approach Glued-together copy-pasted code Week idea of code inner workings Poor quality of untested solutions Unhappy clients / analysts
  • 10. #1 Local development Applicable Development Practices
  • 11. Pains of the standard approach One becomes Copy-pastafarian™ You always need to be online The measured application needs to work
  • 12. Predisposition of local development  NodeJS/NPM  Build Tools / Task Runners
  • 13. Advantages of the local development Using IDE (Integrated Development Environment) Static code analysis (ESLint) Auto-complete, navigation, GIT, terminal Ability to work offline
  • 14.
  • 15. #2 Version control Applicable Development Practices
  • 16. Pains of the standard approach It is hard to localize issues Both in code and in time It is hard to rollback in case of issues
  • 17. Advantages of the version control Complete history of changes Addressable issues (author of changes) Enabler for heavier team work
  • 18.
  • 19. Example Oh look! It has so many colors!
  • 20. #3 Modular programming Applicable Development Practices
  • 21. Pains of the standard approach It is hard to localize the cause of issues Different parts of code affect each other Trying to re-use parts of code is hell
  • 22. Predisposition of Modular programming  Code organization conventions  Build Tools / Task Runners  Deployment Process
  • 23. Advantages of Modular programming Re-usable code ♥ analytics concepts Variables, Triggers, Tags Enabler for TDD (Test Driven Development) Enabler for systematic refactoring
  • 24. There is variety of Build Tools, Task Runners, JS Testing Frameworks and tools. In Activate we use Gulp for build automation We explore Mocha + Chai for Unit Tests We also use CasperJS for End-to-end functional testing
  • 25. Example How this could go wrong...
  • 26. #4 API-based approach And now for something completely different...
  • 27. When you go totally nuts, you can have... Single codebase for multiple properties Continuous integration Automatically generated documentation
  • 28. Example Live online demo – wish me luck!
  • 29.  Keep calm, write better code and follow @cataLuc