Earlier quoted context omitted.
Yes. If a person is able to do things sequentially (get up, brush teeth, etc etc), be able to decide, (if I do this, then I do that), they can code
love your positive attitude. i think my weakness as a javascript peer mentor/teacher is that sometimes i get frustrated when people dont get what I am trying to teach and its either i am a bad teacher or they aren't learning it right. and constantly at the back of my mind i'm wondering if its worth my time/effort to keep trying to teach the person or if they should go ask someone else who is better at teaching.
1. Test - before starting any topic, make sure your student has a grasp of the prerequisites by giving them simple tasks. Just because you have taught them the prerequisites a week ago does not mean that they didn't forget.
2. When you are teaching them, talk as little as possible. The only thing you should be saying is the concepts.
3. Ask lots of questions. Ie: What is an object (expect them to repeat what you told them); What happens if (insert 10x different cases). Teach by asking.
4. Set 0 expectations. If you get frustrated its because you have expectations. Many people have self confidence issues. Being disappointed will cause your students emotional stress and they will not be able to learn. They might start to avoid asking you questions...
5. Listen. Many times, your students could be saying what you wanted to hear, but worded differently. Their analogy could have the same concept as yours but very different. Learn to recognize what students are saying.
I can't emphasize #3 enough. When I teach, I never say more than 2 sentences without asking a question. Because you quickly realize that people have a hard time retaining more than 2-3 sentences at a time.
You should 100% invest your time to get better at teaching. Teaching is a skill that schools robs from our childhood growing up. It helps you sympathize with people better, understand people better, communicate with people better, etc., all pretty real skills to have.