Today, a thought crossed my mind. I was revisiting the basics of solving a Rubik’s cube (yes, I forgot how to do it), and as every beginner does, I started by solving the white side first and then moved on to the rest of the cube. However, observing world record holders who can solve it in under 20 seconds, I realized that their approach is different. They don’t solve the cube extremely fast by focusing on white. Instead they analyze the cube on each side to determine the most efficient path to solve it.
How does this relate to programming? Let me explain.
The key takeaway here is about adaptation and finding what yields the best results. Just like you wouldn’t break a world record by starting with the white side, you shouldn’t limit yourself to one approach or tool in programming. How can you determine if a language or tool is the best fit for a particular use case without experimenting with different options?
For example, if you need to build a CLI tool, while JavaScript or Python might work(please don’t do this), they might not be the optimal choice. A lower-level language like Go or Rust could be more suitable.
Reflecting on my Journey
When I first got hired, I primarily used JavaScript and React at work and didn’t engage much with programming outside of work. However, after being inspired by the guy with beautiful wife and who uses vim btw, I completely changed my approach to programming. Did I go a bit too hard with installing neovim without knowing anything about vim? Perhaps, but I have no regrets.
In just two weeks, I transitioned from Visual Studio Code to Neovim, began learning Rust, and started learning like I did before I got the job. Within a month, I learned more than I had during my two years on the job.
Back to the Cube
Let’s circle back to the Rubik’s cube. If you stick to solving the white side first, you’ll never fully realize how fast and efficiently you can solve it. The discomfort and the need to shift your mindset can be barriers to achieving greater efficiency. You will be slow, frustrated and constantly be thinking “I don’t know this”.
You can choose to stay in your comfort zone, as I did for two years, or you can embrace the challenge and improve.
Ultimately, the decision is yours, and it always has been.