「情熱プログラマー」 感想
ソフトウェア開発者として、精神的・技術的に成長するための本。著者は、元々プロのサックス奏者で、そのときの経験をソフトウェア開発者としてのキャリアにも応用しているので、どの仕事にも役立つエッセンスがあると思う。
また、やってみたいと思ったことがいくつも見つかった。その一部を備忘録として書いておく。
やろうと思ったこと
・ブログを書く
アウトプットは勉強にも役立つと知り、2021年の3月からブログを開設していたが、体裁を気にしすぎて、公開まで至っていなかった。
本書では、「業界で名前を売る」ために、ブログを書くことを推奨している。個人的には、この理由には共感できなかったが、書くための方法についての考えが役立った。
- 書きたいことをリスト化して、すぐ見えるところに置いておく
- テーマは20~30分間で書けることにする
・万能選手になる
他のプログラミング言語やOSを学ぶことは、それをやる人自体が滅多にいないので、価値あることである。
また、一つのやり方しか知らなかったら、例え効率的でなくても、全て同じ言語で解決しようとしてしまう。俗にいう「ハンマーしか持っていなかったら、全てが釘に見える」状態である。
静的型付けのコンパイラ言語であるC#が好きで学んでいたが、他の言語やプラットフォームも学ぶようにしたい。
- OS(Linux、macOS)
- インタプリタ言語(Python、JavaScript、PHP)
- 関数型言語(Haskel)
- Web開発(HTML5、CSS、Vue.js、React.js、Larabel)
- Webサーバー(Apache、Nginx、IIS)
- クラウド(AWS、Azule、GCP)
- DB(postgreSQL、mySQL)
- 数学(アルゴリズム、統計)
・スペシャリストになる
一つの言語のスペシャリストになるのも重要である。
ほかに何も知らないことがスペシャリストだって勘違いしてるんじゃないか
スペシャリストはどんな専門的なことを聞かれても、答えられるような存在であると感じた。
個人的に好きな言語であるC#のスペシャリストとなるために、その仕組み(ソースコードがどのような中間言語にコンパイルされ、どのように実行されるのか)まで知っておくことで、初めてスペシャリストを名乗れる。
・学ぶプロセスに注目する
最後に一番印象に残った部分。
君のキャリアにとって、本当に重要なのは昇進でも昇給でもない。重要なのは、昇進でも昇給でもない。重要なのは、そういう成果を得るために努力した時間だ。もっと重要なのは、そういう成果とは関係ないところで努力した時間だ。
以下、雑記。
始めは30分~1時間ほどで書こうとしていたが、この程度の文章で作成するのに、2時間かかった。次からは対策を行いたい。
・書く内容を読んでいる時から意識する。
・書く内容を絞る。
・時間内に一回で書けない場合は、後から追記する形とする。