SlideShare a Scribd company logo
The Android Gunslinger
A hero’s jouney to building a product
Saul Diaz
Android Dev @ Chicisimo.com
@sefford
sefford@gmail.com
BEGINNING
ABYSS
ATONEMENT TRANSFORMATION
BEGINNING
RELEASE
MAINTENANCE DEVELOPMENT
BEGINNING
ARCHITECTURE PRODUCT IS ABOUT INTENT
RULE 1: NEVER CHANGE THE DEAL
RULE 2: NO NAMES
RULE 3: NEVER OPEN THE PACKAGE
Legacy code
Developers
DEVELOPMENT
From a product viewpoint
Specification
Analysis Design Impl.
Testin
g
Deploy Maint.
Review
Review
QA
Analysis Design Impl.
Testin
g
Deploy Maint.
Prototype Asseting
PRODUCT LIFECYCLE
ARCHITECTURE IS ABOUT INTENT
PRODUCT PURPOSE
PRACTICES
THERE ARE NO BRAKES
YOU ARE YOUR OWN WORST ENEMY
Analysis Design Impl. Testing Deploy Maint.
SOLID
BS + CI
UNIT
ACCEPTANCE
COVERAGE
BETAS
S.ROLL
CRASH
REPORTING
SOFTWARE LIFECYCLE
SEMANTICSITERATIVE
RELEASING
THINGS PEOPLE DON’T DO:
READ
GIVE A F**K
UPDATE
THINGS PEOPLE DO:
COMPLAIN
CLICK
KEEP THEIR PHONES ON A SHITTY STATE
THE COMPANIONS
Questions?
Thanks for playing!
Saul Diaz
@sefford
sefford@gmail.com

More Related Content

Viewers also liked

исследование рынка аутсорсинговых контактных центров украины
исследование рынка аутсорсинговых контактных центров украиныисследование рынка аутсорсинговых контактных центров украины
исследование рынка аутсорсинговых контактных центров украиныSergey Onenko
 
BOM Team Prosperity
BOM Team ProsperityBOM Team Prosperity
BOM Team Prosperity
Ketty Masim
 
Danielle\'s Visual Resume
Danielle\'s Visual ResumeDanielle\'s Visual Resume
Danielle\'s Visual Resume
dmhami3
 
Teste
TesteTeste
McCormack -EDIM510- Online Presentation Assignment
McCormack -EDIM510- Online Presentation AssignmentMcCormack -EDIM510- Online Presentation Assignment
McCormack -EDIM510- Online Presentation AssignmentWilkes University
 
Online Training @ Nitade Chula
Online Training @ Nitade ChulaOnline Training @ Nitade Chula
Online Training @ Nitade Chula
nudeJEH
 
Was zum teufel jetzt
Was zum teufel jetztWas zum teufel jetzt
Was zum teufel jetztMonty Weber
 
Award-Winning Web Design
Award-Winning Web DesignAward-Winning Web Design
Award-Winning Web Design
Asea Ginsburg, UXC, CXA
 
D A W N L I F E S T Y L E E X P O 2011
D A W N  L I F E S T Y L E  E X P O 2011D A W N  L I F E S T Y L E  E X P O 2011
D A W N L I F E S T Y L E E X P O 2011Zarak Khawaja
 
Formacion e learning
Formacion e learningFormacion e learning
Formacion e learning
maribeltxu21
 
Mirsis Mastool Yönetim Beyanı Süreç Yönetimi
Mirsis Mastool Yönetim Beyanı Süreç YönetimiMirsis Mastool Yönetim Beyanı Süreç Yönetimi
Mirsis Mastool Yönetim Beyanı Süreç Yönetimi
Mirsis Bilgi Teknolojileri
 
Mirsis Test Hizmeti
Mirsis Test Hizmeti Mirsis Test Hizmeti
Mirsis Test Hizmeti
Mirsis Bilgi Teknolojileri
 
音声でPhilips Hueを操作してみる
音声でPhilips Hueを操作してみる音声でPhilips Hueを操作してみる
音声でPhilips Hueを操作してみる
itoz itoz
 

Viewers also liked (18)

XTR
XTRXTR
XTR
 
исследование рынка аутсорсинговых контактных центров украины
исследование рынка аутсорсинговых контактных центров украиныисследование рынка аутсорсинговых контактных центров украины
исследование рынка аутсорсинговых контактных центров украины
 
BOM Team Prosperity
BOM Team ProsperityBOM Team Prosperity
BOM Team Prosperity
 
Danielle\'s Visual Resume
Danielle\'s Visual ResumeDanielle\'s Visual Resume
Danielle\'s Visual Resume
 
Teste
TesteTeste
Teste
 
McCormack -EDIM510- Online Presentation Assignment
McCormack -EDIM510- Online Presentation AssignmentMcCormack -EDIM510- Online Presentation Assignment
McCormack -EDIM510- Online Presentation Assignment
 
Yourprezi
YourpreziYourprezi
Yourprezi
 
In kor we Trust
In kor we TrustIn kor we Trust
In kor we Trust
 
Online Training @ Nitade Chula
Online Training @ Nitade ChulaOnline Training @ Nitade Chula
Online Training @ Nitade Chula
 
Was zum teufel jetzt
Was zum teufel jetztWas zum teufel jetzt
Was zum teufel jetzt
 
2
22
2
 
Award-Winning Web Design
Award-Winning Web DesignAward-Winning Web Design
Award-Winning Web Design
 
D A W N L I F E S T Y L E E X P O 2011
D A W N  L I F E S T Y L E  E X P O 2011D A W N  L I F E S T Y L E  E X P O 2011
D A W N L I F E S T Y L E E X P O 2011
 
XTR
XTRXTR
XTR
 
Formacion e learning
Formacion e learningFormacion e learning
Formacion e learning
 
Mirsis Mastool Yönetim Beyanı Süreç Yönetimi
Mirsis Mastool Yönetim Beyanı Süreç YönetimiMirsis Mastool Yönetim Beyanı Süreç Yönetimi
Mirsis Mastool Yönetim Beyanı Süreç Yönetimi
 
Mirsis Test Hizmeti
Mirsis Test Hizmeti Mirsis Test Hizmeti
Mirsis Test Hizmeti
 
音声でPhilips Hueを操作してみる
音声でPhilips Hueを操作してみる音声でPhilips Hueを操作してみる
音声でPhilips Hueを操作してみる
 

Similar to The Android Gunslinger

Kim Carter (BinaryMist)
Kim Carter (BinaryMist)Kim Carter (BinaryMist)
Kim Carter (BinaryMist)
AgileNZ Conference
 
PSU Web 2015: How To Take The Crazy Out Of Your Company's Process Flows #psuweb
PSU Web 2015: How To Take The Crazy Out Of Your Company's Process Flows #psuwebPSU Web 2015: How To Take The Crazy Out Of Your Company's Process Flows #psuweb
PSU Web 2015: How To Take The Crazy Out Of Your Company's Process Flows #psuweb
Jennifer Aldrich
 
Monktoberfest Fast Delivery
Monktoberfest Fast DeliveryMonktoberfest Fast Delivery
Monktoberfest Fast Delivery
Adrian Cockcroft
 
Mobile engineering at GOJEK Scale
Mobile engineering at GOJEK ScaleMobile engineering at GOJEK Scale
Mobile engineering at GOJEK Scale
raditya gumay
 
mohansundarcv_2016
mohansundarcv_2016mohansundarcv_2016
mohansundarcv_2016mohan sundar
 
Being Test-Driven: It's not really about testing
Being Test-Driven: It's not really about testingBeing Test-Driven: It's not really about testing
Being Test-Driven: It's not really about testing
Raj Indugula
 
Software Development Lifecycle Presentation
Software Development Lifecycle PresentationSoftware Development Lifecycle Presentation
Software Development Lifecycle Presentation
ssuser645e24
 
[Webinar] Introducing Feature Management
[Webinar] Introducing Feature Management [Webinar] Introducing Feature Management
[Webinar] Introducing Feature Management
Optimizely
 
Selenium Testing your Kubernetes Apps with Machine Learning and Testim
Selenium Testing your Kubernetes Apps with Machine Learning and TestimSelenium Testing your Kubernetes Apps with Machine Learning and Testim
Selenium Testing your Kubernetes Apps with Machine Learning and Testim
Codefresh
 
ATDD
ATDDATDD
Dragons & Knights - Calabash and Cucumber as Automation Tools for Hybrid Apps...
Dragons & Knights - Calabash and Cucumber as Automation Tools for Hybrid Apps...Dragons & Knights - Calabash and Cucumber as Automation Tools for Hybrid Apps...
Dragons & Knights - Calabash and Cucumber as Automation Tools for Hybrid Apps...
Ron Werner
 
Taming scary production code that nobody wants to touch
Taming scary production code that nobody wants to touchTaming scary production code that nobody wants to touch
Taming scary production code that nobody wants to touch
Mike Clement
 
Final Agile Forum
Final Agile ForumFinal Agile Forum
Final Agile Forum
Designit
 
OpenChain Webinar #11 - cii-bp-badge-intro
OpenChain Webinar #11 - cii-bp-badge-introOpenChain Webinar #11 - cii-bp-badge-intro
OpenChain Webinar #11 - cii-bp-badge-intro
Shane Coughlan
 
SCA in an Agile World | June 2010
SCA in an Agile World | June 2010SCA in an Agile World | June 2010
SCA in an Agile World | June 2010
Klocwork
 
EXTENT-2017: Independent QA in Agile
EXTENT-2017: Independent QA in AgileEXTENT-2017: Independent QA in Agile
EXTENT-2017: Independent QA in Agile
Iosif Itkin
 
Introduction to android mobile app development.pptx
Introduction to android mobile app development.pptxIntroduction to android mobile app development.pptx
Introduction to android mobile app development.pptx
ridzah12
 
Free from the shackles of TDD
Free from the shackles of TDDFree from the shackles of TDD
Free from the shackles of TDD
Rich Allen
 
Automating Code Reviews for Salesforce Apps
Automating Code Reviews for Salesforce AppsAutomating Code Reviews for Salesforce Apps
Automating Code Reviews for Salesforce Apps
Lorenzo Frattini
 

Similar to The Android Gunslinger (20)

Kim Carter (BinaryMist)
Kim Carter (BinaryMist)Kim Carter (BinaryMist)
Kim Carter (BinaryMist)
 
PSU Web 2015: How To Take The Crazy Out Of Your Company's Process Flows #psuweb
PSU Web 2015: How To Take The Crazy Out Of Your Company's Process Flows #psuwebPSU Web 2015: How To Take The Crazy Out Of Your Company's Process Flows #psuweb
PSU Web 2015: How To Take The Crazy Out Of Your Company's Process Flows #psuweb
 
Monktoberfest Fast Delivery
Monktoberfest Fast DeliveryMonktoberfest Fast Delivery
Monktoberfest Fast Delivery
 
Mobile engineering at GOJEK Scale
Mobile engineering at GOJEK ScaleMobile engineering at GOJEK Scale
Mobile engineering at GOJEK Scale
 
mohansundarcv_2016
mohansundarcv_2016mohansundarcv_2016
mohansundarcv_2016
 
Sayanti Mondal CV
Sayanti Mondal CVSayanti Mondal CV
Sayanti Mondal CV
 
Being Test-Driven: It's not really about testing
Being Test-Driven: It's not really about testingBeing Test-Driven: It's not really about testing
Being Test-Driven: It's not really about testing
 
Software Development Lifecycle Presentation
Software Development Lifecycle PresentationSoftware Development Lifecycle Presentation
Software Development Lifecycle Presentation
 
[Webinar] Introducing Feature Management
[Webinar] Introducing Feature Management [Webinar] Introducing Feature Management
[Webinar] Introducing Feature Management
 
Selenium Testing your Kubernetes Apps with Machine Learning and Testim
Selenium Testing your Kubernetes Apps with Machine Learning and TestimSelenium Testing your Kubernetes Apps with Machine Learning and Testim
Selenium Testing your Kubernetes Apps with Machine Learning and Testim
 
ATDD
ATDDATDD
ATDD
 
Dragons & Knights - Calabash and Cucumber as Automation Tools for Hybrid Apps...
Dragons & Knights - Calabash and Cucumber as Automation Tools for Hybrid Apps...Dragons & Knights - Calabash and Cucumber as Automation Tools for Hybrid Apps...
Dragons & Knights - Calabash and Cucumber as Automation Tools for Hybrid Apps...
 
Taming scary production code that nobody wants to touch
Taming scary production code that nobody wants to touchTaming scary production code that nobody wants to touch
Taming scary production code that nobody wants to touch
 
Final Agile Forum
Final Agile ForumFinal Agile Forum
Final Agile Forum
 
OpenChain Webinar #11 - cii-bp-badge-intro
OpenChain Webinar #11 - cii-bp-badge-introOpenChain Webinar #11 - cii-bp-badge-intro
OpenChain Webinar #11 - cii-bp-badge-intro
 
SCA in an Agile World | June 2010
SCA in an Agile World | June 2010SCA in an Agile World | June 2010
SCA in an Agile World | June 2010
 
EXTENT-2017: Independent QA in Agile
EXTENT-2017: Independent QA in AgileEXTENT-2017: Independent QA in Agile
EXTENT-2017: Independent QA in Agile
 
Introduction to android mobile app development.pptx
Introduction to android mobile app development.pptxIntroduction to android mobile app development.pptx
Introduction to android mobile app development.pptx
 
Free from the shackles of TDD
Free from the shackles of TDDFree from the shackles of TDD
Free from the shackles of TDD
 
Automating Code Reviews for Salesforce Apps
Automating Code Reviews for Salesforce AppsAutomating Code Reviews for Salesforce Apps
Automating Code Reviews for Salesforce Apps
 

Recently uploaded

In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
abdulrafaychaudhry
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
QuickwayInfoSystems3
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi ArabiaTop 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
Yara Milbes
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 

Recently uploaded (20)

In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi ArabiaTop 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 

The Android Gunslinger

Editor's Notes

  1. A lot of talks go about how to work on a big team. But sometimes you will be hired on small teams or startups where you have to work alone. Obviously there’s always someone on the team. But what when you are on a one-man team in your platform? You become the Gunslinger. The guy who has to fight against the bad guys on their own.
  2. You will experience the “Journey of the hero”, which ironically can translate into the “Journey of the developer”.
  3. Rule 1: Never change the deal. Be a professional. Try to be clear on what are you going to do, and when you will have finished. Shit happens, but as you’re the only one, there is only one responsible. The rest of your team might rely on your deadlines. Rule 2: No names. Feedback should be always welcomed. Crticisim, both constructive and destructive should be accepted, no matter where it does come from, and take it as a warning shot before continuing with the same attitude/way of doing things. Rule 3: Legacy code. Do not change it unless you know perfectly what you are doing. (On a technical note, never tackle legacy without good practices on refractoring. - Build a reliable test suite of the code beforehand and go refactoring little by little.
  4. Sometimes we didn’t get there first. Sometimes we were not as cunning as we used to be when we did something. Be empathic. No good dev want to do shitty code; but sometimes rush, bad decisions or a bad foundation for a code can lead to “bad” legacy code. Most of the devs usually fear code they didn’t write. But rebuilding an app or parts of the app might produce two unwanted side effects. Reappearance of bugs that were already fixed on this “shitty code”. Losing time on doing the same thing over and over. Remember that, no matter how good you are, you cannot throw away eg 9 months of work and redo it better on 1.
  5. Let’s talk about Product lifecycle. Software lifecycle is already a complicated issue (Analysis > Design > Implementation > Testing > Deployment > Maintenance), but building a product is a much more complex issue: You have a PM who will write a specification of an app or feature Which a designer will prototype and asset In the meanwhile your backend team will attempt exactly to do all the work, hopefully before you do yours. And everybody will want to test and review the work done. Imagine how many things can go wrong from a technical standpoint.
  6. Source: From Spotify. But even more things can go wrong from the product standpoint. A product which is awesomingly good technically can fail because it does not convey the idea correctly. The difference on this slide is that the people on the top want to build a Car. Obviously a car takes a lot of time and pieces to be built, you start with a wheel, then the body, etc… until you finish. But your customers are not happy because you promised them a car. However the people on the bottom want to build a “mean of transport”. Obviously a skateboard is not as cool as a sports car; but it fills its purpose: To carry you from one place to the other faster and more effortlessly than a car. And then the only thing you need to do is iterate, iterate, iterate. Faster, more reliable, with more extras...
  7. That’s why Product is about Purpose. The best example of this is Bricomania TV Programme. They have a lot of professional tools to build the things they build; but they avoid to make the programme a show-off those tools. They USE those tools to show how to build things to improve your home. But the PURPOSE of the programme is about building the stuff, not using the tools. Don’t make your product become a technical show-off
  8. When you’re working on a small startup; the first golden rule is that: You cannot buy time, no matter how many money do you have. You have to think carefully your rodamap and your moviements. Invest wisely your time; a misstep might end up messing your time to deliver or mess up with the rest of the teams.
  9. When you work alone, the worst enemy is not the guy from product, the designer who reviews your sceeens or the QA who points your errors. YOU are your worst enemy.
  10. The best way to avoid you adding mistakes is yo use good practices from the beginning. Try to automatize things as much as possible, Build Systems, Testing suites, Continous integrations. Use tools that will cushion potential failures like Staged Rollouts and Betas, the sooner the code is in production in a controlled way, the earlier you will receive error reports. Use tools like Crashlytics to know where the app is failing and Mixpanel to understand cognitive frictions on the product itself.
  11. When everything fails, keep calm. Try to use your tools to diagnose properly: Analytics could be of use to understand if it is a certain brand, device or Android version which is failing. Having a push system from day 0 is advised. You can communicate things through push notifications or use it to enable/disable functionalities or app itself Try to hold the urge to hotfix every 2 minutes, especially on Android. Too many updates will fragment your userbase and will piss them off. Have a out-of-app update notification system. It takes little time and will bug the users enough to force them to update.
  12. Eventually your team will grow if things go properly, and will need to find a good partner. Find a guy who: Thinks, independently of how skilled on your platform is Delivers and can do stuff Is personality-compatible with you. Don’t feel bad if he’s better than you. You will learn from him. Don’t feel bad if he’s more junior than you. Everyone started learning
  13. Let’s talk about philosophy. What does Testing provide you as a developer?