【読書感想ブログ】下町ロケット

書籍

下町ロケット (小学館文庫) | 池井戸潤 | 日本の小説・文芸 | Kindleストア | Amazon

いきなり苦難で畳みかけてくる

JAXAのエンジン研究員が佃が主人公で、初めは新型ロケットの発射実験を行うシーンから始まる。

ロケットが発射され、うまく軌道になるかと思われたが、あえなく失敗に終わる。

その責任から、佃はJAXAから去り、今は父親の町工場の佃製作所を継ぎ社長業に専念していた。

佃製作所は小型エンジンやその周辺部品を作る会社で、継いでから7年、業績も順調に伸び、順風満帆。。。

かと思われたが、大手取引先京浜マシナリーからの突然の契約終了宣言。売上の3割を失う事態になる。

その3割を銀行からの融資で補填しようとメインバンクに赴くが、渋い顔をされ追い返されてしまう。

そこに、追い打ちをかけるかのようにライバル会社のナカシマ工業からの特許訴訟が届く。

ナカシマ工業は特許訴訟に強く、技術に詳しい弁護士も多数取り揃えている。

佃の会社にも顧問弁護士はいるが、技術は門外漢の老弁護士。

第一回口頭弁論会でも相手の質問にしどろもどろ。目も当てられない結果となった。

裁判にもお金がかかるが、すでに売上の3割は失い、銀行にもそっぽを向かれている状態。

こんな状態ではいつ倒産するかわからない。どうなってしまうのか。。。

佃は妻とは離婚していて、家に帰ると娘が一人、テレビを見ている。声をかけてもろくに返事もしない。そういう関係。

悲しすぎる。。。

JAXAのエンジニアとして第一線を行っていたあの頃はどこへやら、不幸が不幸を呼びえらいことになっていた。

逆転裁判

そこに一本の電話が、元妻からであった。

元妻は佃の会社が訴訟を受けていることをニュースで知り、心配になって連絡をしてきたのだった。(なんだかんだで夫思いなのか?かわいいかよ・・・)

妻も佃と同じJAXAの研究員をしていた。妻は研究所に残り、佃は抜けた。その溝が埋まらず離婚という結果になった。

なので今も妻は研究所つながりで技術に強い弁護士を幾人か知っているらしい。その一人を佃は紹介してもらった。

その一人はナカシマ工業お抱えの弁護士事務所から喧嘩別れした弁護士らしく、相談に行くと二つ返事でOK。

なんだかんだあって、ナカシマ工業との裁判もその弁護士のおかげで勝つことができ、和解金56億円を手にすることとなる。

一難去ってまた一難

時間は少しさかのぼり、佃製作所がナカシマ工業と裁判で争っているときだった。

帝国重工の制作している新規開発ロケットのエンジン部分が佃製作所が保有している特許に抵触することが分かった。

社長の意向でキーデバイスとなる部分は自社製造することになっており、

特許使用料を払って自社で製造するか、

特許を買い取って自社で製造するか、

その二択だったが、佃製作所は裁判で資金がすぐにでも欲しいだろうと踏んで、特許を買い取ろうという流れになる。

しかし、佃は特許を手放してしまうことは避けたかったため、その要求を突き返す。

帝国重工側は打つ手がなくなりどうしたものかと考えていたところ、裁判の決着のニュースを知り

結局、特許使用の方向で依頼することになる。

しかし、ここもで佃は特許使用ではなく、佃製作所で部品を製造して納品させてくれないか?という提案をする。

社内でも大部分の社員が反対した。特許使用であれば、年間5億の売上があがるが、部品製造の場合、納品後に不良が見つかった時の

巨額賠償のリスクがある。場合によっては数百億円の賠償になる可能性すらあるのである。それを考えたとき

安全に儲けられる特許使用のほうがいいというのが、ほとんどの社員の意見だった。

「社長は会社を私物化している」「社長は我々社員のことなんでどうでもいいんだ」

そんな声がどこからともなく聞こえてくるありさまだった。

しかし、佃はその意思を曲げず、部品製造を帝国重工に提案するのであった。

帝国重工側でも意見が分かれたが、最終的には佃側の意見を受け入れ、バルブシステムを外注する形となる。

途中で、社員とも和解し、会社を上げて、バルブシステムを帝国重工に納入することとなった。

ロケット打ち上げ

佃製作所のバルブシステムを組み込んだ帝国重工が手掛けた新型ロケットが、幾多のテストを潜り抜け、発射当日。

佃製作所の社員一同 + 佃の家族が見守る中、ロケットのカウントダウンが開始。

3, 2, 1, リフトオフ!

ロケットは轟音とともに宇宙の彼方へと消えていく。

順調に第一エンジンの切り離し、第二エンジンへの点火を行うアナウンスが流れ

その後、ロケットは無事衛星軌道に乗ることができるアナウンスが佃の耳に届く。

佃製作所のバルブシステムを積んだロケットは無事成功したのであった。

感想

はじめの大口顧客からの契約終了 & 特許訴訟のダブルパンチ + 銀行の貸し渋り という

3重苦で、この後どうなるんだ感がすごかったです。私としてはこの話は特許問題の話を

解決させて終わりかなと思ったら、そこはまだ序の口で、その後、大企業相手に

中小企業の佃製作所が一歩も引かず、部品納入までして、なおかつちゃんとロケットも

飛ばして見せるという離れ業を繰り出して ジ・エンド。

この大団円を最高と言わずしてなんというのか。という気持ちでした。

下町ロケットはいくつかシリーズがあるようなので、他のシリーズも見てみようと思いました。

【読書感想ブログ】宇宙兄弟とFFS理論が教えてくれる あなたの知らないあなたの強み

参考書籍

宇宙兄弟とFFS理論が教えてくれる あなたの知らないあなたの強み【自己診断ID付き】 | 古野俊幸 |本 | 通販 | Amazon

FFS理論?

人によってストレスになる要因は異なります。つまり、環境や刺激に対するとらえ方は人それぞれということです。

その感じ方やとらえ方を5つの因子に分類して、自分を理解することができるのがFFS理論になります。

5つの因子

FFS理論で定義されている5つの因子は以下の通りです。

  • 凝縮性 → こだわりが強く、他人に流されることが少ない、頑固者
  • 受容性 → 優しくて面倒見がよい。経験豊富な場合は頼れる存在
  • 弁別性 → 合理的で計算的、ドライな性格
  • 拡散性 → 活発で行動力があるが、飽きっぽい
  • 保全性 → コツコツタイプ。慎重であるが故行動が遅い面も

自己診断

この書籍には簡易自己診断もついていて自分がどの因子が高いかを知ることができます。

この書籍では診断で点数化された因子の上位3つが自分の因子として考えるようです。

日本人に多い因子

上位1,2番目に受容性がくる人の割合が日本人は64%、その次に高い因子が保全性と拡散性です。

凝縮性

他人から見たポジティブな面

  • 決断力があってグイグイと推進している
  • 責任感があって、頼んだことも最後は自分で引き受けている

他人から見たネガティブな面

  • 独善的
  • 支配的
  • 排他的

ストレスと感じる物事

  • 頭ごなしに否定されること

受容性

他人から見たポジティブな面

  • 柔軟な対応力で成果につなげている
  • 面倒みよくかかわって、気配りしながら動いてる

他人から見たネガティブな面

  • 介入的
  • 自虐的
  • 逃避的

ストレスと感じる物事

  • 反応がないこと、役に立っていない時、存在がないがしろにされること

弁別性

他人から見たポジティブな面

  • 最短距離で無駄なく淡々と進めている
  • 判断は合理的で、結論を出すのが早い(情報がない時は、判断しない)

他人から見たネガティブな面

ストレスと感じる物事

  • 理不尽さ、割り切れない状態、感覚的な時

拡散性

他人から見たポジティブな面

  • 大胆な発想で変革を進めている
  • 誰もしないことを平気でやっている

他人から見たネガティブな面

  • 衝動的
  • 破壊的
  • 攻撃的

ストレスと感じる物事

  • 動けない状態、拘束されること、団体行動を強いられる時

保全

他人から見たポジティブな面

  • きちんと計画通りに進めて、精度は高い
  • みんなができることを、自分もできるようにしようとする

他人から見たネガティブな面

  • 追従的
  • 妥協的
  • 拒絶的

ストレスと感じる物事

  • 明確な指針がない時、先が見えない時、急な変更

ストレス

ストレスが適切にかかっているときは、反応・行動の良い面がでるが ストレスが少なすぎたり、多すぎたりすると、因子の悪い面が出てしまいます。

まとめ

自分がどの因子が強く、負荷はどの程度かかっているのかを見極め 適切に行動すれば、人間関係もうまくいくのではないでしょうか?

また、他人についても分析することで、どのように対応すれば ストレスをうまくコントロールして良好な関係が保てるのかも 見えてくるかもしれませんね。

【読書感想ブログ】読みたいことを、書けばいい。

はじめに

最近読書感想ブログを書くようになって思うことは「俺、文章力底辺やな」ってこと。

「こんなんじゃ、誰も俺のブログ読んでくれないのでは」という焦燥感を感じているときに

ふらっと本屋さんに立ち寄った時に、俺に囁きかけてくる本が一冊。

その本がこちら↓↓↓

Amazon.co.jp: 読みたいことを、書けばいい。 eBook : 田中 泰延: 本

著者の田中 泰延さんは元電通の社員で24年間コピーライター・CMプランナーとして活動されていました。

その膨大な年月に裏打ちされたテクニックが濃密に記述されている一冊。。。

と思いきや、

この本の表紙には「文章術」と明記してある。
しかし、書くためのテクニックを教えようというものではない。
そうではなく、書くための考え方を示す本である。

という書き出し。。。私が知りたかったのはテクニック。。。

私はそっと本を閉じ、この本をカップラーメンができ上がるまで蓋を抑える重し代わりに使うことにしました。。。

ということはなく、「考え方も重要だよな」という気持ちで読ませていただきました。

序章の最後は以下のように締めくくられていました。

この本は、そのような無益な文章術や空虚な目標に向かう生き方よりも、
書くことの本来の楽しさと、ちょっとのめんどくささを、あなたに
知ってもらいたいという気持ちで書かれた。

そして同時に、なによりわたし自信に向けて書かれるものである。
すべての文章は、自分のために書かれるものだからだ。

「すべての文章は、自分のために書かれるものだからだ。」

最後まで読んでみて思うのは、これがこの本の全てな気がします。

なにを書くのか

「文章術」とは何か、そもそも文章とは何でしょうか?

書物には「文書」と「文章」の2種類があります。

「文書」は報告書、論文、企画書といった「問題解決」や「目的達成」のためのものであり。基本的に面白味もないので、読みたいと思えるものではありません。

「文章」は書きたい人がいて、読みたい人いる(かもしれない)というもののことを指します。その中でも「随筆」という分野がネット上の9割を占めると言われています。

「随筆」とは「事象と心象が交わるところに生まれる文章」です。

事象とは見聞きしたことや知ったことで、世の中の全ての物事を指します。

心象はその事象に触れて、心が動かされ、この気持ちを誰かに伝えたいと思うことを指します。

事象を客観的にとらえて書かれた文章は「報道」寄りとなり、心象を強く押し出した文章は「創作」「フィクション」寄りとなります。

今あなたが書きたいと思っているものは何ですか?「文書」でしょうか?「文章」でしょうか?それとも「随筆」でしょうか?

「随筆」ならその中でも「事象」寄りでしょうか?「心象」寄りでしょうか?

自分が何を書きたいか、もっと言うと自分が何を読みたいか。それをはっきり意識しておくことは文章を書く上では重要なこととなります。

カマクラ・ミリタリー・ガバメント

「幕府」とは?というくだりがこの本の中にはあります。「今書いている文章の言葉一つ一つに対して、その言葉の意味をしっかりと定義しよう」という文脈の中で「幕府とは?」という問いかけがなされます。「鎌倉幕府」「室町幕府」「江戸幕府」各時代にそれぞれ出現するこれらのワードの正体は一体なんなのか?著者が英語辞書を開いてみると「ミリタリー・ガバメント」と記載されていたそうです。つまり「軍事政権」の意味で「幕府」が使われていたということでした。私はそれまで「幕府」は日本のトップ、政治を司る場所、くらいの意味かと思っていましたが、この言葉でずいぶん理解が深まった気がしました。これがワードをしっかり定義しようということの意味なのです。ざっくりとした解釈で言葉を使って文章を書いていると、やはりその文章もざっくりとした軽いものになりがちですが、定義をしっかりとしておくことで文章の重みが変わってくるのだと、この章で理解させられました。

だれに書くのか

読み手など想定して書かなくていい。その文章を最初に読むのは、間違いなく自分だ。
自分で読んで面白くなければ、書くこと自体が無駄になる。

では自分が読みたい文章とは何でしょうか?

「わたしが言いたいことを書いている人がいない、じゃぁ自分で書くしかない」

そうです。誰も自分が読みたいと思う文章を書いていないとき、読みたいのに読めない。じゃぁ書こうとなるのです。(ならない人もいるかもだけど)

だが、「いまさら書かなくてもいいことは書く必要がない」という事はある意味、ラクなことだ。
特段の新しいものの見方も疑問もなく、読み手でかまわないなら、読み手でいよう。
どこかで読んだ内容を苦労して文章にしてもだれも読まないし、自分も楽しくない。

書きたくないなら、書かなくてもいいよ。そういうメッセージが込められていますね。

でも、私は書きたい。何より未来の私のために。

どう書くのか

随筆とは、結局最後には心象を述べる著述形式だということは述べた。
しかしそのためには、事象を提示して興味を持ってもらわなければならない。
事象とは、つねに人間の外部にあるものであり、心象を語るためには
事象の強度が不可欠なのだ

以下、事象の強度の上げ方

ライターの仕事はまず「調べる」ことから始める。そして調べた9割を棄て
残った1割を書いた中の1割にやっと「筆者はこう思う」と書く
つまり、ライターの考えなど全体の1%以下でよいし、その1%以下を伝えるために
あとの99%以上が要る。「物書きは調べることが9割9分5厘6毛」なのである

むちゃんこ調べて、そのうち1割を要点としてまとめて、まとめの1%に心象を足す。

心象はカレーでいうところの福神漬けですね。

調べ方

著者は「ネットなどの二次資料ではなく、図書館などで一次資料を当たれ」と書いています。

ネットはまた聞きのまた聞きが跳梁跋扈している場所なので、ちゃんとしたソースをもとに話をしよう。ということのようです。

言葉とは、文字通り「葉」である。好きなことを好きに書いた葉を繁らせるためには、
「根」が生えていなければならない。それが一次資料である

しっかりした文章とは、しっかりしたソースをベースにしていて信頼感が違うということなんでしょうね。

調べることは、愛することだ。

自分の感動を探り、

根拠を明らかにし、

感動に根を張り、

枝をはやすために、調べる。
愛と敬意。これが文章の中心にあれば、
あなたが書くものには意味がある

愛と敬意だけが友達さ。

この章のまとめ

さて、この「どう書くのか」の章も最後である。
わたしがこの章で述べたことを要約すると、こうなる


事象に出会った時

そのことについてしっかり調べて

愛と敬意の心象を抱けたならば、

過程も含め、自分に向けて書けばいい。

書く形式は起承転結でいい

起:実際の経験だという前置き
承:具体的に何があったか
転:その意味はなにか。テーゼ化(※)
結:感想と提言。ちょっとだけ

(※) テーゼとは、コトバンクには「ある観念をまとめて表現・主張する文章。」とあります。起承に対するまとめのようなものを書くということかな?

テーゼとは - コトバンク

感想

何事もそうですけど、「愛と敬意」を持つことは重要ですよね。

若い時は何かと物事を否定してマウントを取ることをしていた身分としては耳の痛い話でした。

でも、自分の読みたいものを書けたらそれでいいんだよ。というのはなるほど感あります。

一年後、このブログを見返したときに、楽しく読めればいいな。と思いました。

感想が薄い (・ω・;)

【読書感想ブログ】心理的安全性のつくりかた

参考図書

心理的安全性のつくりかた 「心理的柔軟性」が困難を乗り越えるチームに変える | 石井遼介 | ビジネス・経済 | Kindleストア | Amazon

心理的安全性とは?

心理的安全性とは

チームに対して自分の意見や質問等を気兼ねなく言えて、それを言っても非難や罰を受けたりしない環境のこと

ハーバード大学のエイミー・C・エドモンドソン教授により提唱された概念で、Google の「効果的なチームはどのようなチームか?」という調査の中で『心理的安全性の高いチームが良い生産性を出していた』という結果を報告し、一躍有名になりました。

エドモンドソン教授は心理的安全性が高いかどうかの指標を出すために「心理的安全性を計測する7つの質問」を発表しています。しかし、日本でこの計測を行うと、米国との文化の違いにより質問の解釈にブレが生じ、うまく計測できないという事態になりました。

そこで、著者の所属している会社で、エドモンドソン教授の心理的安全性を踏襲しつつ、日本で心理的安全性を高めていくためにはどうすればいいかを研究し、最終的に、以下の4つの因子が重要であることを突き止めました。

日本版心理的安全性4つの因子

  • ①話しやすさ ・・・ 「何を言っても大丈夫」→ 率直に意見できるチーム
  • ②助け合い・・・「困ったときはお互い様の精神」→ 問題に対してチーム一丸となって対処できるチーム
  • ③挑戦・・・「とりあえずやってみよう!」→ 挑戦に失敗しても改善点を探し、繰り返し挑戦できるチーム
  • ④新奇歓迎・・・「異能、どんとこい!!」→ 個々人の個性が活かせているチーム

では、これらの因子を自分のチームで高めていくにはどのようにすればいいのでしょうか?この書籍では「行動分析」によってそれらを高めるアプローチを紹介しています。

行動分析

行動分析とは、『ある行動には「きっかけ」があり、行動の後には「みかえり」がある。「みかえり」によって、次の行動がきまる」』という理論から来ていて、行動を分析する場合にこの

「きっかけ」→「行動」→「みかえり」→「(次の)行動」

というフレームワークに当てはめることで、なぜその行動をとった(とる)のかを分析する手法のことです。

例えば、「ラーメン屋でご飯を食べる」という「行動」は、「お腹がすく」という「きっかけ」があり、ご飯を食べるという行動の後には「お腹が満たされる」や「おいしいと思う」などの見返りがあります。そうするとまた、お腹がすいたらまたこのラーメンを食べに来ようという気持ちが生まれ、同じ行動をとるようになります。

この行動分析を使って 先ほどの因子を分析してみましょう

「①話しやすさ」の行動分析

「①話しやすさ」を向上させる行動は主に「会話する」や「報告する」ことです。

例えば、部下から報告を受けたときに、その報告の質が悪かった場合、怒ったりしていませんか?

「君の報告はわからん、もっとわかりやすく説明してくれ」なんて言ってすぐに部下が対応できるのであれば、言われる前にしていますよね。なのでその指摘はあまりに意味がありません。

もっと言うと、怒ることで次から報告してくれなくなる可能性もあります。質も悪い上に報告もなくなってしまったのであれば本末転倒ですよね。

そういう場合は「報告する」という行動は維持しつつ、内容の質を上げていくことが重要です。

なので、まずは報告してくれたことに対してしっかり「報告してくれてありがとう」と伝えましょう。それが部下への「みかえり」となり次からも報告してくれるようになります。

その上で、報告内容について不十分な点があるのであれば、丁寧に相手に誠意をもって伝えていくことが重要です。

このように、話しやすさを向上させるためには「この人には話しかけても大丈夫なんだな」という気持ちを相手に抱かせるような対応が必要となります。

「②助け合い」の行動分析

「②助け合い」を向上させるための行動は「相談する」や「相談に乗る」等です。

基本部下は上司に対して話しかけることは気が引けますので、上司からシンプルに部下に対して「困っていることある?」等の声掛けをすることが重要です。

そして困っていることを吐露された場合、高圧的にならずに、同じ立場になって問題に取り組み解決しようとすることが重要です。

そうしないと「相談したけど、怒られた。今度からは相談しないようにしよう」と思われてしまいます。

このように、「②助け合い」を向上させるためには「相談するきっかけを作り」→「一緒に悩み」→「相談してよかったと相手に思ってもらう」ことが重要です。

「③挑戦」の行動分析

多くの組織では「挑戦する」ことは日常的なことではないので、挑戦する「きっかけ」を作るように心がけましょう。

おそらくこれは、ひとりできるものではなくチーム全体に理解を求めて、それこそ挑戦していくことになると思います。

ここでは挑戦するためのアイデアを一部紹介します。

例えば、グーグルでは、20%ルールというものを導入しています。「仕事に使う時間を分割して、少なくともその20%を、すぐに見返りを得られる見込みはなくても、将来大きなチャンスになるかもしれないプロジェクトの探索や取り組みに使う」というルールです。これはマネージャーレベルの人に進言しないと実現できないかもしれませんね。

また、「何か改善することはないか?」というふうに広く意見を募ると意見が出なかったりします。範囲を限定して意見を募ってみるのも一つです。「顧客の不平・不満、悩みや課題といった『顧客の負』を探し、それをなんとかできないかを考える」といったことを実践してみてもよいでしょう。

もう一つは「挑戦することを歓迎するよう進言する」ことです。例えば「これまでは正解があり、言われた仕事を淡々とこなしているだけでも問題がなかった時代ですが、これからは正解のない時代、挑戦無くして仕事はできません」といった話を交えながら、チームの同意を得れるように努力しましょう。

最後のアイデアは、何か手法だったりツールだったりを2週間ほど試してみて、取り入れたり、修正していったりを繰り返してみましょう。「試してよい」「自分たちに合わせて修正してよい」という雰囲気をつくるところから始めると、挑戦するハードルが下がり、よいサイクルが生まれるかもしれません。

書籍にも書いてありますが、こういうチーム全体の変革を必要とすることは難易度が上がります。ただ、難易度が高いからと言ってリーダー・マネージャーが変えてくれるまで待つのではなく、「自分が心理的安全性をこのチームに導入するんだ!」という強い気持ちをもって活動することが心理的安全性を向上する上で重要なファクターとなりますので、頑張ってください。

「④新奇歓迎」の行動分析

新奇歓迎とは個人の個性やその人らしさを大事にするということです。

とある研究結果でオペレーションセンターの新入社員を以下の3つのグループに分けました。

①個人のアイデンティティを重視する研修

②会社のアイデンティティを重視する研修

③例年通りの研修

それぞれのグループの顧客満足度を調査したところ。①のグループが33%も高いという結果がでたそうです。

研究結果のまとめには「ありのままの自分を認め、受け入れてくれる他者と関係を築くことで情報共有と協力しあう傾向が高まり、結果として生産性が上がる」と報告されていました。

では、自チームに新奇歓迎を起すためにはどうすればいいでしょうか?

それは「率直に個性を発揮することを促す」ことです。「このチームでぜひ自分自身の強みを発揮してほしい、チームメンバーの感情や仕事への敬意は忘れず、けれどもあなたらしく働いてほしい」といったことを伝えることが「きっかけ」となります。

うまくいかなくても「強味を発揮しようとしてくれてありがとう」と感謝を伝えることで「みかえり」となり行動の継続を促すことができます。

また、その人の個性を見抜き、その人の個性に合った仕事に最適に配置することをしてみてください。

心理的柔軟なリーダーシップ

また、この書籍には「心理的柔軟なリーダーシップ」という新たな考え方を提案されていました。

心理的柔軟なリーダーシップとはチームや個々人に合わせて臨機応変にリーダーシップの形を変えながら柔軟に舵取りをしていくリーダーシップのことです。

「今までがこうだったんだから、今もこうしなければならない」とか「この目標を達成するためにはこうするしかない」といった凝り固まった考えで進めるのではなく、チームを見て今できる最適解を探しつつゴールに向かうことができるリーダーシップのあり方を提案されています。

心理的柔軟なリーダーシップを行うには以下の3つの柔軟性が必要です。

①必要な困難に直面し変えられないものを受け入れる

②大切なことへ向かい変えられるものに取り組む

③マインドフルに見分ける

これらを少し詳細に見ていきましょう

①必要な困難に直面し変えられないものを受け入れる

「必要な困難」とは「否定的な思考や感情」のことです。

人は世界を色メガネで見ています。思い込みも多分に含まれているでしょう。ある人と意見が対立した時、「俺の意見が正しいのに」と相手を非難してしまいがちですが、相手を非難することは心理的安全性を下げる要因となってしまいます。心理的柔軟性において、考え自体が正しいかどうか、考え自体が真実かどうかは あまり重視しません。心理的柔軟性において重要なのは 今この状況で役に立つかどうか です。「役に立つ」とは「未来を予測でき、未来に(ポジティブな)影響を与えることができること」です。つまりは、

「チーム全体が納得のいく形でゴールに進められる」時が「役に立つ」ということです。

イヤなことがあった時、あなたはその感情をコントロールしようとするでしょう。メンバーを問い詰めたり、進捗を細かく報告するように求めたり、別のことを考えたりするかもしれません。これはイヤな気持ちを受け入れずにコントロールしていることになります。

イヤな気持ちをコントロールに集中してしまうと、それに労力をつかってしまい、本来のゴールにたどり着けない恐れがあります。

イヤな気持ちをコントロールすることは役に立たないばかりか、逆にコントロールすることこそが問題を作り出してしまいます。

「人生には苦痛があることがノーマル」だということを心底受け入れ、理解することが大事です

バグが出ても「このタイミングでよかった」「後工程で見つからなくてよかった」等 よい側面から見ること で、人にあたることなく問題に対処できるようになるでしょう。

②大切なことへ向かい変えられるものに取り組む

個人であれ組織であれ、行動を続けていくうえでビジョンの明確化は重要です。

我々は何のために今の仕事をやっているのか?どこに向かって進んでいるのか?進んだ先にある未来は?

そういうことをチーム内で共有しておかないと人はすぐに「やらされている」という気持ちを持ちます。

「やらされている」という仕事からはイノベーションは起こらず企業競争力は低下してしまいます。

そういう意味でも「チームが大切にしていること」と「私が大切にしていること」は明確にしておくべきです。

「私が大切にしていること」は仕事に限らず、心の底から大切だと思えることを自由に選択することが重要です。

また、大切なことは一つじゃなくてもよいです。

そして、大切なことが明確になった後は、大切なことに向かって着実に一歩一歩進むようにしましょう。

歩みを進めていくうちに困難が立ちはだかるときもあるでしょう。

その際に「失敗するんじゃないか」「恥をかくのではないか」とネガティブな考えが浮かんでくるかもしれません。

これは「柔軟性①」で扱った「困難な考え」そのものです。「困難な考え」はコントロールせずに受け入れ

着実に大切なことに向かって行動するようにしましょう。

③マインドフルに見分ける

マインドフルの意味をネットで調べてみると「〔人が周囲のことなどに〕気を配る、意識している」と出てきます。

この書籍でも「心理的安全性をチームに導入するためには、チームの反応を重視して柔軟に行動、やり方を変えていくことが重要」とあります。

要は、チームに気を配り、チームを意識して、決して独りよがりにならず、大切なことへ向かうことを行動を常に考えながら推し進めていくことが重要です。

そのためには、今この瞬間を「意識できているか」が重要です。今、この瞬間、我々は大切なことへ向かう行動ができているだろうか?

そういった気持ちを常に持っておきましょう。

過去、未来を疎かにしてよいという話ではありません。もちろん過去の失敗から学ぶことも重要ですし、ある程度未来を予測して行動しなければなりません。

とはいえ、過去・未来に縛られ大切なことへ向かう行動が疎かになってしまっては本末転倒です。

また、自分が今まで作り上げてきた自分像に縛られ、大切なことから離れるような行動をとることはやめましょう。

今の自分を客観視して、今の自分は大切なことに向かっていけているのだろうか?

ということを「意識」しましょう。

まとめ

この書籍に書いてあることって、すごく当たり前のことなんだなと思いました。

例えば、

  • 人とちゃんと話をしよう。

  • 人を卑下するようなことはせず、ポジティブな側面を観よう。

  • 挑戦している人を馬鹿にせず、応援しよう。

  • 多様性を受け入れ、協力していこう。

これってどれも当たり前のことなんですけど、仕事になると途端にできなくなってしまったりします。

私はQAチームのメンバーなので「開発はバグばかりだして、スケジュールも遅らせる。遅らせた分のしわ寄せは我々がとる羽目になる」

といった人をターゲットにした問題提起が頻発しているような気がします。

開発もチーム・組織の一員であり、開発チームもわざとそのように行動しているわけではないので、きっと「きっかけ」「みかえり」から

悪循環が生まれているのだろうなぁと思っています。

この書籍には、この「きっかけ」「みかえり」の行動変容のさせ方や、心理的安全性をチームに導入するためのアイデアについても

言及されているので、興味のある方はお手に取ってみてみることをお勧めします。

Rust で Ruby の拡張を書くことができるらしい

私は Windows 使いなので Windows を使って Rust で Ruby を拡張したい。 最近(といっても半年前)rubygem が Rustで書けるようになったらしいので書いていきたい。

Ruby をインストール

rubyinstaller.org

ここから +DevKit のインストーラーを使ってインストール

RubyInstaller2でMinGWも入れます。

MinGW版Rustをインストール

qiita.com

こちらを参考に MinGW版Rustをインストール

PATH / PKG_CONFIG_PATH / XDG_DATA_DIRS は DevKit内のMInGWのパスを指定します

pacman のインストールは clang のパッケージまでやりました。

pacman -Syuu
pacman -S mingw-w64-x86_64-toolchain base-devel msys2-devel
pacman -S mingw-w64-x86_64-clang mingw-w64-x86_64-llvm mingw-w64-x86_64-clang-tools-extra

Ruby拡張を書く

blog.katsyoshi.org

上記を参考に作成します。

gem は rb_sys と rake-compiler をインストールしておきましょう

gem install rb_sys
gem install rake-compiler

bundle gem の行は 写経すると動かないので bundle gem rust_uuid --mit --ext としましょう。

まとめ

Ruby は YJIT も Rust で書き直されていて、 Rust と Rust の親和性はどんどん高まっていますね。 Matz は コアはずっとC言語だろうと言われていますが、 エコシステム(特にC拡張部分) は Rust でどんどん置き換わっていくかもしれませんね。

トレイトオブジェクトを返す関数の作成

Boxでくくって、dyn キーワードをつけるのがミソ

trait Animal {
  fn cry(&self);
}

struct Dog {}

impl Animal for Dog {
  fn cry(&self) {
    println!("ワン");
  }
}

struct Cat {}

impl Animal for Cat {
  fn cry(&self) {
    println!("にゃん");
  }
}

fn new_animal(animal: &str) -> Box<dyn Animal> {
  if animal == "Dog" {
    Box::new(Dog{})
  } else {
    Box::new(Cat{})
  }
}

fn main() {
  let animal = new_animal("Dog");
  animal.cry();
}

関数からの戻り値のオーバーヘッドが気になったので調べてみた

モチベ

Rust では以下のようなコードはコンパイルでエラーになります。

fn func1() -> &'static String {
    &String::from("test")
}

fn main() {
    println!("{}", func1());
}

コンパイル結果

error[E0515]: cannot return reference to temporary value
 --> src\main.rs:2:5
  |
2 |     &String::from("test")
  |     ^--------------------
  |     ||
  |     |temporary value created here
  |     returns a reference to data owned by the current function

エラーの通り、関数内で作成した値の参照を返すことは基本的にできません。 なので、値を返したければ、値そのものを返すようにしないといけません。

fn func1() -> String {
    String::from("test")
}

fn main() {
    println!("{}", func1());
}

↓実行結果

test

ただ、値を返すとなるとコピーのオーバーヘッドが気になるところですよね。 ネットでも同じようなことを気にされている方がいらっしゃいました。

Function returning a String, does it copy the value? - help - The Rust Programming Language Forum

回答者の方は、「値返しの場合はCopyやcloneは発生せずMoveが発生するだけだから、そこまで気にするオーバーヘッドは発生しないから気にしなくていいよ」 という回答をされていますが、とはいえMoveが発生するということは新しくメモリを確保してそこに移動するってことなので、ある程度はパフォーマンスの低下が発生するのでは?と思ったのでした。

調査

簡単なタプルを作って、関数の戻り値のアドレスがどう変化するのかを見てみました。

#[derive(Debug)]
struct MyStruct(i32, Vec<i32>, i32);

fn dump(title: &str, x: &MyStruct) {
    println!("{}", title);
    println!("  x      : {:p}", &(x));
    println!("  x.0    : {:p}", &(x.0));
    println!("  x.1    : {:p}", &(x.1));
    println!("  x.1[0] : {:p}", &(x.1[0]));
    println!("  x.2    : {:p}", &(x.2));
    println!();
}

fn func1() -> MyStruct {
    let x = MyStruct(2, vec![1], 4);
    dump("in func1()", &x);
    x
}

fn main() {
    let mut x = MyStruct(1, vec![2], 3);

    dump("first x", &x);

    x = func1();

    dump("second x", &x);
}

結果↓↓↓

first x
  x      : 0x64f7bf278
  x.0    : 0x64f7bf498
  x.1    : 0x64f7bf480
  x.1[0] : 0x12a4c1591f0
  x.2    : 0x64f7bf49c

in func1()
  x      : 0x64f7bf218
  x.0    : 0x64f7bf4d0
  x.1    : 0x64f7bf4b8
  x.1[0] : 0x12a4c159210
  x.2    : 0x64f7bf4d4

second x
  x      : 0x64f7bf278
  x.0    : 0x64f7bf498
  x.1    : 0x64f7bf480
  x.1[0] : 0x12a4c159210
  x.2    : 0x64f7bf49c

結果から分かることは、

  • 関数から戻り値は別の場所にムーブされている
  • 構造体内のベクタ変数の実態はムーブされず、ベクタ変数への参照のみがムーブされている

推察

ここから察するに、『関数からの戻り値はシャローコピーのみが発生している』ということですかね。 ディープコピーじゃないからパフォーマンス的にもそんなに気にすることじゃなくて メモリ的にも優しいよって話なのかもですね。