Sometimes people fail before they have even started. This is not because the task is too big or too complicated, it is simply that the person lacks confidence in their ability, and do not believe that they can do whatever the task is.
Other than code I also practice the martial art of Taekwondo. A number of months ago I was standing in line waiting to enter a competition when I saw a catchphrase printed on the back of someone’s sweatshirt. It read “Hard work beats talent, if talent doesn’t work hard”.
Stop and think for a moment about the first part of that sentence.
I am a great believer in that you should do what you love. Because if you do, for a lot of people they will become better and better at it. Now of course this will not always hold true, but in a lot of cases it does.
Now you may not end up being the best in the world, but I would be willing to bet that anyone who is willing to continue learning and improving their skills in the field that they love would probably end up being very good.
And is it important to be the best in the world? If that is your desire then go for it. And if you have a talent for what you do and that leads you to being a world champion then that is icing on the cake in my opinion.
If you do what you love you should at least become competent at it. And at the end of the day being competent is about putting in the hours and working hard, because, I believe, hard work will beat talent, especially if talent doesn’t work hard.