It seems like I have been giving the same piece of advice lately: Start with the simplest thing that could possibly work and only add complication as you need it. Sometimes our natural tendency is to plan for all eventualities. We get so caught up planning for what might happen, that we miss the simple solution that is right in front of us. In both climbing and coding, it is possible to overcomplicate things.
Learn From the Pros
I recently read a book, “The Mountain Guide Manual”. It was quite eye-opening. After climbing for 20 years, I thought I knew it all and had seen it all. I was wrong. It was really interesting to me that as an advanced book, it really stripped everything down to its essence. The book illustrates a lot of really simple techniques. Of course, they all happened in a specific order, and that ordered mattered, but the techniques themselves were simple enough that a beginner climber could easily master them. The difficulty lied not in the individual actions, but in having a plan; in stringing all these small simple steps together to achieve some ultimate goal.
Don’t Get Distracted
Stay down to Earth
The classic case of overengineering in programming is the architecture astronaut. This is the person who tries to make their code so flexible, it can adapt to anything. It can be a fun challenge to design such a complicated framework. It all looks pretty and the wires are all straight, but that’s just appearances. There are so many layers of dynamic dispatch that it is impossible to tell what code is actually running. If all that complexity is not needed, it just distracts from the main purpose of the code, makes it harder to read, and introduces more opportunities for bugs.
There’s no new fundamentals
We often forget that the key to being a master is to master the basics. I used to take judo lessons from Kyu Ha Kim. Back when he competed, he had just one basic move, Osoto Gari. It is one of the first moves you learn in judo (after you learn how to fall). He practiced that one move so much, that everyone knew that was his move. He had perfected it so much that they still couldn’t stop him. Instead of learning fancy new techniques, focus on mastering the basics.