What motivates you to write code

Everyone should learn to code. A plea for code literacy.

Everyone should learn to code. A plea for code literacy.

We are surrounded by code

On Saturday I wanted to go to the Media Markt. I look for the nearest branch on Google. Then I go to my car, open it with the remote control key, start the GPS and drive off. I wait at the red light until it turns green. In Media Markt I take the elevator to the third floor, where the coffee machines are. I choose one and go to the checkout and scan the barcode at the self-checkout.

In this short time I used Google, a remote control key, the GPS, traffic lights, a lift, a coffee machine and the self-checkout. All of these things were programmed by humans and work with code. The first automatic traffic light was used in Toronto in 1963. Before that, police officers switched the traffic lights manually. Nobody can imagine that today. And in a few years' time, self-driving cars and threat-delivered products will be normal.

We are surrounded by code. Not only in “IT”, but in retail, in mobility, in many other industries and in everyday life in general.

Most people, however, have no idea how programs work, cannot read, let alone write, code. And you can't blame them for that either. At that time in high school in computer science lessons we learned to create Powerpoint presentations. In business studies, computer science was unfortunately not on the schedule. And let's be honest: IT was not presented as an attractive work area for a long time. In the media, computer scientists are still often shown as lonely geeks who sit in front of the computer all day and do not exactly shine with social skills.

Nevertheless, we are all affected by digitization, commissioning websites or apps and diligently consuming our many smartphone apps. In addition, new laws such as the Intelligence Service Act are passed on a regular basis. Only who really understands what it is all about?

It seems that many speak a language that they cannot write and whose grammar they do not understand. We urgently need more people who understand programs and can write code, so-called ICT specialists. According to the latest study by the professional association for ICT vocational training, Switzerland will lack 25,000 ICT specialists by 2024, 48% of them in software development. But not only ICT specialists need digital skills. According to the EurActiv study, at least basic ICT skills are expected in 90% of all jobs.

Everyone should learn to code

In order to remedy the shortage of skilled workers, we have to invest in ICT education and training. Everyone should learn to program because we need ICT specialists. But not just because of that. Simply because it is fun, promotes creativity and opens up a new way of thinking. Programming enables everyone to have a say and to shape it and should therefore be part of general education today.

What does code literacy bring?

Literacy means “the ability to read and write / competence or knowledge in a subject” and code means “a combination of numbers, letters and symbols”. Code literacy means “the ability to understand and write code”.

However, it is about much more than just being able to read and write code. It could be compared to the levels of a language. As a beginner in the A1 course, I learn to communicate in a simple way, provided the other person speaks slowly and clearly and is willing to help. In a good language school I not only learn to read and write, but also experience cultural idiosyncrasies. Exactly, code literacy is not just about learning to read and write code, but also to understand how a computer works in the first place.

It's also not about everyone up to C2 level attending courses and becoming developers. New opportunities already open up when completing an A1 basic course. For example, if you work with a developer, the basic understanding helps to improve communication and collaboration.

In addition to improved communication and collaboration, code literacy also aids critical thinking and creativity. Since you always translate a real problem into code when programming, you train logical thinking. And if you are “code literate” you can use code to create and create useful things.

The advantages of code literacy can be summarized as the 4 K's: communication, collaboration, critical thinking and creativity. According to the WEF, these 4 Ks are important competencies for the 21st century. So when you learn to program, you also train these “soft skills” in addition to the “hard skills”.

How do we convey code literacy?

There is a huge range of programming courses online. According to a study by Katy Jordan, however, only about 12.6% complete the respective online course.

I did a CAS where I had computer science classes. Unfortunately, the class was daunting. First, the professor stood in front of us for a full eight hours, lecturing and we just copied his lines of JAVA code. Second, our project, a school grade management app, was not particularly useful and therefore moderately motivating. And third, to demonstrate our new skills, we had to pass a paper exam. The result of the computer science lecture was sobering: Most of my fellow students thought computer science was not for them because they were too stupid or it wasn't fun.

Convinced that everyone can, even should, learn to program and that it can be fun, I advocate a different teaching method:

  • Away from frontal teaching to individual and group work with coaching.
  • Away from boring projects to useful, practice-oriented and motivating projects.
  • Away from exams to project presentations and portfolios.
  • Away from academic professors to programming coaches with practical and teaching experience

I saw a good example of a project at the programming event, Rails Girls Zurich this year. One participant had to manually download and rename countless pay statements every month. During the weekend, she and a coach created a program that automated her task with 20 lines of Ruby Code. Since she wanted to solve her real everyday problem, she was very motivated to learn to program.

In order to get more people excited about programming and to train enough ICT specialists, everyone is required:

  • Private individuals should receive further training and learn to program in the ICT area. Depending on your preferences, you can learn online, at a Rails Girls event, in a coding bootcamp or in traditional computer science classes.
  • Companies should actively promote further training in the ICT area, grant time-outs, offer financial support and offer internships so that we have enough ICT talents in the future.
  • Schools should offer programming courses and ideally include programming, like England, as a basic education in the curriculum.
  • Course providers should create new teaching methods and offers.
  • Politicians should make programming a compulsory subject in schools.
  • The media should write more about technology and present the job description in an attractive way with role models.

Left

This article was first published in the Yea (h) book 2017, the annual book of the Center for Digital Business of the HWZ.