Skip to content

Instantly share code, notes, and snippets.

@yue82
Last active September 24, 2017 07:09
Show Gist options
  • Save yue82/1e6402ce9e6b1b84c077923e80589c74 to your computer and use it in GitHub Desktop.
Save yue82/1e6402ce9e6b1b84c077923e80589c74 to your computer and use it in GitHub Desktop.
エンジニア研修 t_wadaさん講演 2017.05.17 memo

エンジニアとしてこの先生きのこるためには

t_wada == 和田卓人さん

自己紹介

  • プログラマが知るべき97のこと
    短めのエッセイが並んでいるので読みやすい,おすすめ
    きのこ本

  • SQLアンチパターン

  • gihyo.jp テスト駆動開発講座
    ニコニコ動画で20回全部見られる

  • power-assert

キャリア

  • 大学から設計とプログラミング
  • 大きなプロジェクトでリードプログラマ
  • XPのコーチとして4人のアジャイルチームへ
  • 講演, 執筆, OSSなど
  • 流しのペアプロ業

学び続ける姿勢

t_wadaさんのおすすめエッセイ in きのこ本
"常にあなたの知識ポートフォリオに投資すること" (達人プログラマー)

技術の学び方 を学ぶ

四半期ごとに技術書を読む(達人プログラマー)

最初の1冊は定番どころからで良い(定番)
本同士の時系列,関係性,立ち位置を考えて読む
例えば: 過去方向にたどる(ある本の参照書籍を読むなど)

  • 読むモチベーションのため

  • 本が書かれた背景を知りながら読む必要がある(時代遅れの記述があったりする)

  • 脳の記憶

    • 感覚記憶(0.5-2.0s)
    • 短期記憶(15-30s)
    • 長期記憶(不明): 容量はあるが検索効率などはよくない,ので
      脳内インデックスをつくる
      • 反復練習
      • 連想記憶をつくる
        マイルストーンになるような本から始める
  • 最近のマイルストーン本は?(質疑)

    • 今は技術書冬の時代
    • 技術書よりも企業の事例が技術を引っ張る時代

手を動かして学ぶ

やりはじめると,できる&好きになる のループができる
とりあえずやりはじめることが大事

  • デールの円錐
    2週間後に人はどのくらい覚えているのか

    • 読んだこと: 10%
    • 見て聞いたこと: 50%
    • 発話したこと: 70%
    • 発話して実行したこと: 90%
  • アウトプットをするのが大事

    • 読書会
    • ブログを書く
    • 喋る
    • 教える
    • 写経

毎年少なくとも1つの言語を学習する(達人プログラマー)

  • Technology Radar
    年に1, 2回,今の技術の紹介をしている.
    技術の定着段階でマッピングされている.

    • ADOPT
    • TRIAL
    • ASSESS
    • HOLD
  • 英語の読み書き
    到達できる情報量が圧倒的に変わる

身の回りをプログラミング対象にする

言語を年に1つ学んでいくと,どんどん仕事では使わない言語になっていく.
使わない言語は学んでも身が入らず,インプットのみになりがち.

仕事ではない部分で,仕事では使えない技術を使って,自分の周りをハックしていく.

アウトプットを行う

  • アウトプットをするとインプットがやってくる.

  • 量は質に転化する
    量によって質が磨かれる.

    • 実験: 陶芸を2グループ(質のみで評価, 量のみで評価)で
      質の高い作品は量グループから出てきた.
  • アウトプットのチャネル

    • Twitter
      フロー型なので注意
    • blog, Qiita,..
    • 雑誌記事
      • 短距離走
      • プロの目が入ってよい
    • 書籍
      • 長距離走
      • 単著と共著は別の難しさ
    • 講演
    • ライブコーディング
      技術者のアウトプットの究極
    • GitHub
  • 社内で技術的なアウトプットの場を持てるのはアドバンテージ

  • どうやってインプットを得るか(質疑)
    ちょっと間違ったことを言うと反応を得られる
    本人のHPの続く限り
    信頼貯金の切り崩しであることには注意
    劇薬なので社内で試すあたりから

  • "情報発信,blog,発表,公開などは数学の未解決問題の証明ではなく,料理のようなもの"
    (Jenkins のパパ 川口さん)

現役プログラマでいるために

毎日コードを書く

  • John Resig(jQuery作者)
    週末に自分のプロダクト開発 -> 失敗 -> Write Code Every Day

    ルール:

    • 毎日コードを書く
    • 意味のあるコードを書く
    • 深夜24時前に終わらせる
    • 書いたコードをgithubで全てOSSにすること

    なにが起こったか

    • 必要最小限のコードへの集中
      毎日書けるサイズでの設計
    • プログラミングの習慣化
      草を生やすのが目的ではない
    • 進んでいるという実感
    • 週末の過ごし方
    • (思考の)バックグラウンド処理
      常にバックグラウンドで考える -> アイデアが降ってくるようになった
    • コンテクストスイッチ
      スイッチの必要が必要なくなった
    • ワークライフバランス
    • 周りからの理解
    • どれだけコードを書いたか
  • 住む場所を工夫する
    始発駅の近くに住む(座れるように)
    インプットもアウトプットもできる
    自分ひとりの時間を意識的に,できればオフラインでつくる

  • 何をしていくか(質疑)

    • 守破離: 型から入っていくのも大事
    • 怠惰,傲慢,短気 にひっかかったところ
    • 好きなところ

年下から学ぶ

"一生プログラマーでいれるかどうかは,言い換えれば年下から学べるか否か" (Dan Kogaiさん)

  • 過剰適合とタコツボ化
    できる&好きになるループに囚われすぎるとよくない.
    視点は広く持つ.

  • ベンチマークとアンラーニング

    • 定期的に自分のスキルを棚卸しする
    • 積極的に外部に出て,自分のスキルを相対化する
    • 使う道具を定期的に変える(少なくとも試す)
      新しい考えや改良がなされているはず
    • 未知のコミュニティに参加する
    • 若者から学ぶ
    • 若者と同じ土俵で競う
  • 技術は「振り子」
    でも本当は 技術は「らせん」

  • ベテランのアドバンテージ
    差分で見ることができる
    前回なぜうまくいかなかったのか
    今回何に気を付けなければいけないのか

  • T字型ではなく,複数の柱を
    柱がへし折られる瞬間はやってくる
    振り子(らせん)の周期はものによって違うので,別の視点・別の寿命を持った分野に手を出していくとよい
    枯れた柱も,キラキラした柱も両方

  • 組織の時代から個人の時代へ
    個が多く集まると何かが起こる

    • ロードマップ指向からエコシステム指向へ
      (essaさんの記事)
      "普通の人は'ロードマップ'の中では真ん中を進むべきで,'エコシステム'の中では真ん中を避けるべきだ"
  • 技術的な要素だけでは勝敗,優劣は決まらない

    • エコシステム
    • 進化的な強さ

    などを含めた総体で見る必要がある
    嗅覚を研ぎすませていく

誇りあるプロになりましょう

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment