Agreed. The patience comes from actual interest. Few people if any just sit down and code a whole program from start to finish without hitting any bumps. A person's tolerance for dealing with those bumps will determine if they can be a programmer or not. No matter how smart someone might be, there comes a point where they will have to grind out a solution to a problem. That means sitting in the front of the compute for hours with seemingly no progress. That is challenging for many people.