Roll With Innovative Ideas Like NES Tetris Record Breakers
Written on
Chapter 1: Embracing Change
"Any year that you don’t abandon one of your cherished ideas is likely a year wasted." — Charlie Munger
This quote serves as a reminder to cultivate an open mindset. It's astonishing how challenging it can be to shift our perspectives, especially our own. We often find ourselves entrenched in arguments supporting our views while dismissing alternatives.
Instead of categorizing ideas as right or wrong, we should evaluate their strengths and weaknesses. We continually learn, adapt, or discard ideas throughout our lives. Rapidly letting go of outdated concepts when necessary is a crucial skill. To enhance this skill, we must compel ourselves to entertain opposing viewpoints. — Charlie Munger
The video, A Deeper Dive into the New Rolling Technique in NES Tetris, left me both impressed and inspired for many reasons.
The video kicks off with an exciting revelation: “It’s an exhilarating time in the NES Tetris community.” This makes one pause. The NES Tetris community? Yes, the Nintendo Entertainment System debuted in 1983, and Tetris followed in 1984. Remarkably, people are still playing NES Tetris in May 2021, over 30 years later! What's even more astonishing is the innovative techniques emerging within this community.
One breakthrough is a rolling technique where players use multiple fingers to tap the controller's underside while pushing it upward onto their fingers. This method allows for quicker movements than traditional pressing. This new technique is not only redefining the gameplay but also shattering NES Tetris records.
What fascinates me is the thought process behind this innovation, as people meticulously analyze challenges to develop creative solutions.
Chapter 2: A New Approach to Software Development
"People are generally more convinced by the reasons they discover themselves than by those presented by others." — Blaise Pascal
Typically, individuals resist being told to alter their perspectives. My instinct is to reject changes, perceiving them as difficult and inconvenient in the short term. We tend to gravitate towards familiar approaches that provide comfort and confidence.
The first step in changing this mindset is to collaborate with others to explore new solutions. Instead of dictating what to think, ask guiding questions that prompt them to consider your viewpoint. A “Columbo approach” can be effective here:
- How does this apply to our situation?
- What actions should we take?
- What advantages does this method offer?
Rather than instructing others to change, help them uncover the rationale and benefits behind it. When individuals realize a compelling reason for change, they are more likely to embrace it themselves.
Section 2.1: The Art of Knowing When to Let Go
Understanding what is truly significant versus what isn’t is a valuable skill. I have spent countless hours debating trivial matters. It’s common for people to feel that others should share their opinions, leading me to invest time trying to convince them otherwise.
Jeff Bezos advocates a straightforward approach: if a topic is significant, the group should settle on one solution and move forward. If it’s not critical, everyone is free to maintain their views.
The idea that software development doesn't have to be flawless aligns with the principle of achieving a level of quality that is "good enough." Avoid expending effort on inconsequential details or striving for unnecessary perfection.
"The significance of 'picking my battles' and focusing on the long-term implications of my choices." — Peter Bevelin.
Adam Grant poses a thought-provoking question in his book Think Again: The Power of Knowing What You Don't Know:
“What would it take to change your mind?”
If someone responds that nothing could change their mind, it’s time to cease the discussion. Ask yourself: if nothing can alter your stance, why continue the conversation? Never hold so tightly to your beliefs that you refuse to entertain alternative perspectives.
Section 2.2: The Need for Adaptability in Development
We can often trace the roots of failure back to our past successes. While responding to comments on "Why Some Developers Don't Believe in Best Practices," I realized the term “best practice” may not be the most effective descriptor. Instead, we should refer to “good practices,” as there are no universal solutions that apply to every scenario.
The methods, practices, and standards a development team should adopt will vary based on context, personnel, skills, prior standards, technology, and other factors. Just as ideas cannot be rigidly classified as right or wrong, there are no absolute best practices.
Developers frequently fall into the trap known as the "golden hammer syndrome," where they perceive every problem through the lens of their preferred technology. While expertise in a specific technology is valuable, it doesn’t necessarily mean it’s always the best fit.
Particularly when technology evolves, there's a risk that our knowledge and tools may lag behind. It's essential to remain open to exploring more effective ways to tackle challenges.
Developers should embody humility and curiosity. They should be eager to learn about new technologies, standards, and methodologies that could enhance their work processes, while also being receptive to the ideas of their peers.
"If you can't fathom how anyone could hold the opposing view, you may not fully understand it yet." — Anthony Weston