In this guide, you will learn my personal road map that helped me become what I consider to be a '10x level' developer. We have all seen films like WarGames, Hackers, and Swordfish where with a single keystroke someone can hack into a bank and cause havoc. In software books, we always read about the rockstar developers who will do twice the amount of work as everyone else. How is this possible?
This concept of how to become a rockstar developer fascinated me when I first got into programming. When I started my career I do not think that anyone would have classed me as a rockstar developer. I was competent but let us say that I did not exactly shine. I was made redundant from my second job. Shortly after this, I failed to pass my probation in my fourth job. At the time I assumed that I was simply not cut out for software development. After failing to pass my probation, I made a commitment to myself to learn the secret of becoming a fabled rockstar 10x developer so these unfortunate things would stop happening to me. I wanted to be so good that I would never fail at a job or probation again.
In this tutorial, you will learn how the steps that I took to level-up my skills. One book that really helped me on my journey towards this mythical 10x developer was Bounce: The Myth of Talent and the Power of Practice. If you are starting out in your programming career and you are not sure that you have got what it takes to become a great developer then read this book.
Before we carry on too far, we should define what a '10x' developer is. Everyone will have his or her own definition of what a 10x developer is. I define a great developer as someone who is so efficient, they can do the same level of work as two or more people AND to the same standard. I have done this several times in my career. For two years I worked on a support desk, on a weekly average I closed the same number of tickets as 3 other people. On a recent contract, my personal velocity was the same as 3 other team members combined. This is what I consider a 10x developer. You do not need to be 10x times more clever than anyone else, I am definitely no smarter than most people I work with. The trick is to know how to work in an efficient manner to maximize your output.
Anyone can become a 10x developer if they want to, the real question is how much effort are you willing to put in? I think a lot of people tend to assume that great performers are just born with natural talent, or, they are born being able to use the force like baby Yoda. This type of thinking is a myth, I have yet to work with any of these mythical unicorns. Personally, I need to practice in order to become better at any skill that I want to master in life. I consistently invest my own personal time in learning new things. At work, you tend to work within your comfort zones. To become good, you need to undertake deliberate practice. Your practice needs to be on things you do not know yet. You need to deliberately focus on learning new skills outside of your comfort zone in order to become better. As a side-effect, you will automatically become quicker and more adept at your job.
For my journey, I went out and read over 100 programming and personal development books. I spent countless evenings and weekends creating content for this site, building projects and trying new things out. This is the path you must follow to become great. When it comes to levelling-up and becoming a 10x developer there are several areas that you will need to have a solid understanding of:
- Technical Skills
- Communication Skills
- Mindset Skills
For each of these topics, I will provide you with a number of resources that I can personally recommend. Learning how to communicate well and to have mastery over your own mindset should not be overlooked. These skills are both equally important to master. You can not be great with technical skills alone.
Leveling Up Your Technical Skills
If you read at least three of the books on this list, you will become better at coding. Also do not try and pick the shortest one. Commit to reading the longer and harder ones, like Code Complete. It is hard going but ultimately you will get the most from these types of books:
- The Pragmatic Programmer: your journey to mastery, 20th Anniversary Edition
- Code Complete: A Practical Handbook of Software Construction
- The Robert C. Martin Clean Code Collection (Collection) (Robert C. Martin Series)
- Dependency Injection Principles, practices, and patterns
- Clean Architecture: A Craftsman's Guide to Software Structure and Design: A Craftsman's Guide to Software Structure and Design (Robert C. Martin Series)
- You Don't Know Js
- Head First Design Patterns: A Brain-Friendly Guide
- Design patterns : elements of reusable object-oriented software
- Unit Testing: Principles, Practices, and Patterns: Effective Testing Styles, Patterns, and Reliable Automation for Unit Testing, Mocking, and Integration Testing with Examples in C
How To Level Up Your Communication Skills
Being able to talk to clients, being able to communicate with the product owner to make sure the requirements are correct, talking to customers to help support them, and even having the confidence to ask for help is an essential skill. Bad communication is a guarantee to hinder your software career. The good news is that everyone can improve this skill. Being deliberate on the words you choose, your body language and how you deliver a message will improve your life. The resources list below will help you on that journey:
- How to Have a Good Day: Harness the Power of Behavioral Science to Transform Your Working Life
- The Phoenix Project: A Novel about It, DevOps, and Helping Your Business Win
- The Manager`s Path: A Guide for Tech Leaders Navigating Growth and Change
- High Output Management
How To Level Up Your Mindset
To become better at anything is a grind, you need to put the time in to improve, simple as. Over the years I have heard dozens of developers say they don't want to read 'work' books in their spare time. Others use the excuse of money, not wanting to pay money from their salaries on a course that will just benefit their work. This is exactly what differentiates a 10x developer from an average developer. Developers who are willing to commit time and passion to their own careers will thrive. If you are mentally resisting putting this effort in, then this is a sign you need to work on your mindset. Having a bad attitude will be the biggest hindrance you will need to overcome. The only person who can solve your internal bad attitude is you. Having a positive and pro-active mindset is another facet that will help you to live a happier life. You can use the resources below to find inspiration and motivation to help you on this journey. :
Unfortunately, committing to become better does not happen overnight. Shange may not be noticeable within a few weeks or months. If you can commit to yourself that you will read 5 books on either technical, communication or mindset every year you will succeed. In 10 years' time, you will have read over 50 books and you will have a level of knowledge that only the top 10% of your industry will have. After 5 or 10 years you will notice a big change in your career. Being consistent, constant learning will have a massive pay-off. I know this as I am speaking from experience. I went from the guy who got fired, to the guy everyone tried top head-hunt. Happy coding!