Top 10 (Non-Tech) Skills You Learn From Coding


Coding is more than just a technical skill. Students engaged in coding projects and activities will also develop a wide range of soft skills. When we talk to employers, we find that digital skills are the key to opening the door. Still, an essential part of turning the opportunity into reality can demonstrate the soft skills that go with them.

1. Communication

Communication is often overlooked as a vital skill amongst coders. When you hear the word “coder,” what comes to mind? Probably a stereotypical image forms – a quiet twenty-something-year-old sitting behind a computer screen with giant headphones on. Often they are not assumed to be a strong communicator. Unfortunately, this is not the reality. Coders must be able to communicate clearly to their team, colleagues, and clients. Successful coders can manage expectations, understand and interpret requirements, and effectively convey what is in a given brief. We encourage students to articulate their ideas and processes through real-world presentation activities. These include concepts like elevator pitches, stand-ups, and team-based idea generation exercises.

2. Empathy

Empathy is the ability to comprehend and be sensitive to other people’s needs and emotions. Through incorporating original project briefs in lessons, students understand compassion and practice executing their requests in a considerate manner. Empathy is not just sensing “feelings” or interpreting emotions. Students will learn that to understand the needs successfully, detailed research should be conducted.

Read our other article on the importance of empathy and how you can help your students practice it

3. Creativity

Learning to code is like learning how to read and write in a different medium – it enables you with creative and expressive power (Here are five reasons why coding is like a language). In addition, code helps students to become creators of digital artifacts rather than simply being consumers. Through coding projects, students experience ways to express their ideas and become thoughtful creators in their communities. Some of these projects include creating a digital photography portfolio, a recipe app, or a self-driving toy car!

4. Logic

Logic is a skill students can practice through code. Students become increasingly analytical by dissecting existing programs to understand the process to achieve the solution through written code. Whether they are building or debugging, they are exercising their logic faculties regularly. Understanding machine operations, conditionals, and progression in coding projects strengthen logic. Breaking down issues and figuring out how each affects the other will help students think objectively.

5. Problem-solving

Students have to be aware of and apply appropriate coding skills for different requirements or scenarios. Students that practice this will improve their ability, having broken down a problem that may seem complex or abstract to recognize the optimal way that students can articulate its solution. Identifying the operations needed to solve pain effectively is a skill that students can apply in any other field.

6. Enterprise

Coding brings out enterprising qualities in students. Coding is not like other subjects in school where the facts might be all in the classroom with them. When beginning the coding journey, students will quickly identify gaps in their learning and recognize the need to seek resources for themselves. This search for an answer will accustom students to find and recognize the quality or reliability of sources to achieve and fulfill their creative ideas.

7. Abstract thinking

Abstract thinking is the ability to think about objects, principles, and ideas that are not physically present. The use of analogies is an excellent example of abstract thinking. Once students begin to learn languages like  JavaScript or Python that are not immediately visualized, students will need to practice speculating and predicting results in how the interrelationships of the code happen as a whole. Some scholars argue that abstract thinking is not a natural cognitive development but rather through culture, teaching, and experience. Students can develop their ability to make connections and abstraction in intermediate and advanced coding through unplugged activities. Teachers can do this through the utilization of graphic organizers, such as flowcharts.

8. Project planning

Coding is best learned through project-based learning. Students practice and learn planning by thinking through the steps necessary to achieve their end goal. Projects created with code are built by envisioning the required syntax and the overarching rules that will govern it and the most efficient way to put it all together. Then, to meet the deadline set by the teacher, students learn how to assess their resources and knowledge to get the project done on time.

9. Attention to detail

Coding is excellent practice for attention to detail. Not only from the perspective of the accuracy of the code itself but also accounting for users’ needs, for example, ensuring a well-designed user interface and experience. A savvy coder may develop a system to avoid repeated mistakes. Where errors are present, they will examine their work systematically. Experienced software developers often try to “break” programs to identify problems and areas of improvement before launching a product to the market. This iterative and creative process can be applied in your classroom as well. Get students to demo and test each others’ creations and see what they pick up on.

10. Resilience

Coders and developers gain an ability to move past their debugging frustrations and continue to find solutions to help complete their projects. Students will practice a sustained process. Creating something good and successful takes time and attention to detail. By understanding and accepting that coding is not something you “get” the first try or that users do not always receive projects in an intended way, students become resilient learners through the process of making mistakes and finding the solution.

More success in the future is predicated on individuals’ ability to apply the hard skills of technology. It also follows that where this becomes an inevitable norm, the differentiating features for human beings will be the ability to deliver the best solution and understand its success, which will come from the soft skill attributes of technology learning. Thus, perhaps the greatest differentiating strength in a technology future will be innately human.

about Eva
Eva is the Director of Education at BSD. She previously worked for a womens magazine but decided to blend her passion of Media and Education. She provides engaging opportunities for students to learn through authentic curricular experiences.
Eva found her calling in Education when she left her job at a Canadian women's magazine in 2012 to join the Japan Exchange and Teaching Programme to teach English at an agricultural high school in rural Japan. Blending her passion in Media Studies and Education, she later returned to Hong Kong to pursue a Master of Education at the University of Hong Kong followed by a PGCE with the University of Sunderland.
More from

Real-Life Work Experience For High School Students

A high school internship is the best way to gain work experience, develop your professional skills, and fast-track a career.