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
110
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
Handling 225k requests per second to RubyGems.org
segiddins
0
33
State of the RubyGems 2023
segiddins
0
54
Building Broken Gems
segiddins
0
30
Switching Disciplines as a Tech Lead
segiddins
0
26
Source Code to Executable
segiddins
0
69
Empowering iOS Developers
segiddins
1
65
Empowering iOS Developers
segiddins
0
350
Making CocoaPods Fast (with Modern Ruby Tooling)
segiddins
0
25
Making CocoaPods Fast
segiddins
0
280
Other Decks in Programming
See All in Programming
GitHub Actionsで泣かないためにやっておきたい設定 / Recommended GHA settings to avoid crying
pinkumohikan
3
520
0→1と1→10の狭間で Javaという技術選定を振り返る/Reflecting on the Decision to Choose Java Between Scaling from 0 to 1 and 1 to 10
jaguar_imo
2
380
Netty Chicago Java User Group 2024-04-17
sullis
0
170
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
6
880
雑に思考を整理する技術と効能
konifar
58
28k
GitHub Copilotのススメ
marcy731
0
190
Front-end application development, Symfony-style(s)
dunglas
2
1.9k
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
220
CQRS/ES avec Symfony, c’est (trop) bien !
jeremyfreeagent
1
640
VS Code をプロダクトにどう取り込むか
onomax
1
340
Zero Waste, Radical Magic, and Italian Graft – Quarkus Efficiency Secrets
hollycummins
0
230
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
160
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
324
20k
Visualization
eitanlees
135
14k
What's new in Ruby 2.0
geeforr
337
31k
Reflections from 52 weeks, 52 projects
jeffersonlam
344
19k
[RailsConf 2023] Rails as a piece of cake
palkan
22
3.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
5
1.5k
The Cost Of JavaScript in 2023
addyosmani
15
3.8k
A Tale of Four Properties
chriscoyier
150
22k
Become a Pro
speakerdeck
PRO
10
4.5k
Practical Orchestrator
shlominoach
181
9.7k
Being A Developer After 40
akosma
56
580k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
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