You have to do boring things to do exciting things
The internet is largely a highlight reel. We see the best of the best, and we see the most exciting things. It's easy to get caught up in the notion that success and innovation come easily. However, behind every success story, there are countless hours of hard work, dedication, and often, a lot of boring tasks.
I used to coach athletes in olympic weightlifting. I would often tell them that the key to success in the sport was not just about lifting heavy weights, but also about doing the "boring" things: the warm-ups and mobility work, the technique drills, and different training modalities. These tasks may not be glamorous, but they are essential for building a solid foundation for success.
For those not familiar, olympic weightlifting is a sport that requires a high level of technical skill and strength. There are two competition lifts, the snatch and the clean & jerk, which tend to be the focus of social media highlights. As a result, I would often get athletes who were keen to max out regularly, to set new Personal Records (PRs), and would get frustrated if a training plan wasn't moving quickly enough for them.
It wouldn't take long before such athletes would see the logic behind long-term training plans. Either they would plateau or get injured, while disciplined athletes would be able to keep training and progressing. Now they would see the value in doing the warm-ups and mobility work, and how impropved positioning would let them lift heavier weights in the long run. They would also see the value in doing lighter technique drills, and how it would help them improve their timing and reflexes while sparing their body from maximal loads.
You have to do the boring things to do the exciting things.
Of course, being in software engineering, I can't help but draw parallels between this and our work.
In an environment where the focus is on outcomes (ie. shipping features and meeting deadlines), it's easy to overlook the importance of process. However, when I think of the teams I've worked with, I often see a similar pattern - teams that are successful in the long run are those that are willing to do the "boring" things: writing tests and documentation, doing code reviews, and following best practices.
If your team is struggling with meeting outcome goals, it might be time to take a step back and evaluate your process. Are you doing the boring things that will set you up for success in the long run?
If not, why? It's a good place to start looking for answers.
If you are, why? Send me a message, I'd love to hear examples of how different teams approach this. And keep it up! You're doing great work.