DEV Community

Cover image for Lessons learned by teaching kids programming
Kristijan Pajtasev
Kristijan Pajtasev

Posted on • Updated on • Originally published at

Lessons learned by teaching kids programming

I wanted to do some volunteering work for a very long time. But I end up postponing it. In the last years, the reason was both working full time and studying at the same time. Next to it, there was not much time left. But when I finally got my degree in 2019, I decided it is finally the time. I looked and decided to apply for the position of instructor in a youth center. Sadly, we didn’t manage to complete the program as it stopped because of a global pandemic. But I still managed to learn some things. In this post, I explain why I chose that and what I learned from it.


When I was a kid, I didn’t have much, and I had to work hard for everything. And when I was around 10, I decided I wanted to work with computers when I grow up. It was a long and challenging journey with many obstacles while working jobs I didn’t want and trying to learn everything independently. We didn’t have fast internet for most of my life, and we couldn’t just google things. And having a laptop was a luxury. But through hard work, I got a project that got me my first job. It wasn’t good pay, but I had two amazing mentors. Next to them, I realized I don’t know anything and what I do know is wrong. But over the six months, I learned I lot. One of them introduced me to proper JavaScript and had me build my first single page application. Building single page application before there was React or Angular. Using jQuery, handlebars, crossroads, and requires. And he also included me in all architectural decisions. The other mentor spent much time teaching me databases, and I started loving them. After that, my life changed. I started getting good jobs, earning enough money for a comfortable life, and even helping my family. I appreciated those two mentors so much, and I wanted to give the same to someone else. I wanted to help them grow and improve their future as I did mine. I was an underprivileged child coming from a problematic family. That is why I decided to teach other underprivileged children.


During my search for a program, I was fortunate. I found a youth center that had many different programs, and one was STEM. It didn’t work for me. It was very far from home, over an hour travel each direction. Also, I had to build the whole program on my own, making it double the work. And there was not a lot in attendance. But when I got there and met people running it. When I saw their passion and effort they are putting into it, I couldn’t say no, and I just jumped into it. Next week I was writing an overall plan on what structure the course could have.


I expected everything to work great. I had my weekly plans, planned home exercises. I expected very engaging students that already know something and are quickly learning. Oh, how much I was wrong in probably every single thing. And this is where I learned all my lessons.

Lesson 1: Beginnings are difficult

I know this one sounds trivial. But most of us had some ideas before coding. Many had at least some relevant education. Even if you didn’t, just being older can help to understand concepts easier. And if not, you can force yourself into sitting until you understand. Try to imagine being ten years old kid. Your friends are at their homes, playing games. You sit in the youth center and try to learn something very complicated without any relevant previous knowledge. Concentration is getting lower. Quite soon, you find out that no matter how much you simplify it, it still isn’t simple enough. And it is hard to keep students engaged and focused.

Lesson 2: Getting information is difficult

A common misconception among older developers is that everyone has it so much easier today. But I’m afraid I have to disagree with it. Yes, there is much more information out there, and there are many free learning materials. But not everyone can access them, and not everyone knows what to look for when starting. When I was growing up, those resources slowly grew. Slow enough to keep up to date with them. When I started my career, options were either Java or PHP. Today, there are many options. With everyone having their opinion, it isn’t easy to find the right information and choose.

Lesson 3: Being underprivileged isn’t a choice

This one is kind of related to the previous one. We all think about how easy it is. But that is not correct. Maybe you live in a rich country, and maybe that country has fast internet. But that doesn’t mean everyone in it has access to it. There was this boy in my class. Around nine or ten years old. He was the smartest of all. He understood everything fast and learned a lot on his own. Yet, when I talked to him once and gave him some online coding resources, he said he couldn’t. They don’t have a PC at home. He is quite capable, and he would use his phone for reading and youth center resources when he was in class. But it is something that placed him in a much worse position than many around him. Quite often, people think they know it because they read an article or see the news report. But it is still quite often neglected if you don’t have direct contact with it. I was surprised how much it brought me down to earth. As someone who grew up in that, I expected to understand it completely. But with the career progress, it is easy to forget the other side and start taking things for granted.

Lesson 4: It is worth it

There were difficult days. Sometimes, students didn’t feel like working, and it was a challenge to keep them focused. Your plans fail because they can’t code at home, or you didn’t simplify content enough. And also, you might have your issues. There can be much pressure at work, and all you want is to sleep or relax for the weekend. But you are spending the weekend writing content, and you are freezing on a bus stop late in the evening to go back home. But it is worth it. When you finish explaining, start coding with the students, and they get engaged. You let them make choices. Choices like what is the color of the background or font. When you see them excited and learning something, knowing you helped them. All those struggles became minor, and you can’t wait for the next week.

For more, you can follow me on Twitter, LinkedIn, GitHub, or Instagram.

Top comments (0)