At PHP[World] 2014, the venerable @coderabbi (Yitzchok Willroth) gave a talk on Maximizing your growth as a software developer. The talk was an amazing one that was keynote worthy (and several conferences have since asked him to give this talk as a keynote). I’ll try to highlight what I took way from the talk here. However, do yourself a favor and find a way to see this talk in person.
It’s not about donating your time, it’s about sharing your knowledge
Don’t fool yourself though, sharing can be learning too. What you can learn from someone you consider less knowledgeable will amaze you. You will most likely find they were more knowledgeable than you in some ways. Sometimes a different perspective can provide insights that will amaze you. Even the weakest developer has the potential to offer something you never knew before.
It’s not about what you get out of it, it’s about what you put in
The more one interacts with the community. The more one gives to the community. The more one receives from the community #phpworld
If everyone gives a little, then each of us will gain a lot. Just as you can learn from those less experienced, you can learn from your peers as well. If you want to be able to grow, you first must be willing to help others grow.
It’s not about doing someone else’s work, it’s about seeing through someone else’s eyes
“The opportunity to mind-meld with another developer is incredible” – @coderabbi #pairprogramming
Pair programming can open you up to different ways of thinking through a problem. For those unfamiliar with the concept of pair programming, I’ll explain. It typically involves one person “driving” while the other person “navigates”. The driver does the typing, but the navigator is the one leading. They provide the thought process. The person typing may be “doing the work”, but they are also learning at the same time. Sometimes being too close to the code can block you from seeing the big picture. While the navigator is freed from trying to capture their thoughts on the keyboard, the driver is able to build the solution without thinking through the process. It sounds like 2 people doing the same job, but it’s more than that. If done right (avoid the many chefs in the kitchen problem by sticking to your roles), it can be efficient and educational at the same time.
It’s not about teaching someone else, it’s about learning yourself
Professional golfers have swing coaches. Why should our industry be any different? #phpworld
The person who thinks they know it all has plateaued. They will never grow any further in their career than where they are now. Sadly they fail to see their true potential. There is always someone smarter than each of us out there. Find someone like that and learn from them. It will make you a better developer. Then, go and be that person for someone else.
It’s not about admitting you are weak, it’s about learning to be strong
“It is imperative not to let our inhibitions slow our own advance” – @coderabbi #phpworld
Don’t think that you are defining yourself as less of a developer because you seek out someone to learn from. Just as it takes courage to admit when you are wrong, it also takes a strong person to admit they have more to learn.
It’s not about just reading, it’s about doing
Ready to move to the next level in your career? Fantastic! Go on IRC, Twitter, StackOverflow, or your own blog and start sharing your knowledge. Look for ways to share inside your own organization. Look for ways to share inside your development community. If you still need help finding an apprentice and/or mentor, check out the PHP Mentoring project. Never stop learning.