I had a coworker that I tried to help out, but he barely knew some common programming terms like what a type was, or how he had to declare something beforehand in order to use it. We never really found out why he didn't know these things because he was so softspoken and shut down at any attempt to understand why he was having trouble. I don't talk to him much anymore due to some team restructuring, but other coworkers still see the same so I don't know if he can be helped honestly.