デロイトトーマツコンサルティング合同会社・執行役員のkyon_mm氏

kyon_mm氏:kyon(きょん)と申します。私はソフトウェア開発やアジャイルコーチなど、いろいろな文脈で仕事をしてきたのですが、今日はそこにおけるスキルアップや、学習の仕方をテーマに話していこうかと思っています。

今日の話のベースになっているのは、2015年に仙台で開かれた「レッツゴーデベロッパー」というイベントで話した、「ザ・ジェネラリスト」というものです。「ザ」と付けたのが本当にヤバいなと思うし、トップレベルとか、マジで本当に怖くて書けない、若気の至りを堂々とさらしていくスタイルで、こういった話を前回仙台の地でしました。今回は、スクフェス仙台ということで、また同じ仙台で昔しゃべったことを現代版というか、2022年版にリバイズして話したいなと思っています。

ということで、今日は「スペシャリストになれなくても成長する方法」を話していきます。よろしくお願いします。

(スライドを示して)自己紹介ですが、kyonと申します。「47機関」というチームで働いていて、今はデロイトトーマツコンサルティング合同会社で執行役員をしています。仕事の内容はアジャイルコーチ、アーキテクトを中心に、例えば新規事業開発、車のサービス、移動体のサービス、大規模にアジャイルをやっていくところなど、さまざまなところでやっています。

他にもいろいろな会社の新卒研修をやったり、筑波大学では「enPiT2」という枠組みで、大学生にアジャイル開発を教えるというのも2016年から6年、7年ほど、やっています。いろいろやってきた中で、アジャイル開発のプラクティスを自分たちで作ったり、それをプレゼンテーションしたりしています。

本日は先に1つだけ言っておきたいことがあります。デロイトトーマツコンサルティングは今回スポンサーをしていて、13時からデロイトのスポンサーブースでイベントをやろうと思っています。

みなさんまだご存じではないかもしれませんが、2022年に誕生した新しいアジャイルクイズ大会、「KANPAIZ」をやるので、現地参加の方はぜひ、スポンサーブース周辺に来てください。オンライン参加の方はぜひチャンネルに観戦に来てください。中継しながらやろうと思っています。

上を見ればキリがないエンジニアの世界

ということで、スポンサーの紹介は以上で、本題に入ります。(スライドを示して)みなさんもいろいろなことにチャレンジされていると思いますが、私がいつも思っているのが、「上を見ればキリがない」ということです。自分が勉強して、ここまでできるようになった、実践できるようになったとなっても、本当にどこからそんな才能が出てくるの? という感じの人がボコボコ出てくるんですよね。

あとは「この人はそういうスキルはないな」と思っていたら、ぜんぜん違うところでメチャクチャ才能を発揮していることをなにかのタイミングで知って、「え⁉」みたいなことになるなど、本当に上を見ればキリがないのがこの世界だと思っています。

ソフトウェア開発は、特に潮流も非常に速い業界なので、キャリアやスキルをどのように広げていくかについて、悩むことは多いのかなと思っています。なので今回は、ソフトウェア開発者として、また、アジャイルコーチとしてジェネラリストを選択した理由や、やっていることを共有する試みです。

みなさんに「これをやれ」とか、デロイトの役員がこういうことを言っていたから、こういうのがトレンドなんだとか、そういったものではないです。あくまで私の生き方という話です。

ということで、みなさん、QAタイムで聞きたいことをDiscordにちょっと書いてみてください。Discordのオンライン会場のチャンネルですかね。2〜3分取るので、ぜひみなさんが今日聞きたいこと、「プレゼンテーションにこういったことがあるといいな」とか「ないかもしれないけれどこんなことを聞けたらいいな」というのを書いてみてください。お願いします。

(コメントを見て)何人か入力中ですね。ありがとうございます。「アジャイルコーチとなにかを組み合わせて新しいキャリアを作る、そのなにかとは?」「明日から始められる第一歩、ジェネラリストという選択肢を~」ちょっと書き途中ですかね。「kyonさんがすげぇって思ってる人の要素」「ジェネラリストという選択肢を選んだきっかけ」「アジャイルコーチというスペシャリストの方向性を、どうやってジェネラリストに転換したのか」……。

みなさん、単語でも大丈夫ですよ。こんな感じとかで大丈夫です。「新しく学ぶ必要が出てきたことにどうアプローチするか」「自分が開発者からチーム運営に回る立場になったので、今後どういう心構えでいくかのヒントを探しています」「アジャイルコーチの世界で差別化を図るためには」

みなさん書いていてくださいね。ちなみにこの前、『記者ハンドブック』という本を読みました。この本は、新聞記事やなにかを書く時に、こういった言葉にしますとか、この言葉はこういう意味で使うものです、というようなハンドブックです。この『記者ハンドブック』の中に10ページぐらい差別語、不快語に関するページがあって、そこに「差別化は差別っぽく感じるから、差別化ではなくて差異化と言いましょう」と書かれていました。「なるほど、そういうことなんだ」と思ったんですが、スタートアップ界隈のプレゼンテーションでは「差別化、差別化」とメチャクチャ言われているので、これを直すのは無理だろうなと思いました。

(コメントを見て)「成長につながるなにか」「自分に合いそうなものが見つかるといいな」「ジェネラリストと言うと一般的に広く浅いイメージがあるけれど、どれくらいの深さと広さを目指してるんだろう」「そもそもkyonさんがジェネラリストというイメージがあまりない」「わかる」って付いてる(笑)。このへんの話も今日できるといいですね。

「自分が聞きたいのは、どれくらいの深さ、広さを目指してるのかみたいな話」ありがとうございます。確かに。前回の仙台では、その話はあまり細かくできなかったんですよね。その時にオーガナイザーの人にすごくご指摘を受けて、その日の懇親会では、その話をしました。川口さん(川口恭伸氏)という方がいらっしゃるのですが、川口さんが言う「きょんの8割」というやつですね。

「ジェネラリストとして動いていても、好きなこと、得意なことはあると思っていて、そことの付き合い方」ありがとうございます。他にも後でまた見返していくので、ぜひ気になることがあれば書いてください。プレゼン中ももちろんです。ということで、続けていこうと思います。

「社会人に勉強は必要なの?」と思っていた

(スライドを示して)10年間という話で、だいたい2009年から2022年ぐらいかなと思っています。2009年から2015年ぐらいのざくっとした話は「レッツゴーデベロッパー」で話したのがベースになっています。そこからさらに2022年まで経っているので、そこらへんをちょっと含めて再構成して、口頭で補足します。

最初の2年間はスペシャリストを目指していて、そこからジェネラリストを目指すようになって、さらにアジャイルコーチが職種としてあって、そこをやっているよという話ですね。というのが全体の流れなので、その中でジェネラリストを選択したきっかけと、どういうふうにやっているのかという話をしようと思っています。

まず、僕の最初ですね。2007年ぐらいの頃は「社会人って勉強必要なんですかね?」とメチャクチャ思っていて、とにかくプログラムは基本コピペで、Excelをがんばって、基本的になにかが動かないというのをずっとやっている状態でした。設計と言われても、みなさんは違うかもしれませんが、当時の僕は設計と言ったら、「ER図を書くのと、画面の設計を書く以外にあるのかな?」みたいな。

「それに対応するコントローラーを作って、データベースのアクセスの部分を書いて、画面のなにかを書いて終わりじゃん」みたいな。それもどうやるべきかはわからないけれど、検索したり、今までのコードをコピーしてきてガチャガチャやって、動かないな、どうだなとやることが仕事だよねぐらいに思っていて、勉強って必要なのかな、よくわかんないなみたいな感じでした。本当に素直にこの写真のように純粋にそう思っていた時期があったんですね。

「メチャクチャ勉強するぞ」に変わったきっかけ

「勉強が必要でした」とさすがにわかったのが2009年か2010年ぐらいだったと思います。bleisさんという方のブログに出会いました。インターネット老人会みたいな話ですが、当時はEclipseの2系や3系を触っていました。そこからNetBeansというIDEがあることを知って検索していたら、当時NetBeans使いだったJava界隈のきしださん(きしだなおき氏)としんさんが「最近NetBeansがいいらしい」とメチャクチャ言っていました。

その2人のブログによく絡んでいたbleisさんのブログを見たら、『Clean Code』という書籍に対して、メチャクチャこと細かく感想を書いていました。「ここが良かった」「ここが悪かった」とかではなくて、「ここはこういうふうに活かせる」と書いていて、私はその解像度の高さで書評を書いている人を他に見たことがありませんでした。

「本を読むことは必要なんだ、本を読むとこんなことができるようになるんだ」と思って、勉強しようと(思いました)。というか、勉強するってこういうことなんだ、コピペしてガチャガチャすることじゃないんだと当時思いました。

そうやっていろいろな人のブログや、いろいろな人の書評やTwitterを見るようになる中で、書籍の読み方を勉強しました。実際に読んで、プログラムをどうやって書くといいのか学びました。「なるほど、モジュールの設計ってこういう感じなんだ」「こういうふうに関数を設計するといいんだ」「クラスの設計ってこうなんだ」とわかるようになりました。

そこで「メチャクチャ勉強するぞ」となりました。とにかくトップレベルのエンジニアに追いつきたいと思って、「なるほど、ここに課題があるってことなんだ」とか「ここがおもしろいってことなんだ」と、その人たちが言っていることを理解したいと思いました。難しい書籍、入門書ではなく、当時で言うと『Effective〜』と名前が付いている書籍を端から読むぞという感じでした。

それから、みんなが書評でこれは中級者向けかなと言っている書籍もガンガン読もうとしたり、短時間を意識して、今まで1ヶ月かかっていた仕事を、2週間で終わらせるようにがんばってみたり、難しくてそもそも解けなかった問題を、早く解くようにがんばってみたりしました。そのために勉強をまたしたり、いろいろ試行錯誤したり、議論したりしていました。

転職後、圧倒的実力の差に味わった絶望

そうやってスペシャリストを目指していたのですが、その成果として、bleisさんがいる職場に転職できました。「やった!」と思って行ったのですが、当時出ていた日本語のJavaの書籍はすべて読んだと言っても過言ではないぐらい読み尽くしたはずだったのに、圧倒的な実力の差に、入社して3ヶ月ぐらいで挫折したんですよね。

別にパワハラがあったとかそういうのではなく、普通に無理だと思いました。bleisさんはインターネットで発信していたのでわかっていたのですが、bleisさんだけではなく、インターネットでほぼ見かけなかったすごい人たちがゴロゴロいて、自分の3倍、4倍の速度、しかも、きれいなコードで問題を解いていくんですよ。「もう無理、追いつけなくない? こんなもの」みたいな。「この業界でプログラマーとして食っていける気がしない」という絶望を転職して味わいました。

「どうしよう」みたいな。自分的には難しい書籍を読んでいたけれど、それではぜんぜん足りないということがわかりました。仮にここから先勉強していっても、彼らは中学生ぐらいからプログラミングしていたり、大学や大学院でコンピューター科学をやっていたり、本当に自分にはたどり着けない時間を費やしていたし、勉強の仕方も自分よりずっとずっと先のことをやっていました。スキルが上がると勉強の仕方も変えられるので、これは一生追いつけないんじゃないかと思って、「どうしよう」ってなりました。

(次回へつづく)