山崎進の最近のつぶやき まとめ
2016年1月〜5月ごろのつぶやきをテーマごとにまとめました。そのうち,それぞれをブログ記事として執筆していきたいと思います。
育てたいエンジニア像
顧客に勇気を持って「そもそも何がしたいんですか」という質問や,「こういうことがしたかったんじゃないですか?」という提案ができるようなエンジニアになれ,と学生に向かって言いました。
「ソフトウェア工学,すなわちソフトウェア開発に工学的アプローチを適用することで,誰でもソフトウェア開発できるようにすること」これは,ソフトウェア工学が提唱された1950年代以来の宿願であった。しかし,1990年代から2000年代にかけて「実は,ソフトウェア開発は誰にでもできるような仕事ではない」というアンチテーゼが現れ,アジャイルソフトウェア開発という考え方として昇華することになる。 現在,コンピュータや人工知能の潜在的可能性,とくに「人間の仕事を奪うかもしれない」という「脅威」が出現してきている。あらゆる仕事が,好むと好まざるとに関わらず,人間がする仕事の価値を「コンピュータや人工知能には容易にできないこと」にフォーカスせざるを得なくなる。もちろんソフトウェア開発も例外ではない。 ソフトウェア開発に携わる人材を世に送り出す教師としては,「コンピュータや人工知能には容易にできないこと」を常に意識しながら,伸ばすべき学生の資質を見極めなくてはならないだろう。
強み x 教育
人は誰でもできることに限度がある。そして最初はできない。指導をする上で大事なのは学生が夢中になるような適切な量の課題を与えること。夢中になって取り組んでいるうちにスキルが伸びてマインドが変わり,気がつくと苦もなく限界を超えられるように成長する。
プロフェッショナルたちが真剣に仕事をしている中に,ある程度のスキルとマインドを持った学生を主体的に参加させること,それにより学生はプロフェッショナルから大いに学び飛躍的に成長するだろう。
今まで目的意識を漠然としか持っていなかった学生が「なりたい将来の自分」のイメージを明確に持ち主体的に行動して成長する,それが私たち強みx教育研究室の醍醐味。
熟達には時間がかかる。俗説では1万時間かかるという。しかも1万時間費やしても一流になれるとは限らない。しかし時間をかけないことにはそもそもスタートラインに立てない。私が思うに,自分の強みにフォーカスすることで,1万時間の修練にも耐えて熟達の域まで到達する可能性が初めて開ける。
私たちのソフトウェア開発の教育は2段階で構成される。第一段階が授業形式でありながら個別に学習を進めるプログラミング演習だ。まず学習者の能力に最適なペースで学習できる。そしてプログラミング能力を鍛えた上級生からコードレビューを受けて実践的なプログラミングを修得する。
そして第二段階が共同研究型インターンシップだ。第一線で活躍するエンジニアやデザイナー,プロジェクトマネジャーの指導と監修を受けながらソフトウェア開発の実案件をこなす。その中からふりかえって学びを得て,ソフトウェア工学等の研究題材とする。学生たちは強みを磨き,自分の働き方を見出す。
私たちは,学生それぞれの強みを伸ばすよう,目標と書籍や勉強会,案件等の機会を与える。学生は自分の成果が実社会で使われフィードバックを得ることで喜びと厳しさを知る。こうして学生は自分で自分を磨く術を自然と身につける。その結果,採用企業から新卒ながら即戦力になると評価いただけている。
もちろん今まで得られた良い評価に甘んじることはない。私たちの教育にもまだ改善の余地はある。目標とする人材像も軌道修正をしていく必要性があるだろう。しかし,私たちの基本スタンスとして,学生それぞれを直視し,将来像を見据え,寄り添って共に成長する姿勢だけは絶対忘れない。
褒めて育てる vs 厳しく育てる
「褒めて育てる」「厳しく育てる」のどちらか?と問われれば,確かに私は前者なのかもしれないけど,だからと言って学生を甘やかしていることは決してない。 私がいつも学生を褒めているかというと決してそんなことはなく,むしろ,しばしばグサグサ刺さるようなとても厳しいことを言う。ただし,にこやかな笑顔でw これって意外と難しくって,何が難しいかというと,にこやかな笑顔でしゃべりながら,でも言った言葉がグサグサ刺さるというような状態にするのが難しい。つまり,本当に相手の心の琴線に触れるような本質を突いたクリティカルな言葉じゃないと刺さらないということ。 逆に言うと笑顔で言った言葉で相手がノックアウトするようだったら,それは本当に本質を掴んでいるということ。叱り飛ばすような,権威と怒気と威圧で相手を圧倒することに慣れてしまうと,言葉が相手の心に届かなくなっても気付けないんだと思うんだよね。 あと私がよく使う手は「学生に無茶振りをする=厳しいミッションを与える」こと。ただし,にこやかな笑顔でw この手は,私が全く厳しい言葉を言う必要なく,学生を社会の厳しさに直面させることができるので,実にいい手だ。もちろん,何も考えず無茶振りすると,学生がやる前から折れてしまったり,致命的な失敗をして周りに迷惑をかけたりするので,学生本人のやりたい方向性や能力を良く見極めること,フォローアップを行うことは言うまでもない。 冷静さを見失って叱り飛ばしちゃう人の心境を考察すると,たぶん1つには,学生の失敗が自分の悪評になるという怖さから来ているんじゃないかと思うんだよね。 たとえば,学生に自分の研究プロジェクトの一環の「作業」を担当させている場合には,学生の失敗によりプロジェクトが遅滞する。それが嫌なので,つい事細かに指示をして,できなかったら叱り飛ばしてしまうという構図。 私の場合は,学生が失敗しても,学生の失敗それ自体が自分の研究材料だったりするので,その後,学生が失敗を胸に刻んで成長してくれるのであれば,まったく問題ない。 そういうわけでまとめると,私の教育は,楽(たの)しいけど楽(らく)じゃない,褒めることもあるけど厳しいこともある,けっして甘くはない,ということでご理解いただければ。
先に弱みを直視させて奥深さと厳しさを与えるか,先に強みにフォーカスして自信と楽しさを与えるか。意見が分かれるところだが,私は主に学習意欲の面から後者を推す。自信により継続する強い意欲が湧き無我夢中で学ぶだろう。責任感と健全な自尊心が育まれ,内在する弱みを直視し克服するようになる。
強みにフォーカスすると言っても弱点を放置するわけではない。どんな天職に就いても何かしら苦手は残る。弱みを克服するのはどうしても時間がかかる。成人ならば,まず強みで成果を上げられるようになってから,どうしても克服する必要のある弱点に絞って,焦らずじっくり時間をかけて取り組み続ける。
弱みに向き合うのはなかなか辛いことである。強みがある程度確立されている場合のオススメの方法は,強みで全体を構成した中に1点だけ弱みの要素を混ぜ込み,うまく強みでカバーしてしまう方法だ。他人からの評価は主に強みに対するものなので,弱みを克服できた喜びが増す。
「強みで全体を構成した中に1点だけ弱みの要素を混ぜ込み,うまく強みでカバーしてしまう方法」は,強みにフォーカスした仕事の進め方の基本形でもある。なので,このような仕事の進め方をたくさん試みて修得しておくと,効果的に弱点を補強でき,かつ伸び悩むことなく強みを伸ばし続けられる。
チャレンジ
いいものを作るには,ときには思い切って失敗することも大事である。いい授業をする,いい学生を育てる,ということも,あえて失敗する/させることを織り込んで,全体として成功するというように持っていくことが大事だったりする。
研究
私は自分の研究の下働きを学生に強要したくない。学生が「将来なりたい自分」を思い描き,それに必要なスキルを踏まえて研究テーマを設定する。その上で,もし私の「下働き」に意義がある場合のみ「下働き」を依頼するのが筋だと思う。
研究指導は「指導教員の研究の下働き」から「学生のライフワークにつながる指導教員との共同研究課題の発見」へ。
「イノベーションを興すのに必要な能力は?」大きく分けて課題発見能力と課題解決能力の2つである。私たちの研究室では共同研究型インターンシップによって学生の課題解決能力を伸ばすことに成功した。次の段階で学生の課題発見能力を伸ばすため,私たちは今こそ大学の研究活動の本分に立ち返る。
教師向けメッセージ
危機意識に目覚めなくてはならないのは,学生よりもむしろ大学教員の方かもしれません。 ビジョンを持って日々の授業や研究に取り組んでいますか? 周囲に不満・不平があるかもしれませんが,日本や日本の高等教育が置かれている厳しい現実を理解した上で建設的な意見を述べられていますか?
プログラミングやデザイン,経営などは,しばしば「センス」という言葉で片付けられることがあり,最初から「センス」を持った有能な天才に託せばいいや,みたいな救世主待望論みたいな話になりがちです。 私はこのような「センス」に分類されるものの大半はトレーニング可能だと思っていて,学生の「センス」を磨いて開花させることに手を尽くしているつもりです。
私はルールが好きではない。正確に言うと「なぜそのルールを守らなければならないのか」という議論を抜きにして,ルールだけ押しつけるやり方が好きではない。 そのような押しつけには,たとえ幼な子であっても反発を覚えるものだ。相手が大人であればなおのこと。
「人の発達には段階があり,いくら良い教育を提供しても学ぶ時期が適切でないと身につかない」と私は思っている。腕に力が付いていないのに,逆上がりを練習しても身につかない。身の丈に合った問題解決能力が身についていないのに,問題発見能力ばかりを磨いても身につかない。
多様化
新しいパラダイムと古いパラダイムが共存するとき,多様な価値観が混在するとき,そのような状況は今までと比べてとてもストレスフルな状況である。ときには傷つくことも,排他的・差別的な行動に走ることもあるだろう。 しかし時は元には戻らない。「鎖国」「一億総○○」の時代は終わった。私たちはパラダイムシフト・多様化の荒波を乗り越えるべく前を向いて歩き続けなければならない。いったんパラダイムや多様であることを認識すれば,少なくとも心は冷静でいられる。
保護者向けメッセージ
「自分の後継者を育てる」といった時に,もし「自分のコピーをつくる」という意味で言っているのだとしたら,認識を改めたほうがいいかもしれない。 まったく同じ個性を持つ人がまったく同じ時代にまったく同じ人生を歩まないと厳密な意味でのコピーにはならない。個性も違うし,時代も違うし,たどる人生の軌跡も違うから,自ずと違う人になるものなのだ。そして,そもそも自分と後継者に求められる役割は違うものかもしれない。 しばしば教育熱心な親が我が子を後継者に育てようとして親と似たような人生を歩ませるよう強いる場合がある。あるいは真逆に自分が苦労したところ足りないところを補うような教育を強いる場合もある。どちらも子の個性も子が生きる時代も子がたどる人生も考慮していないのであれば,失敗する可能性が高い。 まずは「自分の後継者を育てる」という呪縛から自分を解放するべきである。この呪縛から解き放たれた時に,初めて後継者のことが見えてくるだろうと思う。
人生論
人のために働く,一見損するように思えるかもしれないけど,案外,自分のためになるので得をする。
今までずっと枠を超える活動をしてきたので,世の中の複数の観点・立場が見える。幸いにして協調すべき落とし所が見えることもあるけれど,世の中は複雑なので,往々にして見えないこともままある。とても歯がゆい。でも前に進んでいくしかない。
私の仕事の最優先は,学生の学びをより良くすること。長年の葛藤の末,至った結論がこれだ。シンプルな行動原則になったと自負する。学生の学びが良くなるなら,あえて失敗させたり,目に見える成果を取りに行かなかったりすることもある。
人間や社会からの複数の要望にはたいていトレードオフ(あちらを立てればこちらが立たずの関係)があるので,優先順位づけが必要だ。人間にとっては,シンプルな原則にしたがった優先順位づけだと理解も説明もしやすい。ビジネスでもソフトウェア開発でも優先順位づけこそが第一の腕の見せどころだ。
実のところ,私は優先順位づけが苦手だ。どれも大事に見えてくるので,優先順位をつけて可能性を捨てることに未練を感じる。でもそこは大事なことなので,葛藤しながらもじっくり考察して優先順位をつける。優先順位に対して,自分で心から納得のいく論理が見いだせれば,周りの人にも説明しやすい。
学習でもダイエットでも自己啓発でも組織改善でもイノベーションでも,本当に変えたいのだったら「日々じわじわ変えていく」というのが一番良いのだと思う。急激な変革は後で大きな反動を招く。集中して時間をかけたことは長続きする。根気が必要なので,コーチやメンターの存在がありがたい。
人生で楽な選択をすると大抵後で苦労する。例外は人より得意で楽にできること苦にならないことを選んだ場合。それ以外の場合は苦労しておいた方が得なことが多い。
学びと貢献
学生を企業や地域社会の方々に育てていただいている際に,学生の学びが最も大事ではあるが,先方の足手まといにならないようには心がけたい。先方のご厚意に甘えず,当方で基礎的な問題解決の技能と態度を習得させた上で実社会に投入したい。
ブルーオーシャン
競争で心身をすり減らしていると思うなら,周りにはない独自のポジションを目指すのも手。もしそれが無理なく自然体でできそうなポジションなら,だれにも真似できない天職の領域だ。それに到達できると,とても楽になる。楽になりたいなら意識して自分のポジションを探ろう。
これからのプログラマー,これからの教師
人工知能の隆盛でプログラマも教師も「なくなる仕事」の筆頭候補である。でも今までと違う新しい価値を提供する仕事だったら? 「素早く的確にビジネス課題を発見・解決できるプログラマー」「学生の知的好奇心や潜在能力を引き出し鍛える教師」と再定義すれば,まだまだ仕事はなくならない。
コンピュータのような日進月歩の技術分野では,理論と実践の両方に精通し,学習者の適性と発達の段階を考慮して効果的な教授法を設計する,新しいタイプの教師が求められるだろう。
1人の教師が理論,実践,教授法,学習者適性の全てに精通することは相当難しい。しかし,異なる能力を持つ教師がチームを結成して連携すれば別である。私たちの指導スタイルはまさにその点が大きな強みである。
初等教育におけるプログラミング必修化,高等教育におけるコンピュータサイエンスの必修化などをするには,きちんと教えられる人を育てる必要がある。教師育成は急務だが,拙速すぎて質を確保できないと,コンピュータ嫌いの子を量産しかねない。私ならまず教師育成とeラーニング開発に力を入れる。
グローバル時代にどう生きるか
「世界に通用する人材になれ」という言葉は,必ずしも「世界で1番になれ」と同義ではないと私は思う。「世界に通用する」=「自分のできることや強みが,世界において十分な価値を持つこと」だ。そのためには,自分を客観視して世界における位置付けを知ることが肝要である。
「世界に通用する」は必ずしもいわゆるグローバル人材とは限らない。ローカルを活躍の舞台としながら,常に世界を視野に入れ,その地域においてかけがえのない人材もまた「世界に通用する」と言えるのではないかと思う。それにグローバル人材は世界各所にローカルな拠点と人材を必要とするものだ。
ローカルな人材を目指すのであっても,世界から見た自分自身やその地域の強みが何なのかは常に意識した方がいい。社会はすでにグローバルになってしまい,古き良き鎖国に後戻りはできない。ローカルな人材を目指すのであっても,世界に対する見聞を深めることはとても重要だ。
最終的に世界一を目指すとしても,まずは一人前になる,すなわち一人で一通りの仕事をこなせないと話にならない。そこでまずはプログラミングやデザイン,マーケティングなどの仕事のどれかについて,一人前の仕事を,基本的には自分の力で,周囲と協力しながら遂行する能力を身につけることを目指す。
孫子の言葉「彼を知り己を知れば百戦あやうからず」は現代でも通用する。世界を知り,世界の中での自分たちの位置付けや価値を知り,かつ自分たちが最高のパフォーマンスを発揮するスタイルを確立できれば,このサバイバルな世の中を危なげなく戦えて生き残ることができる。
いったん卒業してしまうと教師の手から離れる。卒業後にも本人がサバイバルし続けられるか? そのためには,学生が,世界と自己を見つめながら,自分の強みを生かし,自分の手で自分の進むべき道を進み続けることが必要だ。それこそが,私たちの研究室の真の卒業の基準だと言える。
一人前になるには,その後の伸びしろは
一人前になるためには知識・スキル・態度を一通り身につける必要がある。どれも大事だが,大学教育で不足しがちなのは,スキルと態度である。知識に比べて,スキルや態度を身につけるには,どうしても時間がかかる。長期にわたって実践とふりかえりを繰り返しながら,辛抱強く身につけるしかない。
一人前になれた後の伸びしろは,本人に適した仕事のスタイルを確立できるかと,向上心を持って学び続けられるかの2つが大きなポイントだと私たちは考える。どちらも学生の強みにフォーカスすることが鍵だ。強みを見出すことで,仕事のスタイルが確立しやすくなるし,強い学習意欲も維持しやすい。
低いレベルにとどまる学生への対処
ときには教えることを投げ出したくなることがあるかもしれない。学習意欲に乏しい,学習態度がよくない,学習成果が現れない… 徒労感に襲われるそんなときこそ,学生たちに真正面から向き合うときだ。まずは,学習状況を把握し,適切な学習目標を複数設定し,クラスを分割して各個撃破しよう。
きちんと相手に向き合えば思いは通じる。たとえ相手がどんなに問題児であっても。心からそう信じないと思いは通じない。相手がわかりかけた瞬間,心を開きかけた瞬間,集中力を見せた瞬間が喜びになる。人は少しずつしか変わらないので,焦らず辛抱強く働きかけ続ける。
学生の相当数が学習の前提条件を満たしていないときにどうすべきか。私の場合,個別学習にすることが可能なので,授業内で学習状況に対応して補習を含む複数のクラスに分ける方策が採れた。そこで本日は容赦なくクラス分けのテストを実施した。学びをあきらめさせない最後のチャンスだ。
私は決意した。クラスを分けてそれぞれで個別学習できることを武器にして,学習状況が良い学生を開発経験豊富な先輩TAが,悪い学生を私が担当する。学習がうまくいかない,態度が悪いのには理由がある。真正面から向き合って,情報学科にふさわしいプログラミング能力を身につけさせよう。