Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Working With Other People's Code
Search
Samuel E. Giddins
August 29, 2014
Programming
4
120
Working With Other People's Code
Samuel E. Giddins
August 29, 2014
Tweet
Share
More Decks by Samuel E. Giddins
See All by Samuel E. Giddins
The Challenges of Building a Sigstore Client from Scratch
segiddins
0
57
Keeping the Gems Sparkling
segiddins
0
42
A Survey of RubyGems CVEs
segiddins
0
42
Handling 225k requests per second to RubyGems.org
segiddins
0
71
State of the RubyGems 2023
segiddins
0
100
Building Broken Gems
segiddins
0
74
Switching Disciplines as a Tech Lead
segiddins
0
41
Source Code to Executable
segiddins
0
81
Empowering iOS Developers
segiddins
1
86
Other Decks in Programming
See All in Programming
ペアプロ × 生成AI 現場での実践と課題について / generative-ai-in-pair-programming
codmoninc
1
15k
datadog dash 2025 LLM observability for reliability and stability
ivry_presentationmaterials
0
460
WebViewの現在地 - SwiftUI時代のWebKit - / The Current State Of WebView
marcy731
0
110
PicoRuby on Rails
makicamel
2
120
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
280
Hypervel - A Coroutine Framework for Laravel Artisans
albertcht
1
110
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
280
「テストは愚直&&網羅的に書くほどよい」という誤解 / Test Smarter, Not Harder
munetoshi
0
110
NPOでのDevinの活用
codeforeveryone
0
790
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
330
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
770
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
640
Featured
See All Featured
Facilitating Awesome Meetings
lara
54
6.4k
GraphQLとの向き合い方2022年版
quramy
49
14k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
The Language of Interfaces
destraynor
158
25k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
260
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Being A Developer After 40
akosma
90
590k
Agile that works and the tools we love
rasmusluckow
329
21k
A Tale of Four Properties
chriscoyier
160
23k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Transcript
Make It Yours Working With Other People's Code For The
First Time Samuel E. Giddins
My Story • First app: November 2012 — Clickr •
First job: March 2013 — Slader • First OSS contribution: May 2013 — RestKit • Now: Tumblr + CocoaPods
Day One • Ask questions • Technical • Business •
Explore • Fix something
It's not about the orientation or onboarding
The First Bugfix This will be the smallest and most
insignificant commit you will ever make to the project.
It will also lead the way to all the other
commits. Don't be scared. Don't be reverant. Show 'em who's boss.
The First Bugfix • Defined problem • Easily evaluated goal
• User-facing
Geometry Book Always goes to same page Pages with letters
can't be searched for
Made search case-insensitive if ([aPage.name isEqualToString:aPageNumber]) { if ([[aPage.name lowercaseString]
isEqualToString:[aPageNumber lowercaseString]]) {
Stopped assuming that the last page had the highest intVal
NSInteger maxIndex = [[pages[pages.count -1] name] intValue]; NSInteger maxIndex = NSIntegerMax;
The First Feature
• Easy to see • Little code • Big impact
To Refactor or Not To Refactor That is the wrong
question
• Project organization • Coding style • Pods
Make it perfect Make it work, then make it pretty
Be modular It's always good Lets you be you
Don't assume There's always a story
Be compassionate
Learn from the code (Especially if you think it's bad)
• Bugs • Improvements • Code niceties • Features
Figure out what's in your way
Get it out of your way* *Only if it's worth
it
The most important single aspect of software development is to
be clear about what you are trying to build. — Bjarne Stroustrup
We have to stop optimizing for programmers and start optimizing
for users. — Jeff Atwood
There are tools to help • AppCode • ClangFormat •
CocoaPods • lldb • Reveal • XCTest (seriously) • The Internet
Take ownership
By shipping, it becomes yours
Own Your App
Go Get 'Em
Samuel E. Giddins @segiddins segiddins.me github.com/segiddins