という、話だったそうじゃ

ニュートラルに生きる

「あなたのなりたい姿はなんですか?」に答えられますか。

この記事は、Speee Advent Calendar 2018の12月12日の記事です。


「あなたのなりたい姿はなんですか?」

と聞かれることありませんか?

私が務めている会社では、ある期間に1度、個人の目標設定を行う機会があります。 そこで、1on1などを通じて「あなたのなりたい姿はなんですか?」ということを聞かれます。 問いに答え、私なりの なりたい姿 を定義して、会社の目標の設定をしていくわけです。


過去を振り返ると、今まで色々な なりたい姿 を定義してきました。(今見ると、色々突っ込みたくなる)

  • デザイナー的視点を持てるエンジニアになる
  • 業務の効率化を行ない、自身の技術スキル向上を行う
  • すごいOSSプロジェクトを作って、エンジニアとしてのプレゼンスを高める

...などですね。

さて、ここ数年で私のなりたい姿は一体何度変化したことでしょうか。もはや数えることが困難です。それぐらいたくさん変化しました。 「なぜか私はなりたい姿がブレる」ということを、常々感じでいました。それは目標設定の度に感じていました。なので、「あなたのなりたい姿はなんですか?」という問いに対して、どうしても「どうせまたズレるしな...」という、ネガティブな感情がありました。「今回はどんな なりたい姿 を定義すれば良いのか...。」


この問題のブレークスルーは一瞬で訪れました。 目標設定が始まり、色々な方と一緒に目標設定を揉んでいただいている中で、思わず、

「ぶっちゃけたところ、今までOKRとか、個人目標とかを立てて来て、一回もしっくり来たことがない。もはや何のためにやるか分からず、困っている。どのようにすれば私は目標設定ができるようになりますか?」と。

すると

「目標設定はね。binoさん、あなた自身のためにある。あなたの将来のなりたい姿と、今やっている仕事が連動していなければ、つらいでしょう?」(一字一句は違う)と。

今までも同じく「目標設定は自分自身のためにある」ことを認識していたつもりです。しかし、この場でお答え頂いたことは、特に素直に受け入れることができました。 チームや会社に対する 心理的安全 が、今までよりも高い状態となっているため、素直に受け入れることができたかもしれません。こんな質問を素直に行えることは本当にありがたいことだなぁと思います。


私がこの話を素直に受け入れることで、目標設定に対して「 もっと自由に設定しても良いんだ 」ということ心の変化が起きました。

もっと自由に設定してもいいとは、 会社やチームのために自分がどう動けるか という思考の流れから目標を設定するのではなく、 自分が本当になりたい姿からブレイクダウンして、会社で働くメンバとして、チームのメンバとしての目標を設定することができることに気づいた ということです。


つまり、今まで必死に定義してきた「 なりたい姿 」とは、確かにその時点ではなりたい姿ではあるが、 組織にも個人にも利益を享受できる状態でなければならない という無意識な思考が働いていることで、内発的なモチベーションによって自分自身の行動を目標に向けて変化させることが難しい状態だったのだと思います。

すみません。分かりづらいですよね。

つまり、

個人の目標は「みんながハッピーになる目標を設定しておくことで、自分も個力の増強につながるし、みんなも嬉しいじゃん」

ではなく、

「俺はこんな生き方をしたいんだ。この組織、このチームではこの生き方に近づくために何を行動できるんだろう」

という思考の流れで個人の目標を設定すればいいのです。 また別の言い方をすると、 「 個人の目標の設定とは、誰にも影響を受けない最も自由度高く行うことができる目標の設定である。 」ということです。


すると、どういう事が起きるでしょうか。

この考え方を知った上で行う目標設定は、 もはやネガティブな印象は存在しません 。なぜなら、 自分のなりたい姿を見つけられて、しかもそれに前進するための計画を立てるため です。こんなに楽しいことは無いですね。なので、私は気持ちが楽になりました。「 個人目標って自分を成長せるためのツール 」なのです。

次に、「私が本当になりたい姿とはなんだろう」と考え始めます。これが難しいです。私はどんな人間になりたいのか。3年後、5年後、10年後の姿を考えてみてくださいってこんなに考えるのが楽しいことなのかと。

ちなみに私は、この発見は 非常に可搬性のある思想を発見した と思っています。 齢を重ね、いくつになっても使える思想です。なので、この事実にもっと早く気づいておけばよかったと悔やむことはありません。「このコトを発見できて、人生儲けもん」だなぐらいです。

本題に戻ります。「私が本当になりたい姿とはなんだろう」と考えてもすぐに出てきません。しかし、誰でも楽しく考えられるはずです。そこにノウハウなどは無い気がしていて、「 ただあなたの好きなことってなんですか? 」と聞かれているだけです。(今までも同じことを聞かれていたが、考え方が変わったので今までとは別の思考で考えを巡らせることができます)

とはいえ、出ないです。もし難しいと感じられている方は、なにか相談できる人に相談するのが良いです。私は道を歩いてるとき、友達と会話してるとき、仕事に没頭しているときも、ふと「これは私のやりたいことかもしれない」と思いつくことがあるので、付箋にメモったりメモ帳にメモったりしてます。


ちなみに私のなりたい姿は「 三度の飯より楽しいことをやり続ける 」 ことです。具体的なものはまだ見つかってないです。「フロントエンドの○○を極める」とかはまだないです。でも、楽しいことをやり続けるようにしたい。おそらく、言葉にできていないだけな気がしています。もうあるけど、言葉にできていないだけということです。


「なりたい姿」が定義できている事自体が、組織にどんな影響を与えるでしょうか。それは、チームの足並みを揃えられることだと思っています。

チームのOKR。Objectiveとは本来「 チームメンバがみんなワクワクすること 」を設定するべきです。チームメンバの各々が、 個人目標というツールを使って「なりたい姿」を定義していれば 、 チームメンバ全員がワクワクするOKRを設定しやすくなります。実例として、あるプロジェクトでチームOKRを設定するとき、「なりたい姿」をチームメンバ全員が披露し、そこからプロジェクトの方向性とOKRのObjectiveを設定することがありました。個人の利害とチームの利害の一致が、すぐに行うことができたわけです。なので、大変効率よく、そして質の高いOを設定できたと思っています。

f:id:bino98ty:20181210173746p:plain

「なりたい姿」を定義する個人目標とどうやって組織と協調していくか。それをまとめてみた図です。如何でしょうか。イメージは湧いていただけましたでしょうか。

この記事が、どなたかの悩みの解消に一役買うことが出来れば大変嬉しいです。明日の12月13日は、 @kawakubox さんです。よろしくお願いします!

Slackでヘタクソな日本語/英語の校正をしてくれる「Botlint」を作ってる

この記事はSpeee Advent Calendar 2017 17日目の記事です。

前日は@yoppiによる「Amazon ECS上のタスクをGolangで操作する」でした。

次回は@mncによる「Webアプリケーションのパフォーマンス改善について」です。お楽しみに!


年の瀬12月、皆様はいかがお過ごしでしょうか。

突然ですが

私は告白します。

私は日本語も英語も苦手です。日常会話や仕事のやり取りで困らない程度にはコミュニケーションを取れると思っているんですが、得意な方ではないです。 自然言語が得意でないとどのようなことでツマヅクと思いますか?私は、仕事でWebエンジニアとしていろいろとコードを書く機会がありますが、大事なことはなんでしょうか。

頭の中、伝えづらいことをいかにして、文字・言葉・図として表現して、他人(それは1ヶ月後の自分でもある)に伝え残すかです。

問題解決を破綻した考え方によって進められていないか。その考え方は効率よく他の人が理解できる形になっているのか。 それは自分ひとりだけでは確認できないので、同僚だったり上長にその正しさを理解してもらう必要があると思うのです。(例えば、コードレビューをしてもらうなど)

防げるミスは防ぐ。気づかせてくれる。

人に伝える上で、相手に理解されづらいコミュニケーションってなんでしょう。

  • 相手と自分の理解している度合いの違い。例えば、オートマのクルマに乗っている人に、渋滞のときのクラッチをつなぐ行為が大変である、と伝えるのは難しいです。
  • 言葉の使い方。例えば、「いくらが零れ落ちそうなほど大量のおにぎりを食べてる。」という言葉を伝えたとき、大量のおにぎりの話をしているのか。大量のいくらが乗ったおにぎりの話をしているのか。しかし、大量のおにぎりを食べても、いくらが零れ落ちることはないから、それはありえないな...と。理解するのに時間がかかってしまう。
  • 誤字脱字や常用漢字外の言葉で表現しているとき。「遙か彼方に小形飛行機が見える」とは、分かるけど使い方が間違っている。

私は、言語を扱う専門家ではないので、経験則による感覚の話になりがちですが、「誤字脱字や常用漢字外の言葉で表現しているとき。」というのは、まあそうだろうなと合点いただける人が多いのではと思うのです。

Slackで日本語/英語を校正してくれる「Botlint」を作った

というわけでこの度、その問題を解決すべく「Botlint」という、Slack上で発生したコミュニケーションの誤りを校正してくれるBOTを作ってみました。 どういうものかというと、

  • このBOTがジョインしているチャネルで発言された内容をすぐに校正して、秘密裏に教えてくれるBOT。そして、コソッと edit するなど。
  • Yahoo!の日本語校正サービスや、Textlintを用いる
  • Textgearsで英語校正もしてくれる。Google Translateで、正しい英語を使っているかの裏付けをする。

というものです。実際にどのように伝えてくれるかというと...

f:id:bino98ty:20171216140659p:plain

こんな感じです。

Botlintから返される校正は、その発言を行った人しか返されないです。 したがって、色々な人がいるチャネルでも、このBOTを仕込ませておいて、文章のコーチングをしてくれる環境を実現できます。

どうなっているのか

Botlintは、Botkitをベースに、文章検出時にリアルタイムに下記とのやり取りを行っています。

普段仕事で、Reactを使うことが多いので、ES6とFlowtype、ESlintなどを導入。テストはまだないので、avaで書こうかなと思っているところです。コードもそれほど記述量がないので、技術的なことは直接コードを読んでいただくほうが早いと思います。

試し方

ここからは、実際にBotlintを試す方法についてです。今回は、Google App Engine で動作するように設計してあります。必要なことはそれほど多くありません。

  • ./app.yaml.sample を基に、Slackのトークンと、Textgears / Yahoo / Googleトークンを設置します。ちなみに、すべてのtokenを持ってくるのがめんどくさい方は、Slackのtokenさえ設定いただければ、Textlintによる校正だけを行ってくれます。tokenを取得する細かな方法は割愛しますが、 GOOGLE_TOKEN を取得した際の、プロジェクトには、 Google Translate APIAPIを有効化しておいてください。また、API Keyとして取得をして、記述してください。
  • Google Cloud Platform上に、適当なプロジェクトを作り、gcloud コマンドで操作できるようにしてください。そして、 google app deploy を実施してください。
  • Slackのtokenを取得する際に、BOTの名前を設定すると思います。そのBOTを任意のチャネルにジョインさせ、適当な日本語を書いてみてください。先程のスクリーンショットのように、校正してくれると思います。

採用経緯

今回、4つのサービス、アプリケーションで校正を支援してくれていますが、それぞれを採用した意図は下記の通りです。

  • Textlintは、最小限の準備でbotlintを扱えるように。
  • Yahoo!の校正支援APIは、Textlintでは校正できない、高度なサジェストを期待して導入。
  • Textgearsは、そうですね。英語の校正をしてほしいと思ったとき、APIでその結果を受け取れるサービスがここ以外見つけられなかった...という経緯もあります。 本当は、grammarlyとか使いたい...。
  • Google Translateは、僕だけかもしれないんですけど、英語で文章を書いたあと、それが正しい意味になっているかを確認するために、よくGoogle翻訳に掛けているのですが、それを自動でやってくれるようにした。

という具合です。

実際に使ってみたときの様子

f:id:bino98ty:20171216144602p:plain 英語の校正と翻訳をしてくれているときの様子。

f:id:bino98ty:20171216144303p:plain 実験しているときの様子1

f:id:bino98ty:20171216145216p:plain 実験しているときの様子2

自分の分報チャネルにbotlintを導入したら、皆様が使っていただきました。ありがとうございます。

所感

日本語の校正支援に関しては、日本語を操る日本人にとってはもう少し、高度な校正を期待しつつ、もしかしたら日本語を習う外国の人であれば有意義かもしれないなぁと思ってたりします。 英語に関しては、Google Translateと、TextGearによる掛け合わせは結構いい感じで、Gitのコミットコメントなどを書くときに重宝しますし、先日海外の方とAirbnbでやり取りをしてたのですが、その際もどんな文章を掛けばいいのかそのヒントになったりしました。 普通のGoogle TranslateやGrammaryなどの校正サービスを単体で利用するときとくらべて優位なのは、

  • Slackのパブリックチャネルなど見えるところで文章を書けば、人間校正もしてくれたりしないか、、、そんな甘い期待ができる
  • どんな文章を書いたか、ログが残る。英語ができるようになった実感も持てるのでは?
  • 「この英語正しいんだっけ?」という不安を、英語によるコミュニケーションを行うときに低減できる。すなわち、話の内容に集中できるかも

という感じですかね。 ぜひbotlintを導入して、良さそうだなと思ったら、Github star をつけていただけると嬉しいです。

長文観ていただいてありがとうございました。

HP ProLiant ML310e Gen8にCentOSをインストールして、動かす最速の方法。

大学の授業で、HPのProLiant ML320e Gen8にCentOSをインストールする機会があったので、メモ。

続きを読む