みなさんこんばんは!宮水です。
今日から達人プログラマーを読み始めました。
本当は全部読んでからブログを書こうと思ったんですけど、1章からいいこと・忘れたくないことが目白押しだったので1章づつブログを書くことにしました。
- 作者:Andrew Hunt,David Thomas
- 出版社/メーカー: オーム社
- 発売日: 2016/10/20
- メディア: 単行本(ソフトカバー)
なぜ読もうと思ったのか?
新しい会社に入社して5ヶ月が経ちました。
ほとんどが新しい技術だったので技術の習得に手一杯で、ここ最近マインド面に関する本を読んでいませんでした。
久しぶりにもう少し大きな視点で「エンジニアとは?」というところから改めて自分を見つめ直したいと思ったのでこちらの本を選びました。
この本の対象者
より効率的、そして、より生産的なプログラマーになりたいと願う方々のためのもの。
この本の特徴
達人プログラマは面白い構成になっていて、どの章から読んでもいい内容になっています。
(「この章はこういうことが書いてあるんだな」と章ごとにまとめることが難しいです。)
1つ1つ小さなエピソードで完結していきます。
最後に「チャレンジ」と呼ばれる挑戦問題があります。
エピソードの意味がわからなくても、最終的にこの問いを考えることで本質を考えられるようになっていて面白いです。
第1章 達人の哲学
常にその問題をより大きな背景の中で捉え、常により大きな問題を見つけ出そうとする。
大きな背景を捉える事なしに、達人たり得る方法はないし、知的な解決、見解のある決定を行う方法もあり得ない。
この文章は、私の中で「最終的に使う人のこともよく頭に思い浮かべなさい」と言われているような気持ちになりました。
今自分はどんな業界にいて、どんなユーザーをターゲットに機能を実装しているのか、そんな大きな視点で考えないと、単に便利な検索機能を作ったところで本当にユーザーに便利なものかどうかわからないと思います。
最近の私は、「なぜその機能を実装するのか?」ユーザーの顔を思い浮かべながら実装することがなかったように思います。
というのも、コードが難しすぎて実装するだけでヘトヘトになってしまうからです(笑)
そんなのは言い訳にすぎないので、大きな背景を捉えながら仕事をしていくことを改めて心がけたいなと思いました。
===================================================
達人プログラマは自分自身の経歴を管理し、無知や誤りを認める事を恐れません。
このエピソードは「責任」がテーマでした。
どんな人でも誤りは絶対にあるので、それをどう”対処”するかが大切。
無知や誤りを素直に認めることはすなわち責任感があるということなのですね。
===================================================
割れた窓をそのままにしない。
割れた窓が一枚あるとどんどん街の治安が悪くなっていくという有名なエピソードです。
私はとても「エイっとやってバーン!」が得意ですが、それ故に雑であることが多いです。
使ってない変数名をそのままにしたり、specを書いてないのにPRを出してしまったり。いまだにしょっちゅうあります。
今は細かく見てくれる先輩がいるので大丈夫ですが、いつか自分が一番経験が長くなったときに、自分のメンドくさがりな部分が出てきて汚いコードを許容してしまわないように、自分の実装やレビューは注意深く行なっていきたいと思います。。。
===================================================
- 定期的に投資を行う。
- 技術の卵を全部1つのカゴの中に入れてはいけない
- 新しい技術の早いスタートを切るとその分野で頂点に立てる
金融のポートフォリオに例えていたのがとても面白くてわかりやすかったです。
定期的に何かを勉強する習慣は、ここ1年間くらいでようやく当たり前に続けられるようになってきました。
これはVP of Eとの1on1で聞いたことですが、人間の習慣として、小さい頃からの習慣は400回くらいやらないと矯正できないそうです。でも、逆に言えば400回やれば人って変われるんですね☺️ うーん、でも早起き400回は厳しい...がんばろ...
===================================================
毎年1つの言語を学習する
今年は関数型言語をちょっとだけやってみたいので、Scalaを始めたい...
===================================================
読書の習慣をつける
読書は後回しになりがちなかなか続けるのが難しいですが、ブログを書くのは好きなので、月に最低2冊は読みたい!!
===================================================
技術書以外の書籍を読む
技術書以外の書籍も本当に大切だと思いました。
コンピュータ は 人間 によって 使わ れる という こと を 常に 意識 し て ください( つまり、 あなた は 人間 の ニーズ を 満足 さ せよ う と し て いる の です)。 この 分野 に 横たわっ て いる 人間 サイド の こと を 忘れ てはなり ませ ん。
だから前職のすごいエンジニアさんは「肩をすくめるアトラス」を勧めたりしてくれてたんだなと...
人と仕事するんだから、人について学びたい!
===================================================
ローカルユーザーグループに参加する。
社外の人と仲良くするのは本当に大切ですね!!
自分が知らなかったことや、開発コラボの依頼を受けたりできるのはいろんなイベントに足を運んでいるからだと思います!!
===================================================
異なった環境に慣れ親しんでみる。
家のパソコンではLinux使ってみようかな...
===================================================
What 聞き手に何を知ってほしいのか
interest 言いたいことの中にある彼らの興味
sophisticate それらはどれくらい洗練されているか
detail 彼らはどの程度詳細を知りたがっているか
own 誰にその情報を知ってもらいたいのか
motivate 話を聞いてもらえるには、どうするのか
質問の仕方もそうですね...
入社当時下手って言われちゃったので、常に上手に質問する方法を探しています。
あと最近ドキュメントを書くのですが、いいものが書けなくて少し困っています。
上記のことを意識すると、少しまともになるのかななんて思ったりしました。
最後に
1章だけで学びがあまりにも多すぎました。
この感想を忘れずに仕事に取り組むぞ💪
- 作者:Andrew Hunt,David Thomas
- 出版社/メーカー: オーム社
- 発売日: 2016/10/20
- メディア: 単行本(ソフトカバー)