Overachieving Low-level Goals leads to Underachieving Higher-level Goals
Remember the high-achievers at school or university, they’d be stressing and over-studying for a test in a class that they didn’t even need! (I remember, I was one of them).
“Whatever is worth doing at all, is worth doing well.” — Philip Stanhope, 4th Earl of Chesterfield
In the workplace however, and especially in software development, this can lead to opportunity costs, over-engineering, complexity, and tech-debt!
I witnessed this first hand when a task given to a new team member (let’s call him John) to fix a Xero to Slack integration workflow. Slack notifications were sent to our customer team based on certain invoice conditions in Xero. We previously had it setup running through out backend system — but it had stopped working, so the task was to investigate and fit it.
John was quick to realise Xero had deprecated an old API and webhooks which we had been using. The new API however wasn’t as easy to get the data we needed. Ideas on how to get around the new API were discussed with other team members — it was an interesting and challenging problem after all. The only solution John and the team could come to was implementing a headless browser, where a scheduled task would programmatically login to Xero through the web UI, navigate to the data, and parse it into a usable format. He did it, and it almost worked! But the time on the task had blown out to almost a week now.
And here’s the thing. Everyone’s eyes were on the challenge of achieving this one low-level goal, but no one stopped to even ask if the higher-level goal of the Slack messages were even worth it given the cost, or if other solutions could be implemented instead.
After talking with the customer team, they were happy with a mix of Slack messages through Zapier (a simple integration tool), and emails direct from Xero.
The lesson I learnt is that overachieving a low-level goal at all cost can lead to underachieving higher-level goals.
I’m not sure why over-achieving low-level goals is so easy... Maybe we want to be seen doing the best we can in our part? Maybe the parent goal isn’t always well known? Maybe the goal/task is coming from a manager that we don’t want to question? Maybe we are scared of setting back a project to reevaluate the solution? I don’t know.
I do know what the solution is however. Be more lazy!
“I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it.” — Bill Gates
When something seems hard, look for the bigger picture goal, and see if there’s another way to achieve it, or if it’s even worth achieving at all given the cost. That’s it.