Our brains are home to a great many beliefs–weakly-held and otherwise. There are a few that have become fairly intrinsic to my management approach.
Culture grows from ownership. High-performing cultures depend on alignment, discipline, and mutual trust. These qualities are nearly impossible to achieve without shared purpose and ownership, and providing a vision and working environment that people can buy into must be leadership’s top priority.
Output isn’t an outcome. “Busy-ness” is a lousy measure of productivity. So are lines of code, time at desk, and every other measure that mistakes the appearance of results for the real things. Leading with a clear goal, accountability, and the necessary support is a more fulfilling way to work—not to mention a more effective strategy for the business.
A focus on outcomes isn’t a replacement for doing things The Right Way. But it’s the appropriate place to start.
Continuous improvement isn’t an option. Our world changes too quickly to do things as we’ve always done, and checkpoints for introspection and improvement (think RFCs, launch retrospectives, post-mortems, and RCAs) are a mark of a healthy engineering culture.
Optimize for speed. From test suites to UI loading states and all stops in between, fast feedback is the critical element in building great software. The impacts reverberate from end users to internal development teams, and getting it right is the difference between shipping amazing products and shipping something that’s merely good enough.
Solve for the people; the rest will follow. I love delegation and a good decision-making framework as much as the next leader, mostly from the belief that (1) I probably don’t have the right answers; (2) my team members probably do; (3) creating a culture where they’re able to exercise ownership, take risks, and grow as quickly as possible is as good for them as the business.