D
e
v
e
l
o
p
e
r
e
x
p
e
r
i
e
n
c
e
Developer experience
• 🌱 Seedling • 1 min read
The value of human time at most software companies is 20-100x the value of machine time. This means it’s possible to lose money by doing optimizations which save only machine time, but not any human time! 1
"Goals, Signals, Metrics" framework
- Define the actual goal you’re trying to accomplish. Opt for a descriptive definition, for example, say “here is a description of what we want to actually accomplish with our work.” Not the vaguer, “I want to measure X.” 2. Define signals. How would you know if you accomplished that goal, if you had infinite knowledge of everything? These are called “signals.” For example, a signal is “how happy are people with my product?” You cannot directly know how happy people are with your product, unless you’re magically all-knowing. However, if having happy customers is one of your goals, then this is the right signal for that. 3. Figure out your metrics. These are proxies for that signal. Metrics are always proxies, there are no perfect metrics. 1