Upgrade to Pro — share decks privately, control downloads, hide ads and more …

エンジニアリングエッセイのススメ

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for nakaryo nakaryo
January 19, 2024

 エンジニアリングエッセイのススメ

Avatar for nakaryo

nakaryo

January 19, 2024
Tweet

More Decks by nakaryo

Other Decks in Technology

Transcript

  1. エンジニアリングエッセイを読むと... 
 • 具体的な技術プラクティスやノウハウが手に入るわけではない 
 一方で...
 • エンジニアとしてのマインドセット 
 •

    プロの思考プロセス 
 • 開発現場でのあるある 
 • 人間臭さ
 なんかが窺い知れたりして、自分の「働き方」に影響を与えてくれるかも...? 

  2. • ソフトウェアの基本的要素に含まれる固有の性質
 ◦ 複雑性
 ▪ どの二つの部分をとっても似通うことがないので、大きさの割に他のどの人工物よりも 複雑
 ▪ 夥しい数の要素と状態、組み合わせがある
 ◦

    同調性
 ▪ インターフェースを人間の社会制度やシステムへの適合を強要される
 ▪ 周りのものに従わされる運命にある
 ◦ 可変性
 ▪ 大当たりしたソフトウェアは大抵全て変更される
 ◦ 不可視性
 ▪ 目に見えないもので、具現化しようとすると一つの有向グラフでは無理
 
 人月の神話 第16章 銀の弾丸などない

  3. • 作る側の品質理論は自尊心と強く結びついている
 ◦ プログラマを満足させる最低の基準は、今までに達成した最高の基準である
 ◦ この水準はマーケットが望み、金を払って手に入れようとするものよりずっと高い
 • ユーザーは品質ほど大事なものはないと言うが、それにお金を払う段になると品質について本当 はどう考えているかが明らかになる
 ◦

    「あと三週間あれば品質を高くできる」と聞いても、「いや三週間は待てない」という人がほ とんど
 • 早くリリースしろとせっつき、低品質の製品を受け入れてきたことを考えると、ユーザーの品質意 識はかなり低いことは明白である
 ピープルウェア 第4章 品質第一、時間さえ許せば

  4. • 上司であるあなたは組織の目標を心から受け入れているが、部下も同じとは限らない
 ◦ あなたの目標への情熱は単なるプロ意識を超えたところから生じている可能性 がある
 ◦ 自分の上司や経営者によって強固な動機付けをさせるための巧妙な仕掛けが 作られているかもしれない
 • しかし、平社員の動機付けはもっと複雑


    ◦ 宗教団体のような信仰でもなければ、組織の目標に対する自然な親しみを持つ ことを当てにできない
 ◦ 重役会が利益の大幅な増加で盛り上がっていても、平社員には増益などほん のつまらないものでしかない
 ピープルウェア 第21章 全体は部分の和より大なり

  5. • 守りのマネジメント
 • 官僚主義
 • 作業場所の分散
 • 時間の分断
 • 製品の品質削減


    • ハッタリの納期
 • チーム解体の方針
 ピープルウェア 第23章 チーム殺し、7つの秘訣

  6. • ベンチャーは他のベンチャーと同じことをやっていてはいけない
 • 私たちは Lisp を選んだ。一つには、このマーケットで素早く開発することが重要だというのが 明らかだったからだ
 ◦ Lisp はソフトウェアを素早く書くのに良い言語だ


    ◦ 他の会社が Lisp を使いたがらなければ、それは良いことだった
 • Lisp のおかげで私たちの開発サイクルは非常に速く、相手がプレスリリースを出した1日2日 後にはもう同様の機能を作ったこともしばしばある
 ハッカーと画家 第12章 普通のやつらの上を行け
 

  7. • 一番の下手くそでいよう
 ◦ 自分より優れた人たちがいるチームで働く
 • GitHub に専念するためにマイクロソフトの30万ドルの仕事を断った
 ◦ 振り返って「確かにあれは安全だった」と思うより「あれは冒険だった」と思える方がい い


    • 愛せよ、さもなくば捨てよ
 ◦ 向上するには、情熱が必要
 ◦ やっている仕事に情熱を持てるかどうかがパフォーマンスに影響する
 情熱プログラマー 第1章 市場を選ぶ