We often hear about the fabled 10X developer. Whether or not it is true I’ll leave up to you to decide. But it is often good to have ideals for us to strive towards even if we can never reach them. That can lead to unhealthy expectations for sure, but what if there were real ways we could get closer to that ideal. My question then is, are there real things we can deliberately do to get us closer to being a 10X developer?
I believe teaching development to others is one of those things. I’ve always heard the saying “if you want to master something, teach it”, so I’ve volunteered to give presentations and talks. However, it really didn’t hit home until I started teaching at a developer bootcamp. Here is a break down of the different levels of teaching and how they may make you a better developer.
While this isn’t explicit teaching, depending on the pair, teaching and guidance can occur both ways. With the pressure of someone else around, you have to think more logically about what you are doing and how to explain it. Also the exchange of ideas can expand your knowledge base. However, as you get more comfortable in this situation, learning may decrease.
This is was my first foray into teaching. Giving a presentation about a subject forces you to think about how you would explain a concept and if it is something you never used before, forces you to learn something new. Also if you put yourself under the scrutiny of questioning, you have to think about things deeper or from other perspectives then you could come up with alone. Even if I can’t answer a question on the spot, I often find myself thinking about it later and coming up with the correct answer. That sucks for your presentation but is great in the long run.
Mentoring while not teaching, comes close and provides similar benefits. Being on the hook for advice will often force you to think of different perspectives and problems. And you may often give the wrong advice. But usually when this happens you learn about your wrongness in the future and feel really bad, and thus a lesson sticks with you forever. Once you get good at mentoring, maybe you give less advice but either way, ideas you communicate to other people normally make you scrutinize them more.
Boot Camps and Hands on Workshops
Boot camps and hands on workshops can bring you to an even higher level of development nirvana. While it is much like a tech talk, the hands on practice with many different people and many different problems can really help you enhance your skills. Also with a shorter talk you can avoid issues pretty easily. In a longer format, you have to deal with more problems and people. You will have to learn quickly how to explain things but also how to keep things simple so a room of beginners can execute your exercises. With people writing code on their own and then coming to you for help, you’ll also learn to debug other people’s code. After teaching at a bootcamp for a year, I can guess many fixes for bugs with little to no information. While you encounter debugging on the job too, a boot camp or workshop can expose you to more variety in a compressed time frame.
By exposing yourself to one or many of theses things, you can up your development skills. Will you ever become a 10X developer? Maybe not but you will inch closer everyday. With that said, make sure you also don’t forget to code regularly. By going too far down the teaching road, you could become too academic and fall out of practice. It is often easy to talk about code and hard to put it into practice. However, by mixing teaching into your coding career, you can see great results.