Something I wrestle with from time to time is whether to focus on my strengths or my weaknesses. On one hand, weaknesses often represent the lowest hanging fruit. If I'm really bad at, say, programming, a small amount of effort can radically increase my abilities. If I was excellent at programming, that same amount of effort would produce negligible results. On the other hand, time spent by a skilled programmer will create usable work, whereas time spent as a poor programmer probably won't produce anything useful.
An interesting thing to consider is that where you spend your time will define who you are as a person. A person who spends all of his time on his strengths will be a very narrowly focused person. He gets good at something and keeps hammering away at it until he's an expert. He who spends time focusing on his weaknesses will have a very broad focus. He'll be fairly good at lots of little things, but not a true expert in any.
So which is better? Well, despite the impression I give in a lot of my writing, not everything has to be extreme. This is one of those cases where an optimal path may lie somewhere in the middle.
For most of my life I've been way on the side of working on my weaknesses. I was terrible with girls, so I became a pickup artist (but quit before I got as good as people like Mystery, Style, Tyler, etc.). I made no money, so I became a professional gambler. Even though I spoke passable Spanish and Chinese, I switched to learning Japanese. I had never traveled, so I spent a year going everywhere. Whenever I saw a big weakness, I would dive into it head on. Once I cross that "decent" threshhold, I'd back off and start something new.
There advantages to this method. I know a little bit about lots of things and have a wider range of skills than most people I know have. At the same time, very few of those skills are developed at a very high level. If I meet a random person and we both speak Chinese, chances are he'll speak better than I will, since I stopped working on it after I got okay.
The other major advantage to having a broad skillset is that you can translate skills from one field to another, often giving you insight that others don't have. For example, when I play poker I'm utilizing things I learned in pickup. There's a rhythm to pickup of pushing and pulling, finding that line between agression and invitation and straddling it. Same with poker. Some of the pickup pathways built up in my brain are traversed when I'm playing poker.
On the other hand, focusing on weaknesses can become a cowards path. The path from skilled to excellent is scary because you face the possibility of real failure. The higher you go in the pyramid, the more your skills will be critiqued by others and the more likely you are to find a barrier that you aren't strong enough to push through. That happened to me in pickup-- it was such a hard thing to do, that once I got good enough, I no longer had the motivation to push to the levels that some of my friends reached.
The greatest advantage to focusing on strengths is that it allows you to produce impactful work. Writing is one of my strengths, and after almost seven years of continued work on it, I can actually influence other people in a positive way, just by typing. I am useful to society. I'm really bad at painting, but I do find it interesting. If I were to start painting right now, and then quit once I got the hang of it, my art would never get to the level that others would gain from it. I would benefit from the study, but no one else would.
The danger of focusing on strengths is that it can lead to a sort of myopia that restricts creativity. The best programmers aren't necessarily the ones who start the best companies. They can build software that is a true work of art in its efficiency and elegance, but won't necessarily come up with the idea that will benefit most from their expertise. If I had trained my whole life to be a programmer, I would have never built SETT, even though I could have coded it in a fraction of the time. It was my experience as a blogger that showed me how important a new platform could be, and my experience as a member of various communities (gambling, pickup) that gave me ideas on how a community could best be organized.
If I were to estimate a balance, I'd say that two-thirds of one's focus should be spent on his strengths, and one third on his weaknesses. For real positive contribution we need to work from our strengths, and only a majority of our focus will create strengths large enough to create impact. At the same time, weaknesses must be developed to eliminate Achilles' heels and to give us the context and unique perspective that allows us to best exploit our strengths.
Going to Vegas this weekend with a dozen or so techie poker fanatics... should be interesting.