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
Hate The Code
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ian Asaff
November 14, 2012
Programming
3
400
Hate The Code
A brief commentary on how to change your engineering team's attitude about the code it writes.
Ian Asaff
November 14, 2012
Tweet
Share
Other Decks in Programming
See All in Programming
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
380
SourceGeneratorのススメ
htkym
0
190
CSC307 Lecture 09
javiergs
PRO
1
830
AI時代の認知負荷との向き合い方
optfit
0
150
今から始めるClaude Code超入門
448jp
8
8.6k
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
400
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
130
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
610
Architectural Extensions
denyspoltorak
0
280
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
1k
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
120
Featured
See All Featured
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Abbi's Birthday
coloredviolet
1
4.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
A Tale of Four Properties
chriscoyier
162
24k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
350
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
What does AI have to do with Human Rights?
axbom
PRO
0
2k
The SEO identity crisis: Don't let AI make you average
varn
0
67
Accessibility Awareness
sabderemane
0
51
How to train your dragon (web standard)
notwaldorf
97
6.5k
Transcript
Hate the Code Making code suck less Ian Asaff 9/28/2012
• Awkward teenage phase of engineering team growth • Modest
technical debt • Coding decisions based on legacy issues • Staying the course doesn't scale Where we are
We all own the code
Everyone writes janky code.
EVERYONE.
You are NOT the code you write. (your ego may
not be aware of this)
• Encourages individual ownership • Discourages collective ownership • No
feedback means easier to go off the "rails" (heh) Silo coding is bad
No feedback means slower growth as a developer...
Which means you are short-changing yourself every day.
• It's ok. • Really. • Code needs to get
beaten up. • Tough love. Let's talk trash about our code
Need to bang out a feature?
First, get the bare essentials working (MVP)
Then... throw it to the wolves
• Every developer has something to contribute • "Hey, junior
dev. Does this make sense to you?" • "Hey, senior dev. Would you have done it this way?" The takeaway is...
The next step...
Seek out criticism and feedback • “I know this isn’t
great. What can I improve about it?” • "Am I better today than I was yesterday?"
A little secret...
You aren’t coding for yourself.
You are coding for the poor bastard coming in after
you.
My last job: WTF is this shit?
Oh. I wrote this six months ago…
Our codebase is our startup
Iterate (refactor) quickly based on feedback (from other devs)
Don’t ignore pain. Dive into it. Setting up dev environment
sucks. Ruby script for installation? Test data is irreplaceable. DB dump after migrations are run? Let's make things suck less
“This code is fragile and mission critical. Don’t touch it.”
VS “This code is fragile and mission critical. Let’s refactor so it’s easy to understand and debug.” What's better?
What annoys you every day? How can you make it
suck a little less?
What about our bottom line?
There's business value here!
• “That’s X’s code. Ask X how it works.” “X
is out until Monday…” • Low bus factor • “Just this one time…” • “We need to ship this…” Technical debt is expensive
• “I think it basically works this way… Let’s dig
in a bit.” • Higher bus factor • Frequent discussion about the code Let's move toward...
Easier to understand code means...
Faster ramp-up time for new devs (more productivity → $$$)
Extending and refactoring are less this
and more this
which ultimately leads to more
ABC -- Always Be Communicating The takeaway
So where do we start?
Everyone reviews code
Be merciless with feedback but...
Don't be an ass.
Remember you are not your code.
Enjoy leveling up as a developer while increasing your value
to the business
Thanks.