Every employer wants a 10x developer — an elite developer that is able to produce code ten times faster and better than their peers. They are an elusive select few that is able to command higher paychecks and can snap up jobs faster than anyone.
But being a 10x developer is relative.
It’s all about perspective
If the team is weak or are mostly made up of juniors, a semi proficient developer can be viewed as a 10x developer. If you take the big fish and put them in a bigger pond, you’ll find that they’re not as effective or efficient as those in the newer and more challenging environment.
Nevertheless, it’s still possible to be a 10x developer in any environment — if you keep using yourself as the baseline to assess against.
The Japanese have a concept called kaizen — or continuous improvement. Mathematically, if you improve yourself at a rate of 1% daily, you’ll be 100% better in approximately 70 days. This means that the starting point youcompound approximately every 70 days. If you consistently this up, you’ll be a 10x developer that’s a proper big fish in any pond no time.
Theoretical self-improvement mathematics aside, here are some things you can do to contribute to your continuous learning journey.
Start with the big ideas
Programming’s purpose is to codify the world through a series of patterns written in a particular set of syntax based rules. Anyone can learn to program — but what’s often missing is efficient code grammar and effective style. New developers tend to ‘waffle’ with their code, resulting in convoluted garbage code that are prone to bugs.
People always say write your code in a concise and elegant manner — what does that actually mean?
To write concise and elegant code means to embed your code with effective patterns and paradigms that’s been tried, tested and deemed as the current best solution for a particular scenario or set of conditions. For a x10 developer, this process is second nature.
So what are these effective patterns and paradigms?
The two big ideas that can transform the efficiency of your code are functional and object oriented programming patterns. Approach both ideas with a neutral mindset because there is a lot of vocal advocates that will do their best to discredit the other. Both patterns are not 100% perfect for every occasion but understanding how to use both can help you determine which is the most appropriate solution for your required conditions.
Application of SOLID ideas is also another pattern that can help alleviate messy code, bring structure and allow your work to have a standardized method of communication between developers.
Having knowledge of your language’s methods and structures can also make you a better developer in the long run. You don’t have to understand everything or know how to use them. Awareness of their existence is often enough as a starting point until the opportunity arises to use them in context.
Follow the industry leaders
There are a handful of industry leaders that are also prolific content creators. Martin Fowler is the one of the most cited code influencer. Other big names include Robert C. Martin, Alistair Cockburn, Kent Beck, Grady Booch, Eric Gamma, Gregor Hohpe, Craig Larman, Neal Ford, Douglas Crockford and Brendan Eich.
They are the movers and shakers in the industry — the ones that are talking endlessly about the issues, the solutions and potential ways to look at, create and consume code. Their talks and ideas are generally language agnostic — meaning that anyone from any discipline can consume their ideas.
Their talks and presentations are often recorded and posted on YouTube. Here are a few helpful channels that you can listen to in your between time.
The talks recorded and posted in these channels often cover big ideas that can be applied to your day to day coding activities.
Read some books
Despite technology and its constant new release schedules, tech books are not quite as obsolete as we may think they are. There are certain ‘classics’ that is akin to the Charles Dickens of technology must reads.
These books are even more vital towards creating code that has a solid foundation and better view of how things fit together. While online tutorials are great, books give a better in-depth and holistic bird’s eye view. Reading tech books is also a good way to expand your knowledge domains and give you dots to connect in the future.
Here are a my top ten recommended reads.
by Eric Evans
This book isn’t just about code. It’s also about how to organize your teams and design your system based on the conditions rather than conform the conditions to the code. This book is one of the best staple reads for anyone that crafts code.
by Robert C. Martin
Clean code focuses on functions, classes and code smell. Although a word of warning, examples are in Java and some of the illustrated ideas are not applicable and transferable to other languages. Nevertheless, if you want to upgrade yourself as a developer, it’s still pretty decent reading material.
by Harold Abelson, Gerald Jay Sussman and Julie Sussman
This book is often prescribed in computer science classes and for good reason — the authors set out to change the way you think about programming. It does have a bit of mathematics in it but if you can get past this, it will make you a better programmer in contrast to just being a mere coder.
by Eric Freeman, Bert Bates, Kathy Sierra and Elisabeth Robson
If reading tech books isn’t really your thing, this book is akin to a paperback version of your online tutorials — but more in-depth and with a holistic view of design patterns in one place.
by Andrew Hunt and David Thomas
Although originally published in 1999, the thoughts and methods of thinking in this book has tested itself against time. This book isn’t about the code but about problem solving and how to get to a effective and efficient solution in a way that is language agnostic.
by Frederick P. Brooks Jr.
This book is a bit dated but the lessons that the author illustrates has a timeless quality about it that makes it still one of the most popular recommended reads in programming. It presents ideas that every lead architect and project manager should have in the back of their minds and can make your code life easier in the long run.
by Joshua Kerievsky
This books is best consumed after you’ve understood and mastered the common patterns. This is because it won’t teach you those patterns but how to transform code into something that is more standardized against industry expectations.
by Mike Cohn
You can’t escape agile and this book focuses on agile delivery from a software perspective. There’s a lot of talk about agile but it’s usually for management. There isn’t actually a proper guide out in the wild that is known to hit agile from a software first approach. Mike Cohn does exactly just that with this book.
by Kent Beck
Everyone talks about test driven development but not many truly understand what it is and how to go about doing it. This book comprehensively goes through the thought processes and technicalities of performing TDD correctly.
by Gayle Laakmann McDowell
Even if you’re not going in for an interview, the questions and answers with provide you with better insights onto how things work and why it works. It also doubles up as a good guide on programming principles and gives a comprehensive view over the discipline.
The journey towards becoming a 10x developer is an endless one and never quite complete if you keep using yourself as the baseline for improvement. There will always be someone who is better than you — and those who are less effective and efficient.
Externally, where you stand is relative to where everyone else is. You just need to keep learning and improving to a point where what you know has surpassed the speed of change. By learning the foundation and advanced theories of code, it puts you up as a much more effective and efficient developer by default.
This post was originally published on my Medium account behind the paywall – republished and made to you free for your enjoyment here on dechalert.co