My Productivity Philosophy
Outcomes over Outputs
Outputs: emails, meetings, Slack messages, presentations
Outcomes: increased revenue, decreased cost, improved client satisfaction, decreased employee attrition
Outputs aren't bad in and of themselves but they are meaningless in and of themselves. Employee, team, and company performance should be measured based on outcomes. I don't care if you only write 20 LOC or only spent an hour on the presentation. If the outcome is incredible, great.
Deep Work over Shallow Work
Cal Newport coined the phrase "deep work" to describe the "professional activities performed in a state of distraction-free concentration that push you cognitive capabilities to their limit."
Conversely, shallow work can be described as "noncognitively demanding, logistical-style tasks, often performed while distracted."
Deep work provides value. Shallow work provides activity. See "Outcomes over Outputs" for why I don't care about activity.
Focus over Collaboration
Open office floor plans are fantastic for a few things: 1) distracting your knowledge workers 2) providing them with no sense of privacy 3) really pretty photoshoots of your sexy new corporate HQ.
The brain responds to everything, even if you don't think it is. Why do we close our eyes when we want to focus intently on a hard problem? Because the eyes provide us with many more stimuli than we can manage.
It's more important that we design for and hone our ability to focus than that we eliminate the ability to do so in search of some mythical chance encounter in the hallway that will lead to the future of the company. If you want big breakthroughs, give your best and brightest the opportunity to focus.
Bundled Comms over Instant Answers
Making what we've built on thus far even more concrete, it's more important to bundle comms and allow for focus than it is to have instant answers. Email was already interrupting our workflow, but at least the expectation was an answer within an hour or same day. Pity the soul that doesn't answer a Slack message within 30 seconds.
These constant distractions are crushing our ability to focus, eating immense amounts of time as we pay the mental toll of context switching.
Slack, email, etc are all great platforms and have their use cases. But all usage should be concentrated into set periods of the day. I do 30 min first thing in the morning and 30 min after lunch. This allows me to unblock my direct reports while leaving multi-hour chunks free from interruption. If it can't wait that long, they'll call. And having to call your boss is a great litmus test for just how urgent something is.
Experimentation over Equality
This is perhaps best illustrated by looking at two fictitious companies. In Company A, equality is king. So all employees are expected to work the same number of hours, from the same location, with the same resources, and produce the same output. Because we're all machines and what works for one is definitely best for everyone else.
In Company B, experimentation is prioritized. Because outcomes are valued over outputs, employees are empowered to design their day as necessary to achieve the desired result. They're held accountable only for the quality of their work. This company is likely to have fewer rules, fewer formal policies for every situation, and is more likely to try new things.
Someone wants to work remotely full-time from now on? We've never tried it, but if they can continue producing the same level of work, building their network within the company, and contributing to internal initiatives in such a way that it's not a barrier to their development, then why not? We don't need to over think this. Let's try it out and see if it works. If it does, then we can think thru how to provide other employees with similar opportunities.
Proven Standards over Newest/Sexiest
When I remodel my house, I try to buy as much from Home Depot as possible. All the light bulbs, faucets, wood, fasteners, and retaining wall blocks from Home Depot. Not because they're the cheapest, best, or most impressive. I buy everything from there because I know that when it breaks, the part I need is only a 10 minute drive away.
Stuff breaks. Software breaks. Infrastructure breaks. Chasing the fad of the day in regards to language, pattern, or library only leads to a very fragmented ecosystem that is a nightmare to maintain. Pick something that is state-of-the-art, but not the newest kid on the block and still claiming to solve all your problems.
Empowerment over Process
I worked at a company once that regularly took 45 minutes to open a support bridge during a production incident. The reason: "There are processes we have to follow...". We automated it with PagerDuty and now our teams have a line immediately when the alert is sent out.
Process makes people with low-value jobs feel valuable because people with high-value jobs have to ask them for permission. There aren't a shortage of problems for humanity to solve. If you're in a low-value role, please remove yourself from the chain of bureaucracy, empower the high-value roles you were formally holding hostage, and go find something more valuable to do. You'll be happier in the long-run too.
Tech Debt and Feature Work
It doesn't have to be one or the other. Twenty-five percent of a teams capacity should always be dedicated to tech debt. If it's not, please start saving now for that very expensive rewrite you'll need in 5 years when no one understands your code base, it's tech stack is obsolete, and it's the bottleneck of your business.
Addressing tech debt in a systematic fashion also allows the devs to feel a sense of pride in their work. To keep their house clean and tidy. The hard-to-quantify-but-very-real cost of not addressing tech debt is the decreasing pride the software craftsman takes in working on that app.