Teach Programming to Become a Better Programmer Are you bored with programming? . Certainly it is one of the most rewarding feelings teaching someone programming and inspiring new leaders in our fruitful field. Who knows they might go onto building something that changes the way we live. And remember the good old saying, Why not teach it if you can’t do then teach! ;) In this post I’m going to explain how exactly to teach programming, and how to relate to people who know nothing about programming. Techniques in order to get the message through, strategies in order to be a longer lasting mentor and lastly the mindset required. Real world explanations It’s not enough to speak in mumbo jumbo such as polymorphism, multithreading, typescript, blah blah these words mean nothing to people who don’t know programming. Start from the very beginning. What do they know? So when explaining something like for example a Superclass, you can use something like a vehicle being the Superclass and car truck bus train plane etc as the Subclasses. People can relate to this. They know real world. Patience and reward Teaching requires patience. It’s crucial not to rush the process, however you must provide guidance at the right time. In some cases, people get annoyed or frustrated and just want to give up! This is the nature of problem-solving and programming as it requires . The student will develop this over time. You can’t teach this through words, but you can when a student gets a win.. by genuinely celebrating the win! persistence elevate reward Another key reason why we must have patience as a teacher is because everyone learns at different paces. People learn in different ways. So if someone is not getting what you’re saying, try rephrasing your words and approach it like it’s a challenge on , not theirs. your end Encouragement and positivity You know what… you could be teaching a person who goes onto to create the next Facebook, Instagram, Trello, Slack, Microsoft, Linux, Mac, Google, and any other ball-busting Internet products/services. Don’t underestimate the power teaching and the power of . Offer encouragement to think bigger, to do bigger, to be bigger and reinforce it with positivity… you might just be the teacher of the next person who creates the cure for cancer. Honestly you never know. influence Share real stories People get bored easy. A common question in teaching is — and actually it’s a really, really good question. Underlying this question is an applied value function to compute whether the student is wasting their time or not. So damn.. just give them an insight into the future. Share with them what it’s like to work as a developer, and what are the fruits of our labour. This instills motivation — What is the point of all this? very, very powerful tool. Lead and take charge Goes without saying! It’s the mentor -> mentee relationship. Just reiterating this one as it who is leading the way. Oh.. you don’t know the answer? I thought you were a mentor? It is your job to learn on the fly and to deliver results. You’ll have a far better time following this principal. must be clear Summing up Teaching programming is rewarding. The challenges are dynamic and you always have to be one step ahead. But it is also a very, very rewarding career. Relating a student’s real-world experiences helps them to better understand new concepts, and don’t forget to show positivity and patience — who knows they might just come back! Happy coding! Originally published at zeroequalsfalse.press .