ITエンジニアが書く・喋る意義

ITエンジニアが書く・喋る意義

本記事はRecruit Engineers Advent Calendar 2018の14日目の記事です。

こんにちは、インフラエンジニアの藤原です。

今回のブログでは、”ITエンジニアが書く・喋る意義”と題して、ITエンジニアが組織および個人での取り組み内容や、取り組みたいことについて外部発信することの意義について個人的な意見を書きたいと思います。

対象読者

  • 自身および組織の取り組みについて情報発信すべきか悩んでいるITエンジニアの方

どんな情報発信をしているのか

自己紹介も兼ねて筆者がどんな情報発信をしているのかということを紹介しておきたいと思います。私の活動領域はDocker/Kubernetesを中心としてコンテナ仮想化です。
今年は主に以下の3つの活動(個人的活動含む)に取り組みました。

  1. イベント登壇
  2. ITテクノロジー系サイトへの記事の寄稿
  3. 技術コミュニティの運営
    • Rancher JPコミュニティのコアメンバー・イベント登壇

 

ことの経緯

今年(2018年)の7月に技術共有相談会(イベントの紹介記事)で、ITエンジニアが社外で登壇したり
寄稿したりすることの意義について発表しました。

内容的には社内にいるエンジニアに素晴らしいノウハウを蓄積できているのにそれを発信しないことのもったいなさ、発信することで得られるメリットについて発表しました。本記事では弊社のITエンジニアだけでなく、ITエンジニア一般として様々な情報発信に取り組む意義について、一つの見方を書きたいと思います。

あくまでものこの記事の内容は一面から見た場合の話であり、
他の見方についても多々ある点についてはご了承ください。

 

エンジニアが書く・喋る意義

ITエンジニアが自身の考えや取り組みについて表現することの意義は
以下に示す大きく3つの観点(図1)から整理できます。

  1. 個人
  2. 組織(≒会社, 所属部署)
  3. 社会

以降はそれぞれについて解説したいと思います。

図1. ITエンジニアが書く・喋る3つの意義

 

個人としての意義

最初に説明するのは、ITエンジニア個人にとってどんな意義があるかということです。
ざっと私が考えてみた限りだと3つあると思います。

  1. 思考のリファクタリングができる
  2. 外の世界を知ることができる
  3. より多くの情報を集めることができる

思考のリファクタリングができる

1つ目は、「思考のリファクタリングができる」点です。
特定の技術や考えについて他人に説明する際には以下の内容が重要になります。

  1. コンテキストを揃えること
  2. 内容について(致命的な)誤りがないこと

前者は、普段からコミュニケーションを取っていない人に自身の取り組みについて理解してもらうにはどうしたら良いだろうと改めて考える機会となります(図2左)。こういった技術を磨くことは普段の仕事に取り組む上でもコミュニケーションの円滑化に役立つでしょう。

後者は単純に技術的に正しい内容を改めて整理し直すことです。改めて自身の認識していた内容を言語化することで、自身の認識の浅さや誤りに気づきそれらを修正するためのチャンス(図2右)に繋がります。

図2. 思考のリファクタリング

特に後者の取り組みはあなたが書く・喋るといった取り組みを終えた時点で
技術的に思想的にあなたをもう1段上のレベルに引き上げてくれているはずです。

外の世界を知ることができる

 

2つ目は「外の世界を知ることができる」点です。
特定の組織または一人で取り組みを続けることは必ずしも悪いことではありません。
しかし、どうしてもタコツボ化してしまうリスクと隣り合わせになってしまいます。

図3. 外の世界を知ることによるメリット

そのようなリスクを回避する観点で、あなたの取り組んでいることを組織の外側に発信してみましょう。情報の発信を通じて、取り組み方の方向性の良し悪しや、同様の取り組みの有無について、客観的なフィードバックを受けることができるでしょう(図3左)。

また、耳に痛い率直なフィードバックをくれる人たちを大事にしましょう。その中であなたが尊敬できる人であったり、ロールモデルを見つけたりすることはあなたの取り組みやキャリアを進めていく上での助けになると思います(図3右)。

特にそのような尊敬する人からの耳に痛いフィードバックはあなたの成長の助けとなってくれるはずです。

より多くの情報を集めることができる

もちろんですが、あなたが情報を発信することで、あなたが具体的にどんな取り組みをしているか、どんな情報を欲しているかを外部から理解してもらえるようになります。連絡を容易に取る手段があるといったことが大前提にはなりますが、結果として、周囲の人々が”あの人がこの情報を必要としていそうだ”と思えば、情報を共有してくれるようになってきます。

図4. 情報は発信する人のもとに集まる

組織(≒会社)としての意義

ここまでは、個人としての意義について説明してきました。ここからは組織としての意義について説明したいと思います。組織としての意義は、以下の3つです。

  1. 社外に取り組みや組織そのものを知ってもらう
  2. 社内に取り組みを知ってもらう
  3. テクノロジーの継続を支援する

社外に取り組みや組織そのものを知ってもらう

組織にとっての意義として、どのような取り組みをしているのかを知ってもらうことが一番大きいです。個々の取り組みについてどのような心持ちで取り組んでいるのか、どんな部分で苦しんでいるのかなどを実際に携わっている人が率直に話すことは組織を知ってもらう上で非常に重要なことだと思います。

図5. 組織の外側に取り組みを認知してもらう

そういった現実の部分を知ってもらった上で一緒に働きたいとか、何かしらの形で関わりを持ちたいと思ってもらえることが組織にとってのプラスになることは間違いないと思います。特に入社して一緒に働いてもらえる場合に、「こんなはずではなかった」といったミスマッチを防ぐといった点でも役に立つかもしれません。

社内に取り組みを知ってもらう

私の場合、社外で喋る内容は社内にも向けています。これは会社が一定以上の規模になると社内の別組織や個人で推進している取り組みの細かい部分までを全員が認識しているわけではないためです。

図6. 社内に取り組みを知ってもらう

特に大きな企業の場合は、普段の業務が離れるほど取り組みの背景などをあらかじめ揃えることが難しくなります。組織として一定以上遠い場合は社外を通してしまったほうがコンテキストを揃えるところからの説明も含むため、理解してもらいやすくなります。このように社外を通じて社内の情報流通を活性化し、組織間のコミュニケーションを活発化するといった効果もあると思います(図6左)。

また、同じような取り組みをあちこちで行うといった重複をある程度なくす、または情報を共有しつつより強力に推進することができます(図7)。

図7. 組織をまたがっての情報共有例(社内Slackのk8s情報チャンネル)

 

テクノロジーの継続を支援する

ここは個人としての取り組みではなく、組織として特定のテクノロジーに関する取り組みを行っている場合の話です。組織として特定のテクノロジーを採択してプロジェクトを推進するということは、そのテクノロジーに対して人とお金、時間を投入したことになります。ここで重要となってくるのは、そのテクノロジーが一定の継続性を保ちながら発展を続けられるかという部分です(図8)。

図8. 特定のテクノロジーへの投資に関しての組織としての関心事項

特定のプロダクト、テクノロジーを選定して利用するということは、なんらかの観点でそれらが優れていると組織としてみなしたからです。したがって、一番のリスクはそのプロダクト、テクノロジーの発展が鈍化したり、最悪の場合消滅したりすることです。

このような観点から、特定のプロダクト、テクノロジーが健全な形で継続することを
組織が支援することに意義を見いだすことができます。(また、取り組みの中での副産物などを除くと、これは個人にとっても大凡同じ事柄が当てはまります。)

支援の方法としてはいくつかあり、最初に浮かぶのが金銭的にスポンサーすること、
次にノウハウ(≒利用事例)を積極的に公開することです。特に取り組み初期においては金銭的にスポンサーするというのはなかなか難しい部分もあると思います。そのため、ノウハウや悩み、事例について積極的に公開することで当該プロダクトやテクノロジーのユーザコミュニティの発展に貢献するといった形で継続性を支援することが主流になると考えています。

また、こういった観点からの支援は現場のエンジニアが取り組みたいという意欲さえあれば実施可能なはずです。

社会にとっての意義

最後に私が考える社会にとっての意義を説明しておきたいと思います。一部は個人、組織にとっての意義という形の部分にも含まれますが、情報を発信・共有することは、より健全な形で効率的に社会が発展していくための情報を提供するということになります。もっとわかりやすくいうと、自分が困った部分で他の人が困らないようにするということです。これは先々であなた、あなたの組織が取り組んでいるプロダクトやテクノロジーの裾野を広げることにも繋がります。

図9. 裾野が広がることによる個人と組織への影響

裾野が広がることであなた自身が同じ問題に再度取り組む必要性は徐々になくなり、
より新しく高度なことに取り組めるようになります。このような草の根の取り組みを個々人や組織でできる範囲で取り組むことが社会全体の発展につながるだろうと思います。

組織としてお金をかけていろいろやるよりは、個人で始められる社会貢献としてこのような経験やノウハウについて積極的に取り組んでみることも一考の価値があるはずです。

取り組んでみてどうだったか

私自身、本格的に対外的な発表に取り組むようになって2年程度が経ちました。社会としての意義についてはなかなか達成できているとは胸を張って言えないですが、個人および組織の側面については徐々に成果を出せていると感じています。

個人としては、情報を整理する能力を飛躍的に向上させることができました。また、各種関連技術イベント、発表情報について各所から連絡いただけるようになったことで、情報収集や最新技術のキャッチアップなどが容易になったと感じています。さらに技術面の悩みについてメンターとなっていただける方も見つけられたりとプラスになることが多かったです。

組織としては、社内的にDocker、Kubernetesといった技術領域に詳しい人として認識したもらえた結果、様々なプロジェクトで当該領域に取り組む際に相談してもらえるようになりました。今では、図7にもあげたようにノウハウや技術情報を社内(と一部リクルートグループ内)で共有するような仕組みを整えることができるようになってきました。

また、私の活動によるものではないのですが、社外に向けた各種取り組みの発表を見聞きして入社を希望される方も増えてきたといった声もちらほら聞こえるようになってきました。このような面でも組織にとって徐々にプラスの効果が出てきていると思います。

こういった対外活動は個々のITエンジニアにとっては体力的に大変な部分もありますが、個人としてだけでなく、組織としての成長にも貢献できていると思います。

 

どうやって始めるか、どこから始めるか

ここまでは対外的にものを書いたり、発表したりといったメリットについて説明しただけで、どのように取り組みを始めればよいかということを述べていませんでした。これについてはとある新人エンジニアの日常にもあるように登壇駆動学習なども良いと思います。ある程度以上の規模のものであれば初心者向けの勉強会なども行われているので、そういったイベントのLTなどで登壇してみるところからスタートすることがお薦めです。

Docker・Kuberenetes・Rancherなどに関わる内容の場合は、筆者が運営に携わっているRancher JPコミュニティにて初心者から上級者まで幅広くLT、セッション登壇を受け付けているので、是非チャレンジしてみていただけるとありがたいです。

まとめ

ここまでITエンジニアが外に向けて情報発信をするメリットについて、
個人・組織・社会の3つの観点から書いてみました。

ざっくりとまとめると、”あなたのノウハウを共有することで、あなた自身もレベルアップできる、仲間が増える、技術の裾野がひろがりあなたの今の取り組みが楽になってより難しいことにチャレンジできる余裕が生まれるかもしれない”くらいの緩い認識で良いと思います。

いろいろ小難しいことを書きましたが、こんなメリットがありますという話なので、喋りたい、書きたいことについて誤りのない範囲で誠実に書く、喋ることが一番かと思います。

寄稿や対外発表に快く送り出してくれるリクルートテクノロジーズの同僚や上司、広報コミュニケーショングループの人たちのサポートがあるからこそ、私自身このような外に向けた活動を続けることができています。この場を借りてお礼をさせてください。ありがとうございます。

まとまりのない形になってしまいましたが、以上です。