Without waiting for the next translation, Chad Fowler's favorite book “A Passion for Programming”, I decided to continue. I am not sure that I will not disturb anyone, but I intend to resolve the issues that have arisen peacefully.
Chapter 4. Be the worst
<
3. Coding is not all |
5. Invest in your intelligence >
The legendary jazz guitarist Pat Metheny has wise advice for young musicians that sounds like this:
Always be the worst in the group.
(Always be the worst guy in every band where you play).
Before starting my IT career, I was a professional jazz and blues saxophonist. As a musician, I had the good fortune to learn this lesson early, and follow it in the future.
')
So. Why do you always have to be the worst member of the group. “Doesn't that discourage?” You ask. Yes, at first glance, this is really discouraging. When I was a young musician. I found myself in situations where I was obviously the worst guy in the group and felt like a black sheep that spoils the whole flock. I came to the concert, and did not even want to unpack my saxophone, for fear that I would fall under the stage. I had to stand next to people from whom I had to take an example and even play at the same level, and sometimes play the main part.
Unmistakably (fortunately!). Something magical happened in these moments. I adjusted. I would not stand out among other musicians like a star. On the other hand, also, obviously, I would not have surpassed myself. This happened for two reasons. The first reason is that I'm not as bad as I thought. Let's come back to this later.
A more interesting reason is that I adapted to these super musicians - my heroes, in some cases - because my game changed to be more like theirs. I would like to think that I possess some kind of superpower, turning into a genius just by standing next to him. It was more like some kind of imitative behavior programmed in me. This is also a phenomenon that made me adapt to the new programmer's vocabulary and habits, when I was surrounded by people who spoke differently than I did. When we returned after a year and a half of living in India, my wife begins to laugh, listening to me, “Do you hear what you just said?" I spoke Indian English.
Being the worst guy in the band, I found a saxophonist in me. I would naturally just play like everyone else. What makes this phenomenon really not interesting is the fact that when I played in eateries, with not very good bands, I played the same way as these guys.
In addition, as an alcoholic, whose legs are woven even when he is not drunk, I have noticed bad habits, even when I did not play in bars.
So, I learned from this that people can significantly improve or degrade skills simply by observing how others work. And, long-term group work experience can have a long-term effect on performance.
Later, when I moved to IT, I discovered that the habit of looking for the best musicians became natural for me as a programmer. Perhaps unconsciously, I was looking for the best IT people to work with them. And, not surprisingly, the lesson has preserved justice. Being the worst guy (or girl, of course) of a team has the same effect as the worst guy of the group. You will find that you are inexplicably better. Even you will speak and write much better. Your code, and your ideas will be more elegant, and you will understand that you are able to solve more complex problems in more and more creative ways.
Let's go back to the first reason, which I mentioned that I joined these groups better than I expected. Actually, I'm not as bad as I thought. In music, it's easy to measure when other musicians think you're good. If you are good, they invite you to play with them again. Otherwise - they avoid you. It is much more accurate than measuring, asking what they think about you, because good musicians do not like playing with bad ones. Much to my surprise, I found that in many of these cases, I received offers from these super musicians for further work or for creating my own band.
Attempting to be the worst, in fact, prevents you from selling yourself right away. You may belong to group A, but always remain in group B because you are afraid. Admit it is not better to remove the fear of not being the best. In fact, even if you try to be the worst, it’s not a fact that you will be.
Act!
1. Find the “be the worst” situation for yourself. You cannot afford the luxury of immediately changing a team or company just because you want to work with the best people. Instead, find a volunteer project that you can work on with other developers who will make you better. Learn about developer group meetings in your city and attend these meetings. Developers often look for projects besides their main work, in which they practice new methods and improve their skills.
If there is no active developer community, use the Internet. Choose an OpenSource project that you like and whose developers represent for you the “next level” of which you want to achieve. Scroll through the to-do list of the project or the archives of correspondence, select a feature or large bugfix, and start coding. Adhering to the style of the project. Turn it into a game. Make your code and ideas so indistinguishable from the code and ideas of the project, so that even the developers themselves could not remember who wrote it. Then, when you are satisfied with your work, present it as a patch. If the work is good, it will be accepted into the project. Start over and do it again. If you made decisions that the project developers do not agree with, take into account their wishes and redo them, or take note of the changes they make. Try to make your next patch with the least amount of rework. In the end, you will be a reliable member of the project team. You will be amazed at what you can learn from a remote group of senior developers, even if you never have a chance to meet.