Sunday, July 8, 2018
I was listening to the codingblocks.net podcast episode, "Deliberate Practice for Programmers" the other day and some of what they said stuck with me. They even made a soccer analogy which was right up my (soccer) alley.
Once again, I googled this phrase to see what I would find and I found the search result "Are you a 10x Programmer? Or Just a Jerk?" That made me smile, because I've met those people before. Anyways, in the podcast they point out that everyone feels different about this, which of course makes sense, because it's a very subjective topic. Having said that, they made a good point when they made a basketball analogy that compared the worst basketball player to Kobe Bryant. I don't follow basketball at all, but I know who Kobe Bryant is and he's more than a 10x Basketball Player if you compare him to the worst professional player. You can use any profession for this analogy and come to the conclusion that there is a 10x professional for anything. So, by induction, we can come to the conclusion that the 10x Programmer is not a myth.
This is relevant, because when someone says they want a 10x developer, it's still subjective. Everyone has their own idea of what that means. This is another point of discussion in the previously mentioned podcast. What is your definition of a 10x "Programmer"? I'm not even sure where the 10x Programmer thing came from. I mean I could look it up and find out the history, but ignorance is bliss. I don't need to know at the moment, because it's enough to know that the 10x phrase is just a cool way of saying "really good". The Really Good Programmer. It's not as catchy and it's still subjective. (I should tell my wife to start referring to me as a 10x husband or a 10x father). There are many skills involved in programming, and I've seen people really good at certain things and suck at others, just like me. We can't be good at everything, but we can decide what to be better at.
Unfortunately, I can't be better at everything. I remember watching an episode of The Howard Stern show and they had this contest between two guys that claimed to be good at everything, so they put them through a series of tests. The tests involved singing, playing a guitar, trivia, and some other stuff. They were terrible at all of them and everyone was just laughing at them the whole time, because it was the Howard Stern show. The point was made. The knowledge and skills to be had in the universe is infinite, so nobody can be good at everything.
Another point in the podcast was that being a good programmer (I don't like using the word programmer to describe myself) can mean many things. This means we have to be deliberate about what we choose to practice on, to be better. One way to do this is side projects, but doing that can also get out of hand, because we can take on too many new technologies or techniques in a side project. This means we also need to focus on what we want to do better or learn.
I've decided what I want to focus on. I'm currently reading Code Complete 2 (a massive tome), reading up on software design patterns, and looking to apply that knowledge on my blog project, Vue project and at work when I can (if time permits). This will be my path. I'm sure I'll have to narrow down my focus a bit, but this will be the start. Code Complete 2 comes highly recommended from people I've never met, so it's got to be worth it. (That last sentence was not serious.)
I want to underscore this whole post with the fact that talk is cheap and too much passive listening is cheap. At some point we have to start applying what we are learning or it's just going to go away. It's science, look it up! (That last sentence was also not serious.)