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
Funding Ruby Infrastructure as a Non-Profit
segiddins
0
10
Evolution of Rails within RubyGems.org
segiddins
0
19
The Challenges of Building a Sigstore Client from Scratch
segiddins
0
79
Keeping the Gems Sparkling
segiddins
0
56
A Survey of RubyGems CVEs
segiddins
0
50
Handling 225k requests per second to RubyGems.org
segiddins
0
84
State of the RubyGems 2023
segiddins
0
110
Building Broken Gems
segiddins
0
83
Switching Disciplines as a Tech Lead
segiddins
0
41
Other Decks in Programming
See All in Programming
チームの境界をブチ抜いていけ
tokai235
0
180
XP, Testing and ninja testing ZOZ5
m_seki
3
690
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
1
450
bootcamp2025_バックエンド研修_WebAPIサーバ作成.pdf
geniee_inc
0
110
作って理解するGOCACHEPROG / Go Conference 2025(Workshop)
mazrean
0
100
PHPに関数型の魂を宿す〜PHP 8.5 で実現する堅牢なコードとは〜 #phpcon_hiroshima / phpcon-hiroshima-2025
shogogg
1
240
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
430
理論と実務のギャップを超える
eycjur
0
140
CSC305 Lecture 06
javiergs
PRO
0
240
Introduce Hono CLI
yusukebe
5
2.1k
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
170
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
110
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
The Invisible Side of Design
smashingmag
302
51k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
8
910
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Optimizing for Happiness
mojombo
379
70k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Visualization
eitanlees
149
16k
Mobile First: as difficult as doing things right
swwweet
224
10k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
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