Any one can learn to code it isn't difficult to learn at all. Just like any one can learn math or english. What makes the difference is what level you can achieve. Just like math goes from elementary school to college level coding has a similar pattern where certain people get stuck in different areas. Hello world would be elementary level building large scalable enterprise application would be college level. You don't have to be able to build monsters applications that require knowing so much computer science that even physics and high level mathematics get involve. You can be a programmer that can build simple website that pays the bills. A entry level programmer doing simple website work makes $40,000 a year mattering your location and such. A senior arch developer makes around $400,000 a year also mattering location and such. Even some specialize areas pay their programmers $1,000,000 a year for what they can do. Some of the entry level people may make it to the top of the pile and some programmers will never leave that entry level position. I even know some programmers that are great, but decide to go another route. That has nothing to do with computers, because they get tired/burnout. Then I know some guys that are horrible programmers, but they enjoy it so much they just keep at it not caring.