SlideShare a Scribd company logo
1 of 55
Download to read offline
Dependency Mana
Unit Testing☑︎
☑︎
☑︎
☐
Accessibility
Continuous Integr
Let’s talk about where we were,
where we are now, and where we’re going
Really Important Things
Empathy is essential
Be mindful
Let’s do Community-Driven Development
Empathy
Empathy for yourself
Past → Present → Future
Past → Present → Future
🙄
Past → Present → Future
→🙄 😇
Past → Present → Future
🤓→ →🙄 😇
Empathy for others
Everyone has similar fears
and similar doubts
We have science'd empathy,
and the results are awesome
–Me, about depression, 2013
“I wish that I had something more substantial to add to the
dialogue than ‘me too’, but sometimes it’s worth knowing that
you’re not alone, and that it can get better.”
Communication
–Harold Abelson, SICP
“Programs must be written for people to read,
and only incidentally for machines to execute.”
Good Programmer → Good Communicator
Good Programmer → Good Communicator
Good Communicator → Good Programmer
So, communication is important
Text-based communication is
really bad at conveying empathy
Move to hangouts early and often
Empathy for ourselves
→ Empathy for others
→ Better communication
→ Better programming skills
Mindfulness
Look for better ways to solve
familiar problems
Examples
• Dependency managers
• Fastlane
• Jazzy
• Swiftlint
• Swiftcheck
• chswift
• CocoaDocs
• nsdateformatter.com
• Quick & Nimble
• Inclusive Toolkit
• FBSnapshotTestCase
• swift-compiler-crashes
Mindful communication
Think ahead
Listen
Affirm
Respond
Add
Automation
Look for opportunities
to automate
I wrote unit tests
→ I want tests to run on pull requests
→ I set up Continuous Integration
→ I can use CI to automate code coverage analysis
→ I can use CI to automate deploys with Fastlane
→ I can use CI to automate common PR responses
Danger
Automate team invitations
Community-Driven
Development
Sharing an idea is the easiest
way to validate it
Sharing an idea is the easiest
way to improve it
iOS has become more
community-focused
iOS circa 2013
…
iOS circa 2013 left-pad incident
…
iOS circa 2013 left-pad incidentiOS today
…
iOS circa 2013 left-pad incidentiOS today
…
{
Good middle ground
“If you’re the smartest person in the room,
find a new room.”
This is really easy in open source
This is really easy in open source
… because we’re all in several
rooms at once
Open Source by Default
Really Important Things
Empathy is essential
Be mindful
Let’s do Community-Driven Development
–Buckminster Fuller, 1969
“So, planners, architects, and engineers take the initiative. Go to
work, and above all co-operate and don’t hold back on one
another or try to gain at the expense of another. Any success in
such lopsidedness will be increasingly short-lived.”

More Related Content

Similar to MCE^3 - Ash Furrow - iOS Checkup

No One Cares About Your Content (Yet): WordCamp Chicago 2013
No One Cares About Your Content (Yet): WordCamp Chicago 2013No One Cares About Your Content (Yet): WordCamp Chicago 2013
No One Cares About Your Content (Yet): WordCamp Chicago 2013Cliff Seal
 
Lastconf2017 Synchronous communication is overrated!
Lastconf2017   Synchronous communication is overrated!Lastconf2017   Synchronous communication is overrated!
Lastconf2017 Synchronous communication is overrated!Kelsey van Haaster
 
Zero Adoption: Lessons Learned From Failing at Open Source
Zero Adoption: Lessons Learned From Failing at Open SourceZero Adoption: Lessons Learned From Failing at Open Source
Zero Adoption: Lessons Learned From Failing at Open SourceMemi Beltrame
 
Hitting Your Mark - Content Strategy & Optimization
Hitting Your Mark - Content Strategy & OptimizationHitting Your Mark - Content Strategy & Optimization
Hitting Your Mark - Content Strategy & OptimizationPardot
 
Webinar - Design thinking 101 - 2018-07-24
Webinar - Design thinking 101 - 2018-07-24Webinar - Design thinking 101 - 2018-07-24
Webinar - Design thinking 101 - 2018-07-24TechSoup
 
20 Tips For Effective Brainstorming
20 Tips For Effective Brainstorming20 Tips For Effective Brainstorming
20 Tips For Effective BrainstormingBabak Forutanpour
 
The Care and Keeping of Your Junior Developer
The Care and Keeping of Your Junior DeveloperThe Care and Keeping of Your Junior Developer
The Care and Keeping of Your Junior Developerbonmatts
 
Best Practices for Designing High-Fidelity Voice Experiences
Best Practices for Designing High-Fidelity Voice ExperiencesBest Practices for Designing High-Fidelity Voice Experiences
Best Practices for Designing High-Fidelity Voice ExperiencesPullString
 
David Dylan Thomas - The Content Strategy of Civil Discourse
David Dylan Thomas - The Content Strategy of Civil DiscourseDavid Dylan Thomas - The Content Strategy of Civil Discourse
David Dylan Thomas - The Content Strategy of Civil DiscourseLavaConConference
 
Leadership & Emotional Intelligence for Engineers
Leadership & Emotional Intelligence for Engineers Leadership & Emotional Intelligence for Engineers
Leadership & Emotional Intelligence for Engineers Big Nerd Ranch
 
InnerSource - Using open source best practices to help your company
InnerSource - Using open source best practices to help your companyInnerSource - Using open source best practices to help your company
InnerSource - Using open source best practices to help your companyEric Caron
 
Lets socialize in a better way
Lets socialize in a better wayLets socialize in a better way
Lets socialize in a better waynoryn ali
 
Critique, don't Complain - Talk by Andrew Harder
Critique, don't Complain - Talk by Andrew HarderCritique, don't Complain - Talk by Andrew Harder
Critique, don't Complain - Talk by Andrew HarderAndrew Harder
 
Design thinking for accessible user experiences - UX Scotland2014
Design thinking for accessible user experiences - UX Scotland2014Design thinking for accessible user experiences - UX Scotland2014
Design thinking for accessible user experiences - UX Scotland2014David Sloan
 
How to be a secret change agent
How to be a secret change agentHow to be a secret change agent
How to be a secret change agentShawn Button
 
How to be a good developer
How to be a good developerHow to be a good developer
How to be a good developerAshley Davis
 
Open Source From The Trenches: How to Get Involved with Open Source and be Su...
Open Source From The Trenches: How to Get Involved with Open Source and be Su...Open Source From The Trenches: How to Get Involved with Open Source and be Su...
Open Source From The Trenches: How to Get Involved with Open Source and be Su...Chris Aniszczyk
 

Similar to MCE^3 - Ash Furrow - iOS Checkup (20)

No One Cares About Your Content (Yet): WordCamp Chicago 2013
No One Cares About Your Content (Yet): WordCamp Chicago 2013No One Cares About Your Content (Yet): WordCamp Chicago 2013
No One Cares About Your Content (Yet): WordCamp Chicago 2013
 
Lastconf2017 Synchronous communication is overrated!
Lastconf2017   Synchronous communication is overrated!Lastconf2017   Synchronous communication is overrated!
Lastconf2017 Synchronous communication is overrated!
 
People Stuff for Geeks - Toronto Agile Conference 2016
People Stuff for Geeks - Toronto Agile Conference 2016People Stuff for Geeks - Toronto Agile Conference 2016
People Stuff for Geeks - Toronto Agile Conference 2016
 
Zero Adoption: Lessons Learned From Failing at Open Source
Zero Adoption: Lessons Learned From Failing at Open SourceZero Adoption: Lessons Learned From Failing at Open Source
Zero Adoption: Lessons Learned From Failing at Open Source
 
The Geek's Guide to People - GOAT16
The Geek's Guide to People - GOAT16The Geek's Guide to People - GOAT16
The Geek's Guide to People - GOAT16
 
Hitting Your Mark - Content Strategy & Optimization
Hitting Your Mark - Content Strategy & OptimizationHitting Your Mark - Content Strategy & Optimization
Hitting Your Mark - Content Strategy & Optimization
 
Webinar - Design thinking 101 - 2018-07-24
Webinar - Design thinking 101 - 2018-07-24Webinar - Design thinking 101 - 2018-07-24
Webinar - Design thinking 101 - 2018-07-24
 
20 Tips For Effective Brainstorming
20 Tips For Effective Brainstorming20 Tips For Effective Brainstorming
20 Tips For Effective Brainstorming
 
The Care and Keeping of Your Junior Developer
The Care and Keeping of Your Junior DeveloperThe Care and Keeping of Your Junior Developer
The Care and Keeping of Your Junior Developer
 
Best Practices for Designing High-Fidelity Voice Experiences
Best Practices for Designing High-Fidelity Voice ExperiencesBest Practices for Designing High-Fidelity Voice Experiences
Best Practices for Designing High-Fidelity Voice Experiences
 
Mentorship is Important
Mentorship is ImportantMentorship is Important
Mentorship is Important
 
David Dylan Thomas - The Content Strategy of Civil Discourse
David Dylan Thomas - The Content Strategy of Civil DiscourseDavid Dylan Thomas - The Content Strategy of Civil Discourse
David Dylan Thomas - The Content Strategy of Civil Discourse
 
Leadership & Emotional Intelligence for Engineers
Leadership & Emotional Intelligence for Engineers Leadership & Emotional Intelligence for Engineers
Leadership & Emotional Intelligence for Engineers
 
InnerSource - Using open source best practices to help your company
InnerSource - Using open source best practices to help your companyInnerSource - Using open source best practices to help your company
InnerSource - Using open source best practices to help your company
 
Lets socialize in a better way
Lets socialize in a better wayLets socialize in a better way
Lets socialize in a better way
 
Critique, don't Complain - Talk by Andrew Harder
Critique, don't Complain - Talk by Andrew HarderCritique, don't Complain - Talk by Andrew Harder
Critique, don't Complain - Talk by Andrew Harder
 
Design thinking for accessible user experiences - UX Scotland2014
Design thinking for accessible user experiences - UX Scotland2014Design thinking for accessible user experiences - UX Scotland2014
Design thinking for accessible user experiences - UX Scotland2014
 
How to be a secret change agent
How to be a secret change agentHow to be a secret change agent
How to be a secret change agent
 
How to be a good developer
How to be a good developerHow to be a good developer
How to be a good developer
 
Open Source From The Trenches: How to Get Involved with Open Source and be Su...
Open Source From The Trenches: How to Get Involved with Open Source and be Su...Open Source From The Trenches: How to Get Involved with Open Source and be Su...
Open Source From The Trenches: How to Get Involved with Open Source and be Su...
 

Recently uploaded

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Recently uploaded (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 

MCE^3 - Ash Furrow - iOS Checkup