Tencent’s Coding for Youth Provides 1:1 Mentorship for Young Programmers
To increase young people’s knowledge of programming, Tencent has introduced an initiative called “Coding for Youth.”
Coding for Youth is a program that aims to inspire interest in programming among youth. The first phase is a beginner program that opened in June 2022. More than 180,000 teenagers participated to build a digital space station, with many of them writing lines of code for the first time.
In the second phase, students from more than 30 provinces across China applied for the week-long program, which inspired programming innovation in fields such as first aid science, barrier-free technology for the elderly, and space exploration. 100 students were able to make it to the next step, where they received one-on-one mentorship from 100 Tencent engineers who volunteered as mentors.
There are volunteer mentors from more than 60 project teams of Tencent, including Tencent Doc, Tencent Sogou Input Method, Qzone, and so on. Here, four of our mentors discuss their feelings about getting involved in the project.
Q: Why did you want to be a part of this activity?
Dalong Sun, Quality Assurance Engineer, Tencent Cloud and Smart Industries Group (CSIG)
I learned about this event by chance on the intranet and knew straight away that I really wanted to be a part of it. I was a new employee at Tencent and had never done anything like this before, so wanted to challenge myself to be a good mentor for someone. Being among the selected 100 engineers for the program was exciting.
Marco Zhuo, Software Engineer, Tencent Platform and Content Group (PCG)
My main motivation was to help improve programming skills of young people. It can help them think to solve problems, while stimulating their mind to learn. As a father, I also learned how to pass on knowledge to my own child from this experience.
Rocky Pan, Software Engineer, Tencent Interactive Entertainment Group (IEG)
Most people would agree that mastering a language can help advance knowledge. Well, programming is a language too. Computers and the internet are a part of daily life and work. Mastering the language of programming helps us better harness the power of computers, which is essential in the field of scientific research.
Yongdong Wu, Software Developer, WXG
I have been learning and working with programming for many years. I hope to use my experience and expertise to help kids explore and become interested in programming.
Q: What memorable occasions and challenges arose from the program?
I was surprised by the amount of homework given to students. I didn’t expect my mentee to be still enthusiastic about programming under such intensive arrangements. To reduce the pressure on him, I put a lot of thought into the communication process and prepared four or five sets of plans to cover different scenarios. I could then immediately answer the questions he had, which ultimately improved the efficiency of our communication.
I was mentoring a high school student in his second year. His knowledge of programming was stronger than I expected for someone at his age. He knew enough to create some basic programs, which was impressive. And he wanted to learn voice-related decoding of computer networks and AI-related programming.
I was impressed by my mentee’s creativity and enthusiasm for programming. He was full of ideas, and wanted to use programming to realize those ideas.
Programming education in schools is fairly basic. Many students can write small pieces of code but would find it challenging to create a whole program. I helped my student analyze and model a problem, then work on it in blocks to create a complete program. A week isn’t long however, so we focused on identifying and solving problems and explaining principles. A key learning was to approach problems logically and in an organized way.
A mentee designs a program for Mars exploration.
Q: What was your approach to mentoring students?
Before each session, I prepared detailed scripts about how to help him identify gaps or issues in his proposal, and ways to inspire him to solve problems by himself. When answering his questions, I introduced some high-level ideas, which helped him broaden his knowledge and understanding of the tech industry. While it might feel like an informal chat, I was already prepared for every question he asked.
My strategy was to introduce several options to him when encountering problems and we would discuss them together. It would be up to him to decide which method to choose to solve the problem. By considering the pros and cons of each option, it helps him improve his analytical and judgment skills.
If you give a man a fish, you feed him for a day. If you teach a man to fish, you feed him for a lifetime. During the programming process, I guide the children to learn common debugging methods and learn to test and verify that the functionality meets expectations.
Q: How does the program help young people and how do you evaluate its benefits?
Activities focused on solving social and scientific problems allow students to use their knowledge, abilities and interests to help society. Using engineering technology for social good encourages children to better understand how they can help others in innovative ways.
The program can build on the basics of information technology education in schools. IT education is a very practical subject, and this program lets students apply what they have learned in theory.
One-on-one guidance by frontline engineers on one hand makes it easier for the students to apply what they have learned and realize their creativity through programming. On the other, it makes them be more aware of the role technology plays in improving the quality of life for many and lets them understand what it takes to do programming.
The event was very inspiring for the participants. The 1-on-1 mentoring is a great opportunity for them to get in touch with engineers who are working in the industry and to observe how engineers analyze and solve problems in the real world.
The kids can realize that programming is not nebulous, but meaningful when it is actually solving problems in life.
A mentee designs a program for seniors that can help them keep track of their stuff and remind them to check their heart rate.
Q: How do you remain creative yourself?
Creativity that cannot be realized is a tree without roots and water without its source. In my daily life, I try to understand all aspects of the world and learn about other industries and disciplines. When I come across new ideas, I think about how to implement them in work or life.
I like to pay attention and be curious about new technologies and new things. I will also participate in more activities, whether online or offline and take part in programming competitions.
Read more, communicate more.
Q: What is your biggest learning or achievement from this activity?
It opened my eyes to the possibilities of technology in social applications. I also saw that younger generations are more adept at understanding technology and they use it to solve problems happening around them. It is a more natural part of their life compared to ours.
I gained so much from this project. I not only taught the students some new skills, but I also learned how to better communicate with them, which was very rewarding.
The project is consistent with Tencent’s longstanding commitment to using technology for good. As programmers, not only are we curious about technology, but we are always thinking about how we can contribute to society and improve people’s lives. For instance, I worked on programming barrier-free technology to improve typing efficiency for everyone. We have been developing and iterating on an accessible input method that meets the needs of people with disabilities.
Coding for Youth: Strategic Approach to Next-generation Digital Literacy
Coding for Youth is part of a broader initiative by Tencent to improve digital literacy for the next generation. Other projects include the AI Arena Multi-agent Reinforcement Learning Competition, which challenges university students to test AI learning through games, and Tencent Coding classes that teach children in rural and remote Chinese towns how to code.