all this time i was quite unfair to myself, i treated myself like shit and i expected things based on distorted understanding of the past and my abilities. back then i just attempted something and i was able to do it. the attempt was without any expectations, it was just a try, it worked out, fine, if it didn't work out, it would have been fine then too.
the whole thing is "if you want to do something", reasons don't matter, then just do it. if you are able to do it, fine. and if you are not able to do it, then too it's just fine, who cares. don't burden yourself with comparison with yourself or the other, it doesn't matter at the end. just find something which you like and give it a try, a playful attempt.
that doesn't mean it will be easy, but who said you can't take breaks and slow down a bit when things get difficult. just pay a little more attention and it's a matter of time before you understand that difficult thing too.
having an image of yourself is the most unfair thing you can do to yourself. you won't understand the code at first glance, you have to experiment and read it bit by bit and make sense out of it. you will be more focused at sometimes and less otherwise, who cares. don't beat yourself over every little thing.
software as a profession needs decades of time investment before you truely start understanding anything. and it asks that investment on a daily basis, you have to be consistent. don't micromanage every aspect of the experience, just take small steps one at a time in the right direction and things will be just fine.