Make the right things easy
When I was at Shopify, I started using a motto:
Make the right things easy and the wrong things hard.
People are lazy. I’m really lazy. Sometimes I’ll drop something on the floor and think to myself, maybe I should just leave it there. No, don’t be lazy, I say to myself, and I pick it up. Maybe. Sometimes. Anyways. Point is, if I have an easy way to do something, I’ll usually take it.
When we established the product front-end team at Shopify, how could we make things easier for developers to do the right thing? Copying and pasting code from one page to another was commonplace but was prone to errors and often was missing key elements or classes that needed to be in place for things to look and work properly.
We needed to do more than create a CSS file. We needed to create documentation. We needed to create an api that could be easily consumed.
Having these things in place made it easy to do the right thing.
The flip side to that is to also make the wrong things hard. Linting tools, for example, make it difficult to commit code that doesn’t fit company guidelines.
At Xero, as another example, different teams use different front-end tech stacks. In order to help the company coalesce around a single front-end framework, I recommended the design systems team (known as UX Engineering) build out front-end components in one framework. This way, doing the right thing is easy: the components are ready to go. Doing the wrong thing ends up being a lot of work since complex interactions would need to be written from scratch in whatever framework they chose.
In your team, how can you make it easier for your team to do the right thing? How can you make it harder for them to do the wrong thing?