SlideShare a Scribd company logo
1 of 76
READING CODE GOOD
@SARONYITBAREK + @readingcodegood
Saturday, April 26, 14
a year ago today ...
Saturday, April 26, 14
Saturday, April 26, 14
Saturday, April 26, 14
Saturday, April 26, 14
Saturday, April 26, 14
Saturday, April 26, 14
Saturday, April 26, 14
Saturday, April 26, 14
Saturday, April 26, 14
Saturday, April 26, 14
how can I become an expert?
Saturday, April 26, 14
READ CODE
Saturday, April 26, 14
Saturday, April 26, 14
Saturday, April 26, 14
Saturday, April 26, 14
one hour
Saturday, April 26, 14
one hourevery
Saturday, April 26, 14
SUNDAY
one hourevery
Saturday, April 26, 14
SUNDAY@ 11 AM
one hourevery
Saturday, April 26, 14
and we called it ...
Saturday, April 26, 14
code club
Saturday, April 26, 14
so what code should we read?
Saturday, April 26, 14
so what code should we read?
ANYTHING
Saturday, April 26, 14
the code base should be exemplary
Saturday, April 26, 14
• popular
• well documented
• well written
• well maintained
exemplary
=
Saturday, April 26, 14
Saturday, April 26, 14
Saturday, April 26, 14
we started with Sinatra’s ‘get’ method
Saturday, April 26, 14
Saturday, April 26, 14
Saturday, April 26, 14
RETRO
Saturday, April 26, 14
• how was the experience?
• what did we learn?
• how can we improve?
Saturday, April 26, 14
1.
pick a manageable code base
=> 100 lines of code
Saturday, April 26, 14
• asking questions
• trying things
• researching topics
Saturday, April 26, 14
it wasn’t just about reading the code ...
Saturday, April 26, 14
2.
the learning happens in
these digressions
Saturday, April 26, 14
3.
this is a team effort
Saturday, April 26, 14
4.
pick a tour guide
Saturday, April 26, 14
finding ‘exemplary’ code is hard
Saturday, April 26, 14
Saturday, April 26, 14
Saturday, April 26, 14
Saturday, April 26, 14
5.
interact with the code
Saturday, April 26, 14
• what’s the intent?
• why was it written that way?
• how does it fit in?
Saturday, April 26, 14
6.
it doesn’t have to be exemplary
Saturday, April 26, 14
everything was going swimmingly ...
Saturday, April 26, 14
Saturday, April 26, 14
7.
finding knowledge gaps
Saturday, April 26, 14
8.
you gotta keep at it
Saturday, April 26, 14
everything was going swimmingly again ...
Saturday, April 26, 14
... and then we read the omniauth-meetup gem
Saturday, April 26, 14
9.
find interesting code bases
Saturday, April 26, 14
the unexpected benefits ...
Saturday, April 26, 14
Saturday, April 26, 14
• organization of the code
Saturday, April 26, 14
• organization of the code
• see the collaboration
Saturday, April 26, 14
• organization of the code
• see the collaboration
• build your confidence
Saturday, April 26, 14
so you want to start your own Code Club ...
Saturday, April 26, 14
CODE CLUB GUIDELINES
Saturday, April 26, 14
CODE CLUB GUIDELINES
1. pick a manageable code base => 100 lines of code
Saturday, April 26, 14
CODE CLUB GUIDELINES
1. pick a manageable code base => 100 lines of code
2. the learning happens in the digressions
Saturday, April 26, 14
CODE CLUB GUIDELINES
1. pick a manageable code base => 100 lines of code
2. the learning happens in the digressions
3. it’s a team effort
Saturday, April 26, 14
CODE CLUB GUIDELINES
1. pick a manageable code base => 100 lines of code
2. the learning happens in the digressions
3. it’s a team effort
4. pick a tour guide
Saturday, April 26, 14
CODE CLUB GUIDELINES
1. pick a manageable code base => 100 lines of code
2. the learning happens in the digressions
3. it’s a team effort
4. pick a tour guide
5. interact with the code
Saturday, April 26, 14
CODE CLUB GUIDELINES
1. pick a manageable code base => 100 lines of code
2. the learning happens in the digressions
3. it’s a team effort
4. pick a tour guide
5. interact with the code
6. it doesn’t have to be good
Saturday, April 26, 14
CODE CLUB GUIDELINES
1. pick a manageable code base => 100 lines of code
2. the learning happens in the digressions
3. it’s a team effort
4. pick a tour guide
5. interact with the code
6. it doesn’t have to be good
7. finding knowledge gaps
Saturday, April 26, 14
CODE CLUB GUIDELINES
1. pick a manageable code base => 100 lines of code
2. the learning happens in the digressions
3. it’s a team effort
4. pick a tour guide
5. interact with the code
6. it doesn’t have to be good
7. finding knowledge gaps
8. keep at it
Saturday, April 26, 14
CODE CLUB GUIDELINES
1. pick a manageable code base => 100 lines of code
2. the learning happens in the digressions
3. it’s a team effort
4. pick a tour guide
5. interact with the code
6. it doesn’t have to be good
7. finding knowledge gaps
8. keep at it
9. find interesting code bases
Saturday, April 26, 14
how is this getting me to ‘expert’?
Saturday, April 26, 14
Saturday, April 26, 14
Saturday, April 26, 14
Saturday, April 26, 14
--- for more info --> bloggytoons.com/code-club ---
1. dotenv
2. figaro
3. omniauth-meetup
4. country select
5. gravatar_image_tag
6. googlebooks
CODE BASES WE’VE READ
Saturday, April 26, 14
If you’re looking to start a Code Club
or you’ve found a great code base to read,
I’d love to hear about it.
@readingcodegood
Saturday, April 26, 14
bloggytoons.com/code-club
Saturday, April 26, 14

More Related Content

Recently uploaded

Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 
Revolutionizing SAP® Processes with Automation and Artificial Intelligence
Revolutionizing SAP® Processes with Automation and Artificial IntelligenceRevolutionizing SAP® Processes with Automation and Artificial Intelligence
Revolutionizing SAP® Processes with Automation and Artificial Intelligence
Precisely
 

Recently uploaded (20)

Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdfFrisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Revolutionizing SAP® Processes with Automation and Artificial Intelligence
Revolutionizing SAP® Processes with Automation and Artificial IntelligenceRevolutionizing SAP® Processes with Automation and Artificial Intelligence
Revolutionizing SAP® Processes with Automation and Artificial Intelligence
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 

Reading Code Good