This lesson was taught to me by one of my greatest teachers, João Castilho, a great musician! With a guitar in hand, João performed as a sideman for renowned artists across Brazil and abroad.
Graduated in Engineering, his passion for understanding how things work led him to create a unique teaching methodology and an improvisation course. I was always amazed by how effortlessly he could explain complex music theory and then demonstrate it in practice.
One memorable lesson was when he taught me the rhythm of some Samba and Bossa Nova songs. For those who don’t know, these song styles from my land are full of syncopation and complex chords, and reading them on music scores and applying the groove isn’t simple and can be kind of challenging for some. João broke down the rhythm into manageable sections, guiding me through writing and reading sheet music. He reminded me that sometimes “less is more,” and that sometimes it’s essential to take one step back to take two forward.
This focus on fundamentals resonates across different fields. During my years practicing volleyball at college, my coach and friend Marcos Marinho transformed our team of beginners, who could barely serve, into tournament champions in the three years he coached us. His focus: fundamentals! By practicing sets and bumps against the wall, we developed the coordination to move and understand the ball’s speed and behavior. We gradually learned how to attack, defend, and keep a strong mindset to stand against adversities.
The same approach guided me in martial arts under Luiz Pessanha: fundamentals! Simple movements first! It’s about repetition, spending hours, days, months, or years perfecting certain movements and making them effective. Bruce Lee and UFC fighters such as Lyoto Mashida, and Anderson Silva often mentioned that.
As a developer, I apply these lessons daily. Experience alone can make a good professional, but without a commitment to mastering the basics, one’s full potential is limited-especially in a field as fast-paced as tech.
Ultimately, being a good developer is about learning and applying this knowledge in creation or problem-solving. Once we master the fundamentals, our eyes will be sharpened, and we may easily and quickly detect mistakes or find code lines that can be improved or removed, and in larger projects, discard unnecessary lines of code and features for overall performance.
React
A few years ago, I started learning React. I watched some tutorials, but I just couldn’t understand them. I quickly realized I needed to improve my fundamental JavaScript skills.
Understanding the spread operator and array methods like map() and filter() in vanilla JavaScript transformed my learning process. Breaking concepts into sections and mastering core concepts makes everything easier. As developers, we’ll spend our lives learning, so investing time in “how to learn” is invaluable.
Teaching
In 2023, I began teaching HTML, CSS, and JavaScript in the Brazilian NGO One by One, which brings us to the title of this article: You can only claim you know something when you’re capable of explaining something in more than one way.
We learn a lot by teaching!! I became a better developer since I started teaching regularly and I’ve heard that from many teachers through the years. So, if you have the opportunity, why not dedicate some of your free time to teaching or mentoring someone in coding? It’s a rewarding job, whether paid or voluntary!
Finding mentors and teachers
For months, I’ve been mentored by Filipe Seabra, a developer on the AIOSEO team. The guy is a monster! His mindset is very similar to mine in terms of mastering fundamentals and understanding the tools we work with to get more productive. He’s a great example of someone who can explain topics in different ways, which proves he masters the fundamentals, and because of that, he masters advanced stuff as well.
Another professional I admire and see the same characteristics is Tiago Neto. When I started talking with him about how to improve my development skills and knowledge overall, he asked a simple question: “Do you know in depth what happens when someone accesses a website?.” A simple question, yet profoundly fundamental.
Another influential figure is my childhood friend, Léo Muniz. I remember him teaching me fundamental concepts like recursive functions and ‘foreach’ loops years ago. He encouraged me to dive deeper into programming logic, showing me how much could be achieved through code. His advice opened my eyes to the importance of developing a “culture” around programming—understanding the core principles and logic that would fuel my growth as a developer.
Conclusion
Too often, people overlook elementary concepts, considering them unworthy of their time. I choose to be humble and share this mindset with my students and friends because it’s essential for continuous growth.
So, master the fundamentals! Spend time teaching and helping others. It’s one of the most rewarding investments you can make in your career and personal development, as well as making the world a better place.
And a special thank you to my teachers, mentors, and students!
