2025年1月29日
プログラミングの学習方法のひとつに、「写経」があります。教育手段としても長らく存在し続ける写経ですが、この学び方に対しマイナスイメージを持つ人も少なくありません。
ネット上ではたびたび「写経なんて効率が悪いだけ」「職場ですすめられたが、意味がなかった」といった批判の声が噴出し、議論の対象となります。
サイボウズ・ラボの主幹研究員を務め、長年エンジニアの育成にも携わってきた西尾泰和さんは、以前より著書などで写経の有用な点と注意点に触れてきました。
「なぜ写経は長い間、議論の対象になり続けてしまっているのでしょうか?」と西尾さんに聞くと、「問題の根本は『写経』そのものの性質ではなく、『よくない教育者』がしばしば存在することに起因するのでは」といいます。一体、どういうことなのでしょうか。
――SNS上では、「写経」の是非を問う議論が繰り返しみられます。すでに多くの方が写経のメリットもデメリットも理解しているかと思いますが、なぜ何度も議論が巻き起こるのでしょうか?
西尾:写経を無理やりやらされたことのある人たちの「恨み」が、毎回、議論を再燃させているのではないでしょうか。
SNSを観察していると、職場に新しく配属されたメンバーが新人研修や教育の一環で、上司や先輩から「お前、写経をやったほうがいいよ」「とりあえず写経してみて」などと言われるケースがたびたびあるようです。
このように言われて、気分を悪くする人は少なくないと思います。「写経は初心者がやるもの」と考えている人も多いので、配属先でいきなり「写経をやれ」と言われたら、言外に「お前はど素人だ」と決めつけられたり、自分の能力を軽んじられたりしたと捉えるかもしれません。
また、写経は、決して効率の良い学習方法ではなく、効果を実感できるまでに一定の時間も要します。望んでもないのにそのようなやり方で勉強をさせられることは苦行でしょうし、「写経やれ」と言われて平穏な気持ちでいられなくなるのも当然です。
このように、学習者の意向を無視する「よくない教育者」から写経を押しつけられた人の怒りは、写経そのものにも向かいます。その怒りの炎は簡単には消えません。こうした人たちが、時おりネット上で「写経なんて役に立たないのに」と恨み節をこぼすことで、写経論争がたびたび巻き起こっているのだと僕はみています。
――その「よくない教育者」は、なぜ生まれてしまうのでしょうか?
西尾:その理由は千差万別ですが、多くの場合、教育者側に何かしらの配慮が欠けているのではないでしょうか。
学習者の方に、「写経は初心者がやるもの」という強固なイメージがあるから抵抗を覚えるのかもしれない。あるいは、写経の是非以前に、職場の人間関係や、会社そのものへの不満があって、教育者との間に信頼関係が築かれていない。もしくは、さっさと帰って見たい映画なりデートの予定なりプライベートでの計画があって、どんな学習方法をすすめられようと、前向きに受け入れる心構えができていないのかもしれない。
こうした様々な可能性を考慮せず、信頼関係の構築などのあらゆる段取りを飛ばして、軽い気持ちで写経という効率の悪い学習方法をすすめた結果、嫌がられてしまう、と。
ただ、単純に「配慮が欠けている」というだけでは説明の難しいパターンもあります。
――どのようなパターンでしょうか?
西尾:組織に、教育コストをかける余裕がないパターンです。企業によっては、教育コストを抑えるため、最低限の教育手段としてオンボーディング時に写経を命じるケースがあります。
これは単純に、「新人に不親切で悪い会社だなあ」などとは片付けられない問題です。教育に多大なコストを割くことは、経営的な観点からすると、非合理的な場合もあるからです。
スキルというのは、個人に帰属する「財産」のようなものでもあります。優れたスキルという大きな財産を得たエンジニアは、転職市場で評価され、より良い待遇を求めて他社に移ることができる。
なので、余裕のない会社だと、ただでさえリソースがひっ迫している中、わざわざ時間を割いて「いずれ転職していくかもしれない相手」にスキルを授ける判断を下すことに抵抗があってもおかしくないのです。ゆえに、新人には即戦力を期待する。
この場合は会社と個人という当事者間の利害が根本的に食い違っていますから、議論してもどうにもなりません。
――会社と個人の思惑は、必ずしも一致するわけではないということですね。
西尾:はい。その上で、余裕のない組織があえて教育を行うとするならば――。難解な技術書を説明もなく投げつけ、写経を行うように命じ、「それでも、ついてこれる人」とそうでない人を選別する。こうして、最低限のリソースで「少数精鋭」の組織をつくり上げる。しばしば、このような方針をとるわけです。
「写経をしなさい」という雑な教育にも食らいついてくる優秀なメンバーを厚遇し、会社に残るよう囲い込むのです。一方、「こんな環境には耐えられない」と心が折れたメンバーには、救いの手を差し伸べる余裕もないため、他の会社に立ち去っていただくのを待つ。
もちろん、いずれ転職していくリスクは承知の上で、人材育成を中長期的な投資と捉え、しっかりとリソースを割いて新人に手厚い教育を施す企業も存在します。
これらは、会社ごとの経営戦略、あるいはリソースの余裕から生まれる差異であって、雑に写経をさせる組織が「非合理」とは簡単に言いきれないと思います。
――より適切な教育を行うには、何に気をつけるべきでしょうか。
西尾:写経に限らず、教育において何よりも重要なのは、その学習方法の正しい取り組み方や、メリット・デメリットをきちんと説明した上で、実際にとりかかるかどうかは相手の判断に委ねること――。僕はこう考えています。無理やり押しつけてしまっては、ただでさえ悪い写経の学習効率を、さらに損なうことになり得ます。
何しろ現状、プログラミングの学習方法に絶対的な正解は存在しません。プログラミングはまだ誕生から100年前後しか経過しておらず、既存の学問と比べて教育ノウハウの蓄積が少ない。しかも新たな学び方や学習ツールが次々に生まれており、どれが最も優れているのか、何が学習者に最適なのかを個別に検証するのは困難です。
そんな中でも確実にいえるのは、「人が学ぶにはモチベーションが重要」だということです。つまり、「自分でやってみたい」「このやり方なら面白そう」などと、本人の心にやる気が芽生える必要がある。
そのためには、本人が学習方法を自分で選ぶことがカギになります。様々な選択肢の中から、そのメリット・デメリットも理解した上で、自ら納得して主体的に選んだ方法ならば、モチベーションも湧きやすい。
そのため理想をいえば、教育者は勉強方法を命じるのではなく、本人が最適な学習方法を選びとるためのサポート役を務め、「こういう方法もあるよ」と様々な選択肢を提案するのがいいと思います。
しかし、現実的には時間的制約や組織の都合などから、学習方法が写経のような手段に限定される場合もあるでしょう。それでもせめて、写経の適切なやり方や、そのメリット・デメリットを伝える努力をしてみてはどうでしょうか。それだけでも、本人が納得してくれれば内発的動機づけにつながり、より高い学習効果を期待できるかもしれません。
――では、写経の正しい取り組み方やメリット・デメリットについて、どう説明したらいいでしょうか? 改めて教えてください。
西尾:まず、僕が考える「効率の良い学び方」から説明させてください。
本来、プログラミングの学習において最も効率が良いのは「自分に必要なところから学ぶ」ことです。Pythonを使って会社の売上データを分析したいなら、Pandasライブラリなどを使ったデータの集計方法を学べばいい。しかし、自分に必要な情報が何なのか、わからない場合もある。
その場合は「自分が学びたい領域の全体像を把握する」ことから始めます。必要な情報があるのか見当をつけるため、プログラミング言語の公式ドキュメントやチュートリアルの目次などにざっと目を通す。
目次を見てもなお「ちんぷんかんぷん」な場合は、基礎知識や経験が絶対的に不足しています。その場合に限り、最終手段として、写経が効果を発揮する。学びたい言語の公式チュートリアルなどに掲載されているコードを、手当たり次第、エディタに写しとるのです。
今すぐ必要な情報以外も学ぶことになるため効率は悪いですが、全く知識のない人が、プログラミングの基礎知識や言語構造を理解するための足場づくりをする手段として、とても有効です。
――前提となる知識が大きく不足している人には、写経が有効なのですね。
西尾:はい。ですがもちろん、「何も考えず黙々と経典を書き写す」ような真似をしてはいけません。
サンプルコードに沿ってエディタに入力をしながら、これまでに写経した他のコードと類似点や相違点がないか、常に考えをめぐらしましょう。そうした気づきを通して、抽象的な知識が蓄積され、コードの構造や設計思想への理解が深まります。
また、プログラミングの写経は、仏教の写経とは異なり、「実行」が可能です。数行ごとにどんどん実行をし、挙動を確認しましょう。すると、文法や構文、動作原理が着実にわかるようになっていきます。
加えていうと、原典を忠実に写しとる必要はありません。むしろ積極的にコードを改変し、実験することが重要です。「この変数を変更したらどうなるか?」などと仮説を立てて試すことが、理解を加速させる。エラーが出たら、その原因を調査することで、新たな学びが得られます。
こうして小さな単位で実行と実験を繰り返すのが、プログラミングにおける写経のあり方です。泥臭く時間はかかりますが、確実に「知識の土台」が自分の中に積み上がり、いずれは技術文書の内容も簡単に理解できるようになります。
これらは、写経をすすめる側の人にとってはわかっていることかとは思います。しかし、写経は何かと「無心で書き写すだけの、無意味な勉強方法」という誤解を受けやすいのです。なので他人に写経をすすめる際は、これらの点を丁寧に説明しましょう。
――他の注意点として、どのようなものが挙げられますか?
西尾:そもそも、「写経は“初心者”がやるもの」と考えない方がよいかと思います。
他人に写経をすすめるべきかどうかを考える際に、その人の「エンジニアとしてのレベル」という曖昧な属性で乱暴に判断してはいけません。考慮すべき指標は、「特定の技術に対する、その人の習熟度」です。
初心者に限らず、ベテランやテックリードと呼ばれるような人でも、今まで蓄積したノウハウが通用しない新しい分野に挑戦する場合は、体得に苦戦することがあります。リファレンスマニュアルを一読してもうまく理解できない場合は、こうした人でも写経が有効になるのです。
だから、「上級者」でも写経が必要になるシーンもあるかもしれないし、「初心者」でも扱う技術によっては写経は不要かもしれない。安直な決めつけは避けましょう。
――このように、適切な取り組み方を伝えた上で、かつ学習者が納得してくれた場合には、写経は有効な教育手段になり得るのですね。
西尾:そう考えています。でも、それも今だけなのかもしれません。LLMの登場により、プログラミングの学び方は大きく変化しつつあるからです。
これまで、僕は写経を「何から学んだらいいか全くわからない時の最終手段」として位置づけてきました。しかし、現在はChatGPTに質問すると、自分が実現したいことに必要な情報を一瞬で答えてくれます。つまり、「必要な部分から学ぶ」という最も効率の良い学習方法が、誰でも手軽にできるようになってきたのです。
この状況は、写経がいずれ「効率が悪いだけで、メリットのない学び方」になる可能性を示唆しています。
一方で、今後LLMで学んだ人たちが、新入社員として会社に入るようになると、LLMが時おり出力する間違った回答を鵜呑みにして、業務でトラブルを起こす事例が増えるかもしれません。そうなれば、「やっぱり、まずは写経で基礎を固めるべきだよね」と考える人も出てくるかもしれません。
今は学び方の変革の過渡期。写経の立ち位置がどうなるのか、まだ誰にもわかりません。
――「写経論争」の行く末がどうなるか、予測は難しいのですね。
西尾:はい。ただ、この先どうなるかがまだ不透明でも、生成AIを使ってプログラミングを学んでいる人を、軽んじるべきではないでしょう。LLMが万能な学習ツールになるとは言いきれなくとも、大きな影響を与えることは間違いないと思うのです。
僕は未踏ジュニア(※)のメンターとしてプログラミングを教える時に、中高生にChatGPTの有料アカウントを提供し、活用するよう促しています。すると、彼らは驚くほどのスピードで勝手に成長していくんですよ。
新しいツールを用いた学び方を受け入れず、「写経をしなさい」などと古い考えで指導してしまうと、有害な教育になってしまう可能性は否定できません。
(※)未踏ジュニア:一般社団法人未踏が運営する、独創的なアイデアと卓越した技術を持つ17歳以下のクリエイターを支援するプログラム。
――自分の中にある「学び」の選択肢が古くなっていないか、気をつけるべきということですか?
西尾:そうですね。学び方も、学習におけるモチベーションの形も、技術の進化とともに大きく変わっていきますから。
たとえば、家庭内で子どもが「YouTubeを見たり、ゲームばかりしていないで勉強しなさい」と注意を受けることがあるでしょう。でも若い世代の話を聞くと、今はYouTubeの配信で海外の有名人にコメントを読み上げてもらうために、外国語を学ぶ人もいるそうです。海外の動画の再生速度をいじりながら英語を学び、「推し」の配信中に反応をもらえるよう、気のきいたフレーズを覚えていくんですね。
また、FPSゲームで海外ユーザーと「あそこにターゲットがいるぞ!」などとボイスチャットを通して英語を身につけるのも「あるある」なようです。昔では考えられない学び方かもしれませんが、「推し」やゲームという大きなモチベーションを推進剤に、能動的に語学に触れるというのは、とても効果的かと思います。
――人によってやる気が湧くポイントは異なる以上、「その人にとって何が最も有効な学び方か」と決めつけるのは困難ですよね。
西尾:はい。だからこそ、特定の学習方法を押しつけるのはよくないのです。
人はよく、自分の経験に基づいて他人に勉強方法をすすめます。しかし、その判断は、過去の経験に基づいた分析に過ぎません。教育者が新しいツールや学び方、考え方を柔軟に受け入れられなければ、今を生きる学習者にとって有用な選択肢を示すことができないかもしれない。すると、せっかく時間をかけて指導をしてみても教育コストは増大し、誰も得をしません。
一方で、新しい学び方も取り入れて選択肢を増やすことで、学習者のモチベーションが湧くやり方が見つかれば、成長を大きく促進でき、ひいては組織の成長につながるでしょう。
LLMの進化により、学び方だけでなく、そもそも「何を学ぶべきか」も変化していくと思います。コーディングや文章生成などの作業が生成AIに代替されていくなか、人間が創造性やアイデアを通して価値あるものを生みだし続けるには、どのような学びが必要となってくるのでしょうか? 僕もこの難解な問いを常に意識しながら、今後も人々の知的生産性を向上させるための研究に取り組んでいきたいと思っています。
取材:鹿野 恵子(プレーンテキスト)、田村 今人
執筆:鹿野 恵子(プレーンテキスト)
編集:田村 今人、光松 瞳
写真:曽川 拓哉
関連記事
人気記事