Japan’s efforts to deal with the COVID-19 pandemic have lead to a big increase in free education websites. Try searching the web for the terms “Python 無料 学習” (muryou gakushuu — free education), and you’ll see you’ll get a huge number of hits. These sites can allow you to study while you’re still overseas, so I highly recommend giving them a try.
It’s important for those wanting to work in Japan to be able to handle daily conversation in Japanese, but since you’ll also have to use the language at work, studying tech skills in Japanese can also help you to master the technical terms you’ll have to use.
Here, I’ll introduce some free educational websites dedicated to Python, which is currently the most highly recruited language in Japan. As of March, 2020, the number of jobs recruiting Python programmers had increased 254% from the year before (based on Indeed Japan figures from March, 2020), with a current total exceeding 20,000 job openings. I think being able to use Python could a big advantage for any engineer coming to Japan to work. If you’re interested, why not see if you can learn to use Python in Japanese?
The Pythonic Programming Philosophy
Anyone learning to use Python should remember several important keywords. Python has its own particular philosophy of programming, called “Pythonic.” In Japanese, we might call this idea 作法 (sahou), something like manners or etiquette. It’s a way of thinking that offers efficiency and accuracy to coding beyond simple grammar. If you code in Python without thinking pythonically, your code will lose sustainability, and when others read that code it can lead to mistakes, impairing shareability as well. True Python pros really should understand the pythonic philosophy. As Python has become more popular in Japan, more and more coders wrote code without understanding pythonic thinking, and this has caused real problems. As you go on to learn Python, I strongly urge you to master the pythonic way of thinking as well.
Below, you will find an explanation taken from Wikipedia. I hope it will help in your understanding of Pythonic.
A common neologism in the Python community is pythonic, which can have a wide range of meanings related to program style.
To say that code is pythonic is to say that it uses Python idioms well, that it is natural or shows fluency in the language, that it conforms with Python’s minimalist philosophy and emphasis on readability.
In contrast, code that is difficult to understand or reads like a rough transcription from another programming language is called unpythonic.
The pythonic way of thinking can be summed up as follows.
As a supplement to the above, this text, called The Zen of Python, is also a good thing to understand.
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Special cases aren’t special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one — and preferably only one — obvious way to do it.
Although that way may not be obvious at first unless you’re Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it’s a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea — — let’s do more of those!
Once you’ve grasped these ideas, then you’re ready to learn Python.
There are many texts that teach Python coding without any elements of pythonic thinking, so do be careful. They might not be in Japanese, but if you use the O’Reilly books to learn Python, then you’ll have no problem with pythonic code. They are currently offering a ten-day free trial period, so I recommend anyone interested should take a look at their site below.
Free Python Learning Sites in Japanese
Here are some educational websites aimed at beginners.
This site is run by volunteers, and offers general Python information. They have mailing lists and Slack rooms to share information, so you can practice interacting with Japanese engineers in Japanese.
This site stands out for all of the sample code it includes, so you can practice reading Japanese while looking at real coding examples. I recommend this one once you have learned to read some code.
This site offers educational videos. The material from intermediate level on up is all paid, but all of the beginner-oriented material is free. I think videos offer a good way to learn spoken Japanese.
This educational site allows you to practice coding even without a coding environment. You can learn the basics for free. I highly recommend it for those just beginning to program.
These are all excellent opportunities to learn. If you come to Japan to work as an engineer, then learning from the same sites your Japanese colleagues did could offer a great shortcut both for Japanese, and for coding. Why not try them? You’ve got nothing to lose!