Japon : Témoignage d'un informaticien sur la fuite des cerveaux dans les nouvelles technologies (partie 2)

Pourquoi les entreprises japonaises perdent-elles leurs programmeurs ? Si les discussions ne manquent pas sur le sujet, on compte peu récits de gens qui racontent leur propre expérience. Le blogueur et programmeur Ryo Asai (@ryoasai74) en livre un sur son blog “Becoming  a Master Programmer” (Devenir un Champion de la Programmation). Asai a postulé récemment pour un emploi chez Amazon Japon et a été retenu.

Cet article est une traduction du billet de Asai intitulé “Mes observations sur les approches Agile et Waterfall dans le domaine de la programmation suite à mon changement d'emploi”. Pour comprendre ce qui a motivé Asai à changer d'emploi, reportez-vous au premier volet de cette série de billets en deux parties.

 

Photo de bibliothèque par Roo Reynolds, utilisateur Flickr

Une entreprise globale

Asai commence son billet en dressant la liste des défis auxquels il dû faire face jusque-là à son nouveau lieu de travail.

 

やはり、自分としては、外資系の会社で英語でのコミュニケーションが必要となるということが、最も気がかりなことでした。実際、初日の歓迎ランチはいきなり名前もわからない多くの外国人に囲まれる状況でしたし、電話会議を使って中国やアメリカのチームと一緒に行う日々の進捗ミーティングも英語で行われています。自分としては、特に、リスニングが 苦手ということもあり、いまだに完全に会話についていくのが困難なところはありますが、同僚やマネージャーもみんなすごく親切に教えてくれるので安心しました。私は新しい環境に慣れるのに結構時間がかかる方なので、まだまだ完全に新しい職場の文化に適応するというところまではいかないのですが、徐々に仕事のやり方を覚えて、チームの一員として頼られる存在となれるよう努力していきたいですね。

En tant qu'employé d'une entreprise étrangère (Amazon), le plus stressant pour moi, c'est de communiquer en anglais. Lors du déjeuner de bienvenue, j'étais soudainement au milieu d'étrangers dont je ne connaissais même pas le nom. Puis, il y a les télé-conférences en anglais avec les équipes basées en Chine ou aux États-unis. Je comprends très mal l'anglais, il m'est donc très difficile de suivre tout à fait une conversation en anglais, même si mes collègues et mes managers se montrent tous aimables en faisant la traduction pour moi, ce qui m'apaise beaucoup. Je suis plutôt du genre à m'adapter difficilement à un nouvel environnement, et je ne me suis pas encore totalement fait à mon nouvel emploi, mais j'apprends progressivement comment les choses marchent et m'efforce de m'adapter et de faire partie intégrante de l'équipe.

ということで、実はまだ新しい会社の文化を完全に理解したという段階ではないのですが、それでも以前私が働いていたSI業界の文化とアジャイルな考え方が尊重されるグローバル企業とでは、やはり大きな違いがあるなということは、実際にはっきりと感じられますね。

Même si je n'en suis pas encore au point où je peux affirmer que j'ai compris la culture qui prévaut dans ma nouvelle boîte, je perçois déjà de manière assez nette la différence de culture entre mon ancienne entreprise, dans le secteur de l'intégration des systèmes, et la nouvelle, une multinationale qui utilise l'approche Agile.

Une entreprise Agile

Développer des logiciels à partir de la méthode Agile a également nécessité quelques changements :

まず、第一に大きく違うと思ったのは、会社の売上や利益に直接つながる、ビジネスの中心に近いところに開発チームが置かれていて、当然プログラマーはプロダクトオーナーなどビジネス担当の人と密接にやり取りをしながら開発を進めるというところがありますね。ビジネス担当の人とプログラマーが同じ部屋で作業をするということはもちろん、たとえば「この項目を外すとプログラムはすごくシンプルになるし、顧客にとっても画面がすっきりしてメリットがあると思いますが。」といったような提案をプログラマーからすると、あっさり認められて翌月のリリースに変更を反映するといったことが日常に行われています。

La première différence que j'ai notée, c'est que l'équipe de développement est placée tout à côté du département, directement au cœur du métier et des bénéfices de l'entreprise. Ce qui signifie que les développeurs sont en communication étroite avec les personnes chargées du commercial, comme les chefs de produits. Les commerciaux et les programmeurs sont dans la même pièce. Du point de vue de la programmation, cela signifie que, par exemple, les demandes quotidiennes pour effacer un champ donné afin de simplifier le code et rendre l'interface utilisateur plus propre sont rapidement approuvées et intégrées dans les objectifs du mois suivant.

少しでも使いやすいシステムの開発に貢献することで、売上に貢献するのだというモチベーションも湧きます。ウォーターフォールが中心のSI業界のやり方だと、項目の追加はまだしも削除などと言うことを提案しても、稟議書などを上げて何階層にもわたった承認が必要で、何週間、何か月も待つといったことは普通だと思います。そのような状況があるので、PGの側でもよいアイデアがあっても、わざわざ提案しようという気にはならないし、逆に、仕様書に書かれていることのみを実装して、余程の問題がない限りそれ以上のことはやらないという傾向が強くなってしまうところがあると思います。

Il est très motivant de savoir que sa petite contribution à la simplification du système se traduira par des revenus accrus pour l'entreprise. Dans l'industrie de l'intégration des systèmes, où la plupart des entreprises utilisent la méthode “Waterfall” pour le développement, ajouter ou supprimer un champ nécessite d'envoyer une demande officielle et d'obtenir l'accord de plusieurs managers, ce qui prend des semaines, voire des mois à finaliser. Du coup, ce qui se passe, c'est qu'un programmeur qui a une bonne idée ne se risquera pas à la proposer et se contentera plutôt de mettre seulement en œuvre ce qui est spécifié dans le cahier des charges, sauf problème majeur.

それから、チームのサイズが小さくて、業務担当の人とプログラマーが直接会話できる距離にあるため、作成する文書は非常に少ないというところがあります。これはもちろんチームによると思いますが、開発後に説明のためWikiに情報を書くということはあっても実装前にWordやExcelの文書を作成するということはめったにないですし、作業時間の大半はEmacs、Vim、Eclipseといったツールを立ち上げてのコーディング、単体テストの 作業が中心となります。以前は自分自身がコードを書くといった作業にあてられる時間は、全体のプロジェクトの中ではせいぜい10%程度でしたので、そこは 大きな違いだと感じています。逆に言うと、自分の英語力のなさから、口頭で英語で説明を受けても理解しにくいというところがあり、時としてきちんと書かれた仕様書が恋しくなる時もあるわけですが、そこは文化の違いですね。

Les équipes [chez Amazon] sont également assez réduites. Les équipes opérationnelles sont assez proches des programmeurs et peuvent ainsi communiquer de manière étroite et sans trop de paperasse. Cela peut varier d'une équipe à l'autre, mais je me suis rendu compte que des wikis sont utilisés pour suivre la production de codes et que très peu de documents Word ou Excel sont utilisés.  L'essentiel de notre temps, on le passe à coder et à faire des tests sur Emac, Vim ou Eclipse. Dans mon ancienne boîte [japonaise], je passais tout au plus 10% de mon temps à la production de codes. Ça me change donc beaucoup. Mais, d'un autre côté, je suis très mauvais en anglais, si bien que même quand les collègues essaient de m'expliquer les choses, je ne les comprends pas toujours. Parfois, j'ai envie d'un cahier de charges simple et clair, mais je présume que ce n'est qu'une question de différence culturelle.

Un environnement de travail dynamique

Le modèle économique d'Amazon est également différent de celui de son ancienne entreprise :

さらに、B2Cでどんどん新しい機能をリリースしていくという環境では、システム全体を何年もかけて作り直すという機会はほとんどありません。むしろ、細かい機能改善やバグフィックスを行うというプレッシャーが常にあり、その中で空き時間を見つけてリファクタリングを繰り返すという方向になります。

Il faut ajouter à tout ceci que mon nouvel employeur est une entreprise B2C où de nouvelles fonctionnalités sont sans cesse ajoutées au système. Il est donc difficile de reconstruire tout le système, surtout sur une période de plusieurs années. Au contraire, on y est constamment sous pression pour améliorer progressivement les fonctionnalités et éliminer les bugs qui surviennent. On ne procède à la refactorisation du système que si on trouve un peu de temps libre.

そういう意味では、SIerのように新システムの開発をゼロから行うという機会はめったにありません。だから、常に最新の言語やフレームワークでなくては嫌な人には向いていないかもしれません。一方、SIerの場合は自分のシステムを維持管理するという機会は少ないのですから、むしろ、最新の最良の開発手法を取り込めばすごく面白い仕事ができるのに、実際には古いフレームワークを使い続けているケースが多いというのは残念なことですね。

En ce sens, il est virtuellement impossible [chez Amazon] de mettre sur pied un système en partant de zéro, comme on le ferait avec un système d'intégration. Il se peut donc que ce ne soit pas l'emploi idéal pour quelqu'un qui souhaite travailler avec les derniers langages de programmation et les derniers frameworks de développement de logiciels. D'un autre côté, les intégrateurs systèmes n'ont pas souvent l'occasion de réparer et d'administrer leurs propres systèmes, de sorte que même si leur travail pourrait être vraiment intéressant en adoptant les dernières technologies de développement, en réalité la plupart son pris dans la routine et continuent de travailler avec les anciens frameworks.

Un billet précédent publié par Asai sur son blog discutait de “l'âge maximum de départ à la retraite” de 35 ans imposé aux programmeurs au Japon, mais Amazon n'a pas une telle limite d'âge :

なお、気にしていた自分の年齢ですが、やはり、グローバルな会社では35歳定年などということは全くないですね。今の会社の場合は全くの新卒というよりも、ある程度経験を積んだ人を中心に採用しているようなので、プログラマーとして自分くらいの年齢でも結構普通みたいです。実際、おじさんというレベルを超えて、そろそろ孫がいても不思議でない、おじいさんという感じの年齢の現役プログラマーもたくさん活躍しています。もちろん、年齢というよりはスキルによってポジションが決まるので、年齢が下の人がより上級のプログラマーということも普通にあり得ます。(おじさんと書きましたが、もちろん、グローバルには女性のプログラマーもたくさんいます。)

Une des choses qui me préoccupaient lorsque j'ai commencé à travailler, c'était mon âge. Mais je viens de découvrir que dans une entreprise internationale, la limite d'âge de 35 ans n'existe pas. Ma nouvelle entreprise semble plus intéressée par des gens qui ont une certaine expérience plutôt que par des jeunes diplômés. Du coup, il est assez fréquent de rencontrer des programmeurs qui ont mon âge. Naturellement, l'entreprise recrute sur la base des compétences et non pas en fonction de l'âge, si bien que de nombreux jeunes programmeurs occupent de hautes fonctions (je parle d'hommes, mais il y a bien sûr beaucoup de femmes dans la programmation dans les multinationales).

Commentaires des internautes

Les réactions à son billet ont été positives :

megascus:

改善ができるというのは素晴らしい。

Il est fascinant qu'ils puissent ainsi continuellement apporter des améliorations [au système].

mongolianpunch:

楽しそうだなー

Waouh !  Ca l'air intéressant, tout ça !

Pour ceux qui envisageaient déjà de changer d'emploi, le billet d'Asai s'est avéré très utile. Commentaire de allargand :

グローバル企業への転職を検討しているところだったので、非常に参考になりました。

Je songeais à changer d'emploi pour aller travailler dans une multinationale, ce billet m'a donc été extrêmement utile.

Et kingyodojo, dans un commentaire qui annonce peut-être une tendance à venir, écrit :

読んだら今の仕事を続けていていいのか疑問を持った。

Maintenant que je vous ai lu, je me demande si je devrais encore rester chez mon employeur actuel.

Pour découvrir d'autres commentaires d'Asai sur l'industrie informatique au Japon, reportez-vous à sa réaction au premier billet de cette série.

1 commentaire

Ajouter un commentaire

Merci de... S'identifier »

Règles de modération des commentaires

  • Tous les commentaires sont modérés. N'envoyez pas plus d'une fois votre commentaire. Il pourrait être pris pour un spam par notre anti-virus.
  • Traitez les autres avec respect. Les commentaires contenant des incitations à la haine, des obscénités et des attaques nominatives contre des personnes ne seront pas approuvés.