Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Optimize for Developer Happiness
Search
Ben Balter
April 26, 2016
Technology
320
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Optimize for Developer Happiness
Why how you work is as important as what you work on
Ben Balter
April 26, 2016
More Decks by Ben Balter
See All by Ben Balter
A community of communities: Empowering maintainers to grow communities around their code
benbalter
1
1.3k
Fostering a culture of collaboration
benbalter
0
260
Growing open source communities on GitHub around your WordPress plugin or theme
benbalter
1
290
It takes a digital village
benbalter
1
560
Open source workflows in highly regulated environments
benbalter
0
120
The technology is the easy part
benbalter
2
330
How to foster an open source culture inside Government
benbalter
3
2.6k
Open source inspired workflows for open (and closed) geospatial data
benbalter
0
210
10 ways people are (mis)using GitHub Pages for fun and profit
benbalter
6
690
Other Decks in Technology
See All in Technology
range over func 2年間の軌跡 Issue #56413 はGoのエコシステムをどう変えたか
ryujicre8ive
0
190
LTのテーマ どうきめてる?〜5つの型と私のやり方〜
yama3133
1
110
CLIライブラリ開発を支える技術
htnabe
0
110
SREは、MCPとAutopilotをこう使え!
kazumax55
2
810
顧客に向き合う開発組織へ。リアーキテクチャとフィーチャーチーム化で挑む組織改革
safie
0
1.9k
2026-09-18 gotanda.sre Terraformで複数環境作ったり、複数Stateに分割したりそれとTerragrunt / Terraform multi envs and multi states
masasuzu
1
340
Omarchy Quattro の日本語設定周り
simosako
2
180
安心して変更できるWebフロントエンドの作り方
pirosikick
4
2.5k
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
320
2026/09/10 Spring Bootから Jakarta EE/MicroProfileへの移行
megascus
0
370
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
4
1.7k
生成AIエージェントを用いた、 手動テスト手順書から自動テストへの 変換手法の検討
magicpod
0
160
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
Designing Experiences People Love
moore
143
24k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Typedesign – Prime Four
hannesfritz
42
3.2k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
280
Thoughts on Productivity
jonyablonski
76
5.4k
Transcript
! Optimize for developer happiness Why how you work is
as important as what you work on @benbalter
CONWAY'S LAW "organizations which design systems... are constrained to produce
designs which are copies of the communication structures of these organizations"
! Developer-centric development
! STARTUP the fairytale
Low value High value Startup Established firm Ideas Process
Low value High value Startup Established firm Geeks Suits
! What does your organization optimize for?
! Happy shareholders Successful software Efficient developers Strategic management
! Happy shareholders Good software Happy developers Happy Customers
! You can make software without MANAGEMENT
! You can make software without COMPLIANCE AND OVERSIGHT
! You can't make software without DEVELOPERS
! DEVELOPER HAPPINESS Optimize for and the rest will follow
! Developer happiness (Inside|Outside) the firewall
! Inside the firewall
! Traditional software development
! When outcomes can't be measured, institute process
! Daily, synchronous meetings to manually shuttle information around the
organization
! Decisions made in person, in hour-long blocks with
all stakeholders present
! Blocking, human-based processes
! Email as the least-common denominator
! Organizational knowledge lives (and dies) with employees
! bus_factor++
! Open-source development
! Transparency solves for process
! The constraints of open source
! Electronic
! Available
! Asynchronous
! Lock-free
! Prefer systems that naturally CAPTURE AND EXPOSE PROCESS
! Open source inside the firewall
! Open source is a PHILOSOPHY AND A WORKFLOW
not as an alternative technology
! How to WORK LIKE AN OPEN SOURCE PROJECT
! 1. Share to the widest extent possible
! Openness breaks down silos, reduces duplication, and minimizes on-boarding
time
! 2. Minimize developer friction
! Friction (n) the time it takes to go
from "I want to contribute" to "I have contributed"
! Common scripts to rule them all http://githubengineering.com/scripts-to-rule-them-all/
! PREFER CULTURAL CONSTRAINTS to technical and administrative constraints
! Non-blocking is better than blocking
! Never force a human to do what a robot
can
! ChatOps, DevOps, Hubot, and CI
! If you liked it you should have PUT AN
API ON IT
! Outside the firewall
! APIs make developers happy
! Openness makes developers happy
! Two caveats
! 1. Open up almost everything
! 2. Openness is about more than just throwing 0's
and 1's over the firewall
! Treat your data with the same respect that developers
treat code
! Open source, inner source, APIs, & open data all
foster communities around shared challenges
! Be the hub, not the single point of failure
(or innovation)
! Adopt an expanded definition of stakeholders
! Ensure all stakeholders have the opportunity to contribute
on equal footing
! Decentralize governance
! Minimize information imbalance
! 1. Work in the open
! 2. Propose and discuss improvements in the open
! 3. One shared, public issue tracker
! 4. Minimize synchronous meetings (and memorialize them when necessary)
! 5. Extensive, automated tests
! How do you optimize for developer happiness?
! Inside the firewall systems that capture and expose process
! Outside the firewall treat external stakeholders as internal stakeholders
! No really, how do you optimize for developer happiness?
! TECHNOLOGY is the easy part
! Bureaucracy is an organism
! Inoculate with small doses of culture and innovation
! Involve all stakeholders early on
! Start small and go through the motions
! Create a "feedback" repository both internally and externally
! Open data Open governance Open tooling
! DEVELOPER HAPPINESS Optimize for and the rest will follow
! Optimize for developer happiness Why how you work is
as important as what you work on @benbalter