radioc@?

レディオキャットハテナ

【読書メモ】40歳からの本を書く技術

ビジネスマンのための40歳からの本を書く技術

ビジネスマンのための40歳からの本を書く技術

アウトプットの精度を高めたいという動機で本を書くレベルの技術とは何か興味を持って読みました。特に本を書こうと思っているわけではなく書籍の出版に関する部分は軽く読んだ程度なのでここでは触れません。

インプットの重要性

本を書くというアウトプットがテーマですが、テーマの選び方や着眼点、情報収集のしかたなど、半分ほどはインプット系のことが書いてあります。アウトプットするためには、まずはしっかりインプットしましょうということです。他のアウトプット系の書籍でもまずインプットについて書いてあることが多いので、当然のことと言えるかもしれません。

読んで情報収集するための4つの留意点

  1. 問題意識を明確にする
  2. 情報の「メタ化」を行う
  3. 定量のインプットによって蓄積する
  4. 速読は必要ない

興味を持ったことを何でもかんでもインプットしてもアウトプットの精度は上がらないので、どういう問題意識でインプットするかを明確にし、読者に付加価値を与えられるようにインプットに磨きをかけていきます(メタ化)。

定量のインプットについては「プラトー」が紹介されています。学習を続けていくと一定の段階で成長が止まり成果が出なくなる期間があります。そこで頭打ちというわけではなく、さらに学習を続けることで再び成果が現れるようになります。これを「プラトー=学習高原」と呼ぶそうです。プラトーを超えた段階の知識こそが価値が高く、読者に付加価値を与えられるインプットになりうるということだと思います。

diamond.jp

速読については否定しているわけではなく、無理にやる必要はないということです。

そこで受けた刺激について自分自身で考えるということが最も大切です

速く読むにしろ、ゆっくり読むにしろ自分の中で理解を深めることができれば良いということです。

ショーペンハウアーの「読書について」の中でも次のように述べています。

本を読んでも、自分の血となり肉となることができるのは、反芻し、じっくり考えたことだけだ

分かりやすい文章を書く

アウトプットの質にとって一番はやはり文章のわかりやすさであると思いました。本を書くということで、まずメールなどの特定の相手に向けて書く文章との違いを意識することが重要だと述べられています。

あなたとあなたが文章を書こうとする相手との間に、その文章の話題やテーマについての情報共有の程度に差がある

そもそも不特定多数を相手に文章を書くので、読み手によっては知識のレベルに大きな差があります。そのため、注意すべきことは「わかりやすい文章」を書くことに尽きると述べられています。

分かりやすい文章を書く4つの秘訣

  1. 文の長さをできるだけ短くする
  2. 曖昧さをなくす
  3. 接続詞を大切にする
  4. 数量化する

著者の目安では文の長さは40〜100字の範囲内だと述べられています。

一文が長くなればなるほど、その文の中に入ってくる主要な内容と、それを修飾する文が増えてくるため、加速度的に文意が不明確になっていきます。

長くなればその文が主とする内容が曖昧になってしまうということです。ただ、短文ばかりではなくある程度の長さの文章も織り交ぜてリズム感を出すほうが読みやすく、読者を楽しませる手法として勧められています。

40〜100字の範囲内で、短い文章と長い文章を「ほどよく混ぜる」

曖昧さについては形容詞と副詞、読点の使い方にスポットが当てられています。「ここではきものを脱いでください」のような様々なところで引用される古典的な例もあるので説明不要だと思います。

blogs.itmedia.co.jp

本書では次のように2段階で文章を整えていくことが勧められています。

  1. 修飾語と被修飾語を近づけるという作業を先に行って文章を作った上で、
  2. 適切な場所に読点を入れる

接続詞については「文章における方向指示器であり、接着剤の役割を果たしています」としつつも、使いすぎると稚拙な表現になりリズム感を損なう懸念から、最初は文章の論理性を重視して接続詞を除外せずに入れていき、書籍化されるまでの校正の中で削っていくのが著者のやり方のようです。

数量化については前出の形容詞と副詞の使い方の発展型と言えるかもしれません。修飾語を使うのではなく具体的な数字で表現することで曖昧さを省きます。

「非常に」とか「高い」などというった副詞や形容詞ではなく、その代わりに、客観的な具体的数字を使うことによって、文章の曖昧さを除くことができます

つまり、読み手によってイメージが変わるような曖昧な表現を徹底的に排除していくことが、著者の考える書籍化レベルの分かりやすい文章を書くためのアプローチであると言えます。

文章力を養う4つの心がけ

上記のようなアプローチによって分かりやすい文章を書けるようなスキルを得るために心がけることとして次の4つをあげています。

  1. 多読する
  2. ひいき筋の著者をもっておく
  3. よいと思う文章をまねて書く
  4. とにかく書く

結局のところ、インプットとアウトプットを繰り返し地道に回数をこなしていくということであると言えます。

【勉強会メモ】6社の開発現場ツール大公開Night

sansan.connpass.com

関西に拠点を置く6社による合同勉強会です。諸事情あって最近はなかなか勉強会に参加する時間が作れていませんでしたが、今週はこれのために週明けから調整してなんとか参加してきました。少し遅刻しましたが…

ツールというテーマのもと、開発現場の苦労や工夫が垣間見えて参考になる内容でした。弊社も7社目以降に加われるように頑張らねばと思いました。

ウェブアクセラレータ(さくらのCDNサービス)のアクセスデータ収集の裏側

@nozomi_1773 さん / さくらインターネット株式会社

speakerdeck.com

ウェブアクセラレータ(CDNサービス)

  • CDNが活躍:突発的なアクセス像が予想されるとき

コントロールパネル

  • リアルタイム更新

アクセスデータをどのように集めているか

  • キャッシュサーバのログをログサーバに収集
  • APIサーバからログサーバを参照

OSS

独自デーモン

  • logcollectd

ログ収集側

プロキシ(nginx) ↓多段キャッシュ 独自デーモン(logcollectd) graphite形式への連携形式にパース TCPで送信 ↓ go-carbonで処理

参照側

APIサーバ carbonapiにリクエスト carbonzipperへリクエスト(proxy) whisperファイルの読み出し

今後変更を検討中

タスク管理ツールをGitHub ProjectからAsanaに移行した話

hokkai7go さん / 株式会社はてな

SREチーム

  • 大きなチーム
  • インフラ構築、SREいないチームの運用など

SREチームの使っているツール

Asana移行の動機

  • 依存関係が多分にある一連の大きなタスクをうまいこと可視化して計画の確実性を高めたい
  • いくつか運用上の問題がでてきた

運用上の問題

  • taskの依存関係が見えにくい
  • 細分化したtaskの進捗状況が見えにくい
  • 看板が横に伸びて一覧性が悪い
  • taskとissue(後述)が混ざっていた

taskとissue

  • task:project管理上のアイテム。目的を達成するために大きなタスクから細分化されたもんお
  • issue:問題、課題...

project⇒taskという含合関係

  • SREチームにいくつかproject
  • スクラムチームの中にいくつかプロジェクト(スクラムinスクラム)

Asanaに移行

  • 依存関係を確認しやすい
  • いつごろ終わりそうかが確認しやすい
  • 各自が抱えているタスクを確認しやすい

心理的安全性を養うツール

経堂隆大さん / Sansan株式会社

異動・転勤に伴い潜在意識の変化

  • 心機一転
  • モチベーションUP
  • 言語チェンジ

潜在意識下

  • 緊張の連続
  • 人間関係の再構築
  • 慣れない環境
  • プレッシャー

心理的安全性

  • 質問しやすい、気兼ねなく発現できる、というような場の環境

ホワイトボードと付箋

プランニング

  • 手法
    • 新規ストーリー開始時に簡易な設計図をホワイトボードに書く
  • ポイント
    • 5〜10分で書く
    • 曖昧な部分に気づく
  • アナログのメリット
    • アウトプット・フィードバックのスピード
    • オフラインでの対話になれる

雑な絵でもいい

ラーニングセッション

  • 内容
    • 積極的に自分の学びを共有
    • 積極的に他人の学びを共有
  • テーマ
    • 1週間の学びを共有
    • 教えてほしいところ
  • 進め方
    • 自分の学び、教えてほしいことを書く
    • ホワイトボードに張り出す
    • 知りたいものに投票
    • 点数が集まったものに重きを置いて、順に発表

効果

  • 技術面
    • 属人性の排除
    • 同じ轍を踏まない
    • 更に詳しくなる
  • 心理的
    • 知らないの表明
    • 無知の受容、わからないへの共感

ふりかえり

  • KPT方式
    • 取り組みの最適化
    • 個人で抱えている問題・懸念をチームのものにする
    • 問題の解決に向けてTryにチームで取り組む
  • ポイント
    • 1人の感じた抱える問題は全体の問題として捉える
  • ホワイトボードと付箋で振り返るメリット
    • 振り返りに集中できる
    • 他人の意見に左右されずに振り返る

kintoneを丸裸にするモニタリング&ロギングツール

鈴木 亜耶 ( @szkayeah ) さん / サイボウズ株式会社

speakerdeck.com

モニタリング

2つの監視サービス

  • Datadog
  • New Relic

Datadog

  • 自社クラウド基盤
  • 割とヘビーに活用
  • 機材故障の検知にも有効
  • カスタムメトリクスで業務的な監視

New Relic

もっと自由に可視化したい

  • Elasticsearch+Kibana
    • 自社ツールでデータ加工してElasticsearchへ投入

kintoneのロギング

blog.cybozu.io

同じ方法で閲覧

  • ログ種類、日時、hostで絞り込み

2つのアクセス手段

  • CLI(HBase client)
    • 長期間のログが閲覧可能
  • GUI(Elasticsearch+Graylog)
    • 短期間だが複数hostを高速に閲覧可能
    • エラーコードが分かるときなど特定の検索
    • データの可視化

アクセスログの活用(非エンジニア)

  • Presto+Redash
    • SQLライクにログを検索
    • CLIでログを読めるエンジニアでも嬉しい
    • Prestoの便利関数が利用できる
  • 加工したデータの列を追加してより検索しやすく
    • 製品
      • kintone,garoonなど
    • ブラウザ
      • UAだと見にくい

A lot of Bots in Moneyforward

村上 勝俊 さん / 株式会社マネーフォワード

Toolの話

Editor

  1. Jetbrains系(RubyMineとか)
  2. VSCode
  3. Vim

Botの話

github-pr-message

  • いい感じにDescriptionを埋めてくれるBot

r2m2tag

  • r2mというタイトルのPRがマージ

mentions

  • メンションをSlackにリレー
  • esagithub上でメンションされたときに各サイトのSlackにDMが届く

tanomu

  • 明示的なレビュアーアサインをしない場合にランダムにレビュアーを決められるようにする

unfurller

  • privateなesaのページのumfurring(OGPっぽいやつ)を挿入してくれる

Unipos Suggest

  • 週に1回Slackのリアクションやメンションを可視化

ファンタスティックエボリューション

  • 個室トイレが空いているかどうかチェック
  • Throneが導入されてお蔵入り

ダイレクトプラス開発裏話

原田 康生 さん / クックビズ株式会社

プロダクト開発ツールとしてのフレームワークCakePHP

高速開発のための解決策

  • 仕様策定からリリースまで3ヶ月
  • 既存のコードをフル活用
  • Cookbiz Packagist
  • CRUDアプリケーションツール

基本の動作はプラグインを活用

ビジネスロジックを振る舞いとして作り込む

設定とロジックの分離

  • 仕様変更には設定変更で対応する

【読書メモ】レガシーコードからの脱却

レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス

レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス

色々と噂を聞いて興味を持ったので、積ん読待ち行列を追い越して読みました。タイトルからご察しの通り、例えば次のような、「いまだにウォーターフォールで開発していて、10年前に流行った某フレームワークを使っていて、当然テストコードも無いです。このままでは良くないので変えたいんですが、何から変えていけば良いでしょうか?」的な課題に立ち向かう勇気をもらえる本だと思います。

レガシーコードから脱却する

一言で言ってしまうと「レガシーコードから脱却する」ということは、「テスト駆動開発できる状態を目指す」ことであると私は読み取りました。

レガシーコードから脱却するためのテスト駆動開発

テストファーストに徹することで、テストコードを仕様書として扱えるようになり、変更に柔軟なコードへリファクタリングできるようにしていくと、設計が最後に完成します。これらは常にCLEANなコードを意識し、これを維持することで実現できると筆者は述べています。9つのプラクティスのうち後半の半分がCLEANコードによるテスト駆動開発の話です。

CLEANコードとは

  • Cohesive(凝集性)
  • Loosely Coupled 疎結合
  • Encapsulated(カプセル化
  • Assertive(断定的)
  • Nonredundant(非冗長)

オープン・クローズドの原則

CLEANなコードを維持して前述のような開発が実現できれば、いよいよレガシーコードをリファクタリングし脱却に向けて動き出すことができるようになります。レガシーコードのリファクタリングはオープン・クローズドに行うべきだと述べています。オープン・クローズドの原則とは以下の意味です。

拡張に対して開かれているが変更に対して閉じられている

※参考

レガシーコードから脱却するためのアジャイル開発

レガシーコードに囲まれた状態で、いきなりCLEANコードを意識してテスト駆動開発しましょうと言っても実現は難しいと思われます。そのベースを作るのがアジャイル開発です。9つのプラクティスの前半の半分がアジャイル開発の話です。

アジャイルの実践

本書は2部構成になっており、9つのプラクティスの解説に入る前の第1部ではソフトウェア開発の業界が抱える課題や、そこからアジャイル開発が生まれた経緯、筆者が重要と考えることをアジャイル開発から出発して9つのプラクティスとしてまとめた経緯について、丁寧に述べられています。

  • 小さな単位でビルドすることの目的は可能な限り早くタスクを完成させることであり仕掛り中の作業を制限することである。
  • アジャイルはいかにスコープを箱に収めるかだ。作業対象の範囲をいかに限定するかだ。
  • ここで重要なのは、スコープや仕事の単位の観点で小さくしようと努めることであり、時間の単位ではない。

継続的インテグレーション

開発プロセスアジャイルに変えることは、体制を変えてイベントを導入するだけではないということは今さら説明不要だと思います。

いつ統合するかは、アジャイルスクラムの実施有無や、イテレーションスタンドアップミーティングなどとはほとんど関係ない。もし、2週間のイテレーションで開発していて、各チームがコードを自分たちのブランチに統合し、年末にすべてのブランチを統合しているんら、悪いニュースがある。あなたはウォーターフォール開発をしてしまっている!

人もコードもプロダクトも、小さな単位のイテレーティブな開発を手に入れることが、テスト駆動で開発をするための土台であるということだと思います。

9つのプラクティス

レガシーコードからの脱却のためにテスト駆動開発を取り入れる。テスト駆動開発を取り入れるために、まずアジャイル開発を取り入れる。その流れに沿って必要なことを分解し整理したのが9つのプラクティスです(あくまで私の理解ですが)。

  1. やり方より先に目的、理由、誰のためかを伝える
  2. 小さなバッチで作る
  3. 継続的に統合する
  4. 協力しあう
  5. 「CLEAN」コードを作る
  6. まずテストを書く
  7. テストでふるまいを明示する
  8. 設計は最後に行う
  9. レガシーコードをリファクタリングする

書籍の冒頭の「はじめに」で筆者は次のように述べている。

成功するチームと失敗するチームの差は、プラクティスがなぜ重要なのかを理解していたかどうかだ

テスト駆動開発でのテストコードの作り方やアジャイル開発でのユーザーストーリの作り方などの具体的なやり方なども解説されていますが、大事なのは具体的な手法をなぞることではなく、プラクティスの本質を理解することにあります。一度読んで満足するものではなく何かあった時に読み直し、書かれている概念的な要素を反芻して腹落ちさせることで理解を深めていく書籍であると思いました。手元に置いて繰り返し読むことにします。

参考

翻訳した吉羽さんのスライドです。読後に改めて読むとまた理解が深まります。

slide.meguro.ryuzee.com

【読書メモ】勉強法の科学

教育学の本ですが、学習のメカニズムを知って自身の学習や他者の育成に役立てることも可能かもしれないという期待のもとパラパラと読んでみた本です。

学習と記憶

記憶のしかたには短期記憶と長期記憶の2種類があります。

  • 短期記憶
    • 忘れやすい
    • 覚えられる量が限られている
  • 長期記憶
    • 長く覚えられる
    • 覚えられる量もほぼ無限

短期記憶の内容を反復的になぞったり思い出したりすることを リハーサル と言い、このリハーサルによって短期記憶から長期記憶に転送されます。つまり、リハーサルによっていかにうまく短期記憶を長期記憶に転送できるかが学習のポイントとなります。

長期記憶するための手法として3つの学び方が紹介されています。

チャンク化

  • 同時に覚えられるのは7±2項目ぐらいまで
  • 大きなまとまりを作って覚える

例)

  • 2進数を10進数にする
  • D・O・Gという3文字をDOGという単語で覚える

有意味化

上記の例であれば「犬」と意味づけして覚えます。以下の順に処理水準が深くなり記憶が残りやすくなります。

  • 形態的処理
  • 音韻的処理
  • 意味的処理

※参考

記憶のメカニズム III

構造化

数字の羅列をフィボナッチ数列などの構造を把握して理解するということです。

※参考

ja.wikipedia.org

学習動機の2要因モデル

モチベーション理論で2要因モデルというと ハーズバーグの2要因理論 が有名ですが、ここでは内容の重要性と功利性の2つの要因で分類しています。

f:id:radiocat:20191028224734p:plain
学習動機の2要因モデル

筆者のモデルによると学習の動機は「学習内容の重要性」と「学習の功利性」の2軸でそれぞれ別々に動機づけされ、学習内容が重要な場合は内発的に、功利性がある場合は外発的に動機づけられるという理論です。モチベーション理論では一般的に外発的動機づけの上位に内発的動機づけが位置づけられるように思われがちですが、この理論ではそれぞれ別の要因によって動機づけられます。例えば、明らかに会社にとって利益につながるような技術を習得するときには「自分の成長のために頑張ろう」と動機づけするよりは「出世や高い報酬につながる」と動機づけしたほうが効果があるという考え方です。実際に起こりうる状況はそんなに単純ではないと思いますが、要因を分類して動機づけのアプローチを選択するのは面白い考え方だと思いました。

※参考

ameblo.jp

【読書メモ】the four GAFA 四騎士が創り変えた世界

the four GAFA 四騎士が創り変えた世界

the four GAFA 四騎士が創り変えた世界

2018年のベストセラーで、GAFAという言葉を世に広めた書籍です。GAFAとはGoogleAppleFacebookAmazonの頭文字を並べた米国の巨大企業の総称です。
著者は起業家、投資家としても活動する大学教授で、自身が関わった事業や経営がGAFAによって失敗に追いやられた経験を持っており、それだけにGAFAに対する分析、評価には説得力があります(やや個人的な恨みも込められていると感じますが)。 本書は400ページを超える大作となっており、GAFAそれぞれの企業についての解説と、共通する成功の背景の分析に約300ページが割かれています。そして後半約100ページで、GAFAの次となる企業や今後の世界の展望について考察しています。
個人的にはGAFA以後について考察する後半が面白いと感じたので、前半のGAFAの解説のキーワードを拾いつつ後半の考察をまとめておきます。

覇権の8遺伝子

GAFAに共通する8つの要素をまとめています。

  1. 商品の差別化
  2. ビジョンへの投資
  3. 世界展開
  4. 好感度
  5. 垂直統合
  6. AI
  7. キャリアの箔づけ
  8. 地の利

8つの独立した要素というよりはそれぞれ関連したものであり、特に商品の差別化はそれ以外の7つの要素によって他社が真似できない差別化に繋がっていると思います。AIはその技術というよりそれを支えるデータが最強の武器であると述べられています。また、キャリアの箔づけとはトップクラスの人材を集める力のことです。GAFAのいずれかに所属することでエリートの仲間入りができるという状態を作ることで超優秀な人材を集め続けることができます。地の利は優秀な人材を排出する大学など、人材集めに適した都市を抑えていることです。

個人が成功するために必要な内面的要素

GAFA「以後」の世界は、勝者総取りの経済の影響もあって超優秀な人間にとっては最高だが平凡な人間にとっては最悪であると著者は述べています。そんな世界で個人が成功するためには次のような内面的要素が重要であると説明しています。20項目以上ありましたがそのうち10項目をピックアップしておきます。

心理的成熟

デジタル時代の労働者は数多くの関係者に対し、1日の間にさまざまな役割をこなさなければならないことが多い。そのような状況では、成熟した人間のほうが有利だ。

近年取り上げられているEQの重要性が説明されています。

ja.wikipedia.org

好奇心

昨日うまくいっていたことが今日には時代遅れとなり、明日には忘れられる。まだ聞いたこともない新しい道具やテクノロジーに取って代わられるのだ。

また、単に好奇心を持つだけでなく、試してみたりアイデアを出せる行動力も重要であるとしています。

当事者意識

チームの誰よりも細部にこだわり、何をいつ、どのように終わらせる必要があるか検討する

人と同じように与えられたことだけをこなしていても成功しないということだと思います。前出の心理的成熟や好奇心を支える思考とも言えます。

大学に行く

人生において大学とはぜいたくな場所である。そこでは熱意あふれる聡明な若者たちや優れた頭脳を持つ学者たちに囲まれ、世界が与えてくれるチャンスについてじっくり考えることができる。

米国と日本では多少状況が違うとは思いますが、人生の中でも様々な人や世界に触れる機会と考える時間が得られる場であることは共通していると言えます。 また、大学以外の選択肢として「資格・証明」も挙げられています。

もし大学があなたの好みではないならば、平均時給1ドル30セントで働く世界中の70億人とは違っていることを証明するものを見つける必要がある

一昔前ほど言われなくなりましたが資格はいまだに個人の価値を表すものとして効果があり、今後もそれは変わらないでしょう。

何かをなしとげた経験

そもそも競争に参加していなければ、勝者にはなれない。勝つためにはまずフィールドに出て、リスクを背負い(顔を殴られるかもしれない)、ときには失敗の屈辱に耐えなければならない。それでこそ何かをなしとげられる。競争には勇敢さと、行動する意思が必要だ。

競争社会である以上は何かをなしとげようと挑戦したことがあるかどうかは大きな違いがあります。

都市に出よ

富、情報、権力、そしてチャンスは都市に集中している。イノベーションは多くのアイデアが集まるところで起こり、進歩は人間の直接の交わりから生じる。

ネットの普及によって分散すると思われていましたが、現状はむしろ都市に集中しています。都市であればどこでも良いということではなく、GAFAが地の利を抑えているように、自分の成功に必要なものが集まる場所にアクセスできる状態を作ることが大事ということだと思います。

自分のキャリアをよく見せる

よい仕事をしても、それを宣伝して自分のものだと主張しないと、正当な報酬は得られない

そもそも特定の個人の成果を知る機会は多くないので、自分を宣伝するメディアを見つけておくべきと述べています。大統領ですらSNSで発信する時代ですし、ほとんどの著名人が何らかの発信手段を持っています。

株と計画

現金の報酬は生活水準を上げることはできるが、生活水準が上がるとそれ相応の生活をするためにお金が必要になるので財産は増えない。そのため報酬の一部を株で得られるようにすべきと述べています。

豊かな生活への計画には、収入以下の生活、そして収入を生む資産形成が必要である。豊かさとはいくら稼ぐかよりも、きちんと計画を立てることなのだ。

株が大事ということではなく、豊かさを得るために計画的に生活をするということです。

会社とは「連続的単婚」を心がける

離婚するのはかまわないが結婚している間は誠実に

転職は否定しないが、1つの所属先で集中して成果を出してから次のステップに進むということです。

頑強さ

体を健康に保つことができれば、うつになる可能性も低く、思考が明確になり、よく眠れ、未来の伴侶の選択肢も多くなる

心身ともに健康であれということです。ほとんどの経営者は定期的に運動をしているとも書かれています。


書籍について書かれている以下のサイトの記事も参考になります。

toyokeizai.net