>>11240327>I have a fried. Who only does that. He started from his freshman years at uni. Didn’t do any development projects. Better than me at math. Can also solve harder problems. Has practiced the same amount as me or probably more but still much better.Which is all the more reason why you need to diversify your interests, since you need a backup plan more than him. You need to do what is optimal for YOU. How does the fact that there's someone out there who, putting in equal time and effort, can do better than you change your course of action? Do you think not diversifying your interests would help you become like him? That is unlikely: he either has a different background, problem-solving approach, or natural talent.
Continuing to dedicate all your time into one activity is not going to fix things; you already tried that, and it didn't work. Instead of repeating something over and over and hoping some "magic" happens and everything works out, you should reexamine your methods and adopt a different approach.
>I noticed that I lack observational skills required to find patterns in the problems.You have enough observational skills to notice that. Surely, then, you can notice something else in your programming problems too. You are complaining about factors that are completely outside your control right now. Nature's dice has been rolled and the cards have been handed out - you must optimize given the skillset you currently have. By spending time and energy worrying about things you can't change, you miss out on the opportunities right in front of you that you could have grabbed. It's all a tradeoff of time and effort, and by focusing on the constructive elements in your approach that you can transform via your actions, you are guaranteed to be better off than where you are right now.