After coaching and mentoring students from dozens of different cultural backgrounds at Le Wagon Chengdu, Jake’s candid insight reveals the truth about coding and its so-called difficulty.
Myth One – Do gender, and cultural background affect our ability to learn coding?
Shing: As a developer and mentor of Le Wagon for the last two years, do you see how coding or problems the students encountered got them emotional in the process of learning to code?
Jake: Coding is fun for people who like to solve problems. I relate to that so it's a lot of fun for me. I like taking a problem, breaking it down into its components and causes and finding a solution.
Students who come from professional backgrounds that require a lot of analytical thinking tend to take to coding pretty naturally. One example I can think of is Clivia, a student-turned-teacher who prior to learning to code was an LSAT teacher. The same kinds of thought processes that served her in her previous career transferred really well to writing code.
I do find that some students are hindered by a misconception though, a lot of the time don't understand that at least 70% of being a developer is bug fixing (in fact I'd say it's likely much more). No matter how experienced a developer is, he/she is going to spend a huge amount of time fixing their own mistakes, simply because code is a complex beast that is very difficult to get right the first time. It reminds me of when I first arrived in China and met my roommate at the time. He was a skateboarder, the first I'd ever spent much time around. I'd previously had the misconception that skaters, once they've been practicing for long enough, can eventually just perform tricks perfectly on command. Imagine my surprise to learn that even my former roommate, who has been skating for over a decade, still spends most of his time lying on the pavement when trying to get a trick. It might take 5 or more tries before he can get it right.
Coding is similar. You spend most of your time staring at error messages, or nose deep in the documentation, grinding through bugs for hours on end before you finally have a working product.
Furthermore, one pitfall that students need to be wary of is to avoid getting emotional when they encounter an error. I've seen some students whose first reaction when they see an error message is to be upset that something went wrong. I encourage them to just take a deep breath and realize this is the reality of being a developer. It's completely normal and they just need to keep calm and debug on.
One thing I like about our program is that we don't just teach code, but we also focus a lot on designing and developing a product to theoretically sell to consumers. This addresses another kind of student who might like to take a more people-oriented approach to problem-solving, so it really is an all-encompassing experience that appeals to people from all different backgrounds.
Myth Two – Coding is only for engineers and technology enthusiasts because it is SO difficult?
S: Just like most processes of learning and inventing, people across the world, perhaps in China, see coding is designed for the few. Only the best of the best would learn it. What is the biggest myth in the digital and coding world that blocks peoples’ future prosperity and career development in their self-started journey?
J: In my experience, the biggest and most harmful myth surrounding coding seems to be that it is fundamentally difficult by nature. Coding, like anything else, varies in difficulty depending on skills and thought processes that the learner brings to the table.
There are many people who would pick up coding quite quickly because they already have the relevant toolset, but they're barred from the experience by the misconception that coding is "hard for everyone"
Even those who don't have the right toolset and will need to go through a degree of struggle to learn coding, are harmed by this myth as they either, like the former group, never begin to learn, or are easily discouraged if they do begin to learn.
I think that in order for code to be truly accessible, we need to reframe the way it's viewed by and presented to the public. Code is not fundamentally difficult. It is not only for a specific class or type of person. It is a tool that anyone can pick up and gain substantial benefit from.
True, some will struggle more than others to learn the fundamental skills required to excel at writing code, but I would argue that they, more than anyone else, should embark on the journey simply because they will come out of it possessing not just a new technical skillset, but a new methodology to defining and solving problems that are applicable across all disciplines.
Coding is at its core an exercise of problem-solving within a defined framework of rules and vocabulary, something that most of us do all day every day at work.
Learning code, with its myriad of different languages and frameworks, teaches one to learn and quickly adapt to new problem-solving environments.
It promotes mental adaptability and analytical ability that most students get only in small doses in other fields of study.
Knowing that the purpose of technology is to reach the potentials of our lives as human beings, coding plays an invisible and fundamental role in some of the most important aspects of our life. From online shopping and paying bills, to transportation and ordering take-out, some of us are using software daily or even hourly, while others are transforming lives through digital skills or coding.
Jake Tompkins’ insight has laid out a clear blueprint of how we see coding and how we could use coding in daily work or future life.
With extensive translation and technical experience, Jake Tompkins is about to start his next journey in the city of future, Shenzhen, as a full-stack developer.