Asana gives everyone a sabbatical at four years. I joined knowing that and I'd been looking forward to mine. I'd taken a five-month break between jobs a few years ago, the first long pause of my career. I knew what unstructured time could do. The first day was a Saturday. It didn't feel like the f...
## I. Before the Ball Leaves their Strings There is a moment from the 1988 French Open final that most people who talk about tennis haven't had to think about carefully. Steffi Graf plays Natasha Zvereva. Zvereva is seventeen. She has just beaten Martina Navratilova in the fourth round on pure ne...
There's a particular sadness to a missed connection between a question and its answer. Someone asks. The response covers everything they already knew, or introduces terms they don't recognize, or solves a different problem entirely. Twenty minutes pass. The asker walks away with almost nothing. The...
Amongst [Asana's values](https://asana.com/resources/company-values-examples), "Reject False Trade-offs" was the one I struggled with most when I first started in early 2022. A skeptical part of me worried it might excuse paralysis or bait perfectionists. Hearing it invoked in response to real prob...
> TL;DR: Like racing teams making strategic pit stops, software teams must master the art of planned technical investments. Success comes from timing them well, having clear purposes, and executing with full team alignment. Every weekend during racing season, teams of engineers and mechanics make s...
There’s a moment in the water, right after my first few strokes, when everything clicks. I stop thinking about the rest of the day. My body finds its rhythm, my mind lets go, and I just swim. In that moment, I feel what Mihaly Csikszentmihalyi calls flow—that deep sense of immersion where everythin...
Understanding the needs of another person is immensely helpful in tuning our behavior to them, and in predicting or even influencing their behavior around us. Practicing being attentive to the small cues they provide, through their choice of words and other expressions, can help us relate to their ...
When designing organizations much effort can be put into defining individual roles. It's important to clearly spell out each individual's responsibilities. Or so goes a type of [conventional wisdom](https://www.google.com/search?q=job+description). In fact, this idea misses the reality of collabora...
When I arrived at Coach Stuart McDougal's [swim workshop](https://www.mindbodyandswim.com/workshops.html) yesterday, all thoughts about my family, parents and work ceased. The anxiety of my journey there left. The tethers of my life no longer suspended me. I felt an unnerving absence of familiarity...
This week a few colleagues and I, software engineers and managers at [VMware Tanzu](https://tanzu.vmware.com/), attended the third installment of [LeadDev Together](https://leaddev.com/course/together). This deep-dive was about defining, refining, and aligning processes. We heard from several accom...
What follows is a note to some of my colleagues in early 2014, as we transitioned from writing mainly Ruby to writing Go. Published belatedly in 2021. --- When changing one part of a codebase, we must account for the other parts know about it. For instance, in renaming a method, we must consider ...
# Move 1: Describe interactions with roles [Go's](http://golang.org/) interfaces are [satisfied implicitly](http://nathany.com/good/#toc_8), making it incredibly easy to create [role interfaces](http://martinfowler.com/bliki/RoleInterface.html). Describing new roles as we implement a method lets ...