The One Thing You Need To Focus on To Become a Master Developer
Cultivate your “learning engine”
The Biggest Flaw in Being Self-Taught
One of the greatest accolades developers can have etched on their chest is being “self-taught.” We want to be recognized as intelligent individuals who are fully capable of getting difficult tasks done without assistance. We want to be dependable yet self-reliant.
I would consider myself self-taught in many aspects, but what many self-taught people would know is that it’s damn hard to teach yourself.
Even relying on experience alone isn’t good enough to expedite your growth beyond expectations. There are many “experienced” developers who are rather average in their ability to architect, design, and develop in efficient and intuitive ways. Why is that?
Of course, figuring things out on your own gives you a much deeper understanding of what you’re learning and working with, but how do you know what to learn? Do you know where to look? Do you know the direction that you’re headed in? Do you know the best practices and the most optimal route?
How can you really innovate and excel when so much is hanging over your head? It’s a slow, painful process to go at it all alone. Arrogance and pride are a developer’s — or anybody’s, for that matter — most hindering mental companions.
You’re trying too hard to be a master by trial and error rather than by first becoming a student.
In Robert Greene’s book, Mastery, he breaks the process towards becoming a master down into three phases:
Most of us like skipping directly to stage 2. We want to gain sensory feedback by getting our hands dirty. After all, “Practice makes perfect.” Although true, you’re only cheating yourself by skipping that crucial first phase.
In my opinion, the first phase is the most important and crucial to expediting your road to mastery and the heights of intelligence. The Creative-Active phase does nothing more than reinforce the former. Without the first phase, the second phase will likely be ineffective and inefficient.
Why do I say that? Well, let’s counter any doubts you might have with another question.
Would You Rather Be a Rolls-Royce or a Toyota Corolla?
When you hear the name Rolls-Royce, you probably think of the $400K luxury vehicle. So it might surprise you when I say that Rolls-Royce isn’t a car company but rather an engine and energy company. And guess what? They are the second-largest aircraft engine manufacturers in the world — not to mention they handcraft their cars.
I’ve actually driven a Rolls-Royce before (thanks to my old job as a valet) and I have to say, it’s hard not to appreciate the masterful engineering, design, and thoughtfulness put into the vehicle. It’s definitely one of a kind. You can clearly see and feel the level of craftsmanship put into it.
Toyota Corollas, on the other hand, while not bad, are very average and underwhelming. They’re mass-produced through assembly lines and are hardly breathtaking in terms of engineering and thoughtfulness. They are simply built to be functional — not to stand out and break down barriers.
Ideally, you want your skill and uniqueness reflected in your work the same way a Rolls-Royce beams competency and intelligence behind the brilliantly meticulous mechanics that put together the vehicle.
You want to metaphorically be powered by the same engine built by the jet engine company (Rolls-Royce) — not the subpar engine put together by the car company (Toyota). At your core, you want to be powered by the best. You can do that by better cultivating what Sahil Bloom has called your “learning engine.” The quality and power of your learning engine will determine how you’ll not only fare in your work as a developer but in life. As Bloom says:
“Build a Learning Engine. The ‘learning engine’ is at the core of every lifelong learner. It is comprised of all the learning ‘inputs’ regularly consumed — books, newsletters, podcasts, videos, etc. The internet has opened access to it all. Build an unstoppable learning engine.”
As many of us should know by now, a developer who isn’t a lifelong learner will eventually fall behind. What needs to be kept in mind, though, is the quality of that learning. Developers appear to want to engineer everything but themselves.
Learn how to build quality into the core of your being and you will thrive in this line of work. Learn how to draw connections between unrelated subjects and you’ll be more creative than ever in the solutions you create. Not only that, but learn from the best and you’ll be better equipped to become among the best.
Become an Apprentice
Not all information out there is created equal. Yes, as developers, the documentation is extremely useful in helping us accomplish what we aim to accomplish.
Online resources that teach you how to code are good for understanding the syntactical nature of a language. Hell, even going to school to study Computer Science or going to a coding bootcamp is sufficient enough to teach you how to build something of quality.
But do any of these things alone teach you what’s efficient and what’s not?
Do these resources enlighten you on how to manage your own projects?
Do they teach you how to streamline your workflow?
Do they teach you how to solve problems in the most efficient and highest-quality way possible?
Hardly. You expect to get most of these things through practice, experience, and simply living.
No, to become a great developer, you must become an apprentice of many masters. Learn what they’ve done differently. Learn from people who are smarter than you and you will therefore become smarter.
In other words, find a mentor. Find the best mentors you can. Become an apprentice to your mentors and internalize everything they preach so that you can later channel such information into your own form of intellectual creativity.
A mentor is exactly what you need to bolster your performance and growth into the developer and creator that you could be.
Now you might think that finding a mentor takes some work, that it takes some networking, or that it has to be a cultivated interpersonal relationship. If you think this way, you’re wrong.
My life is filled with many mentors. Marcus Aurelius had taught me how to think clearly in the midst of adversity. Robert Greene has helped me understand human psychology so that I know how to better interact with and lead my peers — he taught me how to build influence in my career.
Reputable programmers such as Uncle Bob, Martin Fowler, and John Somnez have all contributed vastly to bolstering my career as a developer by not only teaching me how to navigate tech but how to write clean, well-designed code.
The best part? I don’t know any of these people personally.
Mentors can be found anywhere and everywhere.
They can take the form of an extremely influential book that you read, re-read, and internalize. It can be the programming talks and videos that you find on YouTube or podcast episodes that urge you to constantly tune in.
It can be your own failures that you study and learn from — not just shrug off. Or it can be the interactions that you engage in on a daily basis, be it with your CEO, coworkers, the people you interact with on an online forum, or some random person you talked with at your local coffee shop.
Everyone and everything has something to teach you. You just have to have the intention and humility to listen to, identify, and internalize those lessons.
If you want to truly become a master, start by being an apprentice to many high-quality mentors who are either defined by their content or by the way you perceive them. These mentors will be the fuel that makes up the learning engine powering your core.
They open up your world to a wide possibility that would’ve taken you years to discover otherwise. Armed with knowledge, you have the power to truly become a uniquely creative developer and human being. I can only hope to be one of your many mentors in your journey to change the world.
“Our life is an apprenticeship to the truth that around every circle another can be drawn; that there is no end in nature, but every end is a beginning, and under every deep a lower deep opens.” — Ralph Waldo Emerson