Japan’s IT Exodus: A Personal Perspective (Part 1) · Global Voices
Chris Salzberg

In 2008, a movie was released in Japan with the title “Genkai in a Black Company”, depicting the life of a 26-year-old struggling to make a living in the gruelling conditions a so-called “black company”. The term is Japanese slang for companies with long hours, dreadful working conditions and miserable pay that exploit their employees beyond the legal limit — last-ditch options for those who can't get better work. The company in the movie, though, was not the kind you might associate with such a backward, sweatshop-like workplace. It was an IT company.
Not surprisingly, young Japanese are none too keen to work in such coding sweatshops, which are all too real (the movie itself is based on a true story, and a not uncommon one). It doesn't help that programmers are associated in the public eye with social ineptness, and that the programming task itself is often viewed as grunt work, or not understood at all [ja]. Young Japanese are steadily fleeing the industry, and the exodus is one of the main reasons why Japan is losing its competitiveness in the new digital age.
The blogger and his dog
37-year-old software architect Ryo Asai (@ryoasai74) and his blog “Becoming a Master Programmer” (達人プログラマーを目指して) [jp] offer a rare counterpoint to this gloomy picture, and a unique window onto the state of the IT industry in Japan. In his profile, the blogger explains:
世間ではプログラマーは忙しいわりに報酬の少ない報われない職業という意見もあるようですが、インターネットで気軽に情報を発信したり、オープンソースの コミュニティに参加して一緒に開発したり、プログラマーが活躍できる場所は以前と比べてずっと広がっているということに最近ようやく気づきました。勉強の 材料もインターネットからほとんど無料で手に入る時代ですし、やはりプログラミングが好きな人間にとっては本当に魅力的な仕事であると思います。IT業界 の現在や未来には悲観的な意見が多く、特にプログラマーに対しては魅力的な職業でないと感じる人々が多いのは残念なことです。ただ、IT技術はなくなるど ころか急速な勢いで高度化しているのですから、今後スキルの高い達人プログラマーが活躍できる場所がもっと増えてくるのではないかと信じています。
After working for seven years at OGIS-RI, a Japanese system integration company, Asai recently quit to take a job at Amazon Japan. The posts translated in the first part of this two-part series document the motivations for this move.
Counter to the “black company” image, Asai's experience of being an engineer at a Japanese IT company was positive. In a blog entry posted on October 3rd, he writes [jp] of his environment at OGIS-RI:
およそ7年間にわたり、前職のオージス総研ではソフトウェアアーキテクトとして、SOAやEAといった全社的なシステムのアーキテクチャから、上流のモデリング、Java EEを使ったアプリケーションの開発など、技術者として様々な経験を積ませていただきました。私自身はこのブログでも何度も取り上げてきたように、モデリングやオブジェクト指向といった技術を用いて、実際の基幹業務システムの設計などに活用することで、高品質で保守性の高いシステムの構築に貢献したいという思いがありました。そのようなシステムを構築、維持するためには高品質なアーキテクチャの構築が必要不可欠であり、それが、結果としてお客様の業務を効率化させ、さらにビジネスの価値を向上させることにつながるという信念がありました。
中でも私としては大変運の良いことに、実際のアプリケーション開発の現場に入って、Java EE、Spring、Hibernateといった標準技術やOSSを利用し、実際に再利用可能なフレームワークを段階的に構築し、複数のプロジェクトにわたって適用するという経験もできました。フレームワークチームとアプリケーションチームが完全に分断された世界で仕事をするのではなく、限られたリソースのなかでアプリケーションの要件をもとにフレームワークを段階的に進化させることが必要でした。複雑な金融商品のドメインモデルを構築したり、大量のトランザクションを処理するための高速化の仕組みを考えたり、ビルド自動化の工夫をするということは、単に新しい技術を適用するということ以上にわくわくする体験でした。
また、以前に自分は恵まれた環境で仕事をさせてもらっていることに感謝しなくてはいけないと思う – 達人プログラマーを目指してでも書いたように、SIerの職場環境としては珍しく、技術について熱く語ることのできる仲間が周りにたくさんいるチームで、大変に恵まれた居心地のよい環境で仕事をさせていただくことができました。一緒に仕事をさせていただいた上司や同僚には本当に感謝の気持ちでいっぱいです。
But although his experience at his job was positive, Asai felt at 37 that he had hit a limit:
そういう意味で、なかなか自分から積極的に転職を考えようという気持ちにはなれなかったのですが、やはり、既に37歳という自分の年齢のためか、一般にこの業界で35歳定年説と言われているように、最近は開発現場でバリバリコードを書くという仕事からはどうしても遠ざかってしまっているところがありました。もちろん、自分の体力の衰えということもありますが、私としてはまだまだ現役でプログラムを書いていきたいという気持ちがありました。新技術の吸収力や理解の速さといった面では若い人にはかなわないかもしれませんが、リファクタリングやモデリングの技術などは経験によって深まるものであると思うからです。
In a comment on the post, he expands on the roots of Japan's age ceiling on programmers, whereby coders are shifted away from coding to more managerial or consulting positions — usually around the age of 35:
実際に海外ではプログラマーの35歳定年説というものはまったく ないと思います。35歳を過ぎているからといって全然特別なことはまったくありません。結局は仕事ができるかどうかで、年下が上司とかふつうだと思います し。でも、日本のPGの募集だと35歳までとか制限を設けているところも実際に多いようですし、自分の経験上プログラミングはなるべく原価を抑えられる若 い人を優先するという考え方もあって、だんだんとコードを書く仕事がなくなってくるのは事実だと思います。つまり、プログラマーの定年については、スポー ツ選手のように個人の能力の問題というよりも、組織や給与体系の問題が大きいのではないかと思います。
Ultimately, he found himself being pulled away from his passion:
そういう状況の中で、このブログのタイトルでもある「達人プログラマーを目指す」という自分の目標からどんどん遠ざかってしまっているのではないかという焦りや不安が常にありました。アーキテクトとしてパワーポイントやワードの説明資料を作成するのも広い意味でプログラミングの一種だと言って自分をごまかすこともできなくはないと思いますが、やはり、毎日IDEやエディタを起動してプログラミングスキルの向上や開発環境の改善に励みたいという思いがありました。
Amazon Japan
The pull away from programming convinced Asai to take the plunge and apply for a position at Amazon Japan. He writes of his motivations:
Amazonはサービス企業のイメージがあるかもしれませんが、IT技術によって小売をサポートするという広い意味においてSI業界におけるユーザー系企業に近い立場であり、エンタープライズ開発の一種であると考えることもできると思います。今回AWSではなく、Amazon.comの本業である小売業を支えるアプリケーションの開発を行うポジションに応募したのは、エンタープライズアプリケーション開発者としての経験を少しでもいかしたいという自分のこだわりというところもありました。
He writes of his interview:
詳しいことは書けませんが、面接はいわゆるシリコンバレー方式で、合計5時間くらいにわたって、同僚や上級のプログラマーからアルゴリズムやデータ構造など技術的な質問を英語で受け、心身ともにヘトヘトになりました。私の英語力の問題もありましたし、情報系の卒業でもなく、基礎的な計算機科学の勉強も不十分だったため、いきなりアルゴリズムに関するコードを書き下す問題にはなかなかてこずりました。
落ちても失うものは何もない、ダメでもともとという気持ちで応募したポジションですし、自分としてはこのチャンスを最大限に生かすべく、一日も早くAmazonのビジネスに技術力で貢献できる達人プログラマーの一員になることを目指して精いっぱい頑張っていきたいと考えています。
In bookmark comments, readers of Asai's blog offered their congratulations, and their thoughts:
H_Yamaguchi:
プログラマなら一度は通る道なんでしょうね。35才定年説に関係なくコードを書いていたいという気持ちと、実際の仕事との差にみんな悩むんだろうな。。。あっ、私も明日で37才、今日も明日もプログラマです。
tt4cs:
おめでとうございます！ 神の見えざる手に導かれたに違いないと、他人事ながら少しだけ感動しました。。
Nan_Homewood:
35過ぎても、こうやって転職できる方は凄い。かなり努力されていると思います。見習いたい。
And junkcollector, with the take-away message:
こうして優秀な人材を失っていく日本企業。昔のように残ってはくれない。
In the second part of this two-part series, I'll be introducing a follow-up post in which Asai describes his first few weeks at Amazon Japan, in particular the challenges he faces adapting to the different work culture. Stay tuned!