水面下の夢

競プロやイラストに興味があります.メインブログがここ.同人サークル「かのらぶ」のページはこっち( https://yumechi0525.amebaownd.com ).ブログアイコンはYaQ(@8_9_00)さんから.

Clean Coder プロフェッショナルプログラマへの道を読みました

※このエントリは今年読んだ技術書
今年読んだ技術書 Advent Calendar 2015 - Adventar
の21日目のエントリです.


今年読んだ技術書についての記事です.
よく考えると今年は,技術的には
PythonRubyC++をかけるようになったりならなかったりした.
Javaの闇に飲まれる
といったことを経験しているのですが,実のところWEB上の記事で満足してしまう場合が多く(というより,書籍で探しても見つからないようなコアな技術 or あまりにその言語圏では常識的すぎてWEBで調べればすぐ出てきてしまう),書籍を読みきったものがほとんどないのでした.


なので,Adventar calendar締め切り駆動ということで,一冊読んでみました.



読んだのはこの本です.

Clean Coder プロフェッショナルプログラマへの道

Clean Coder プロフェッショナルプログラマへの道

この本の翻訳本ですね.

The Clean Coder: A Code of Conduct for Professional Programmers (Robert C. Martin Series)

The Clean Coder: A Code of Conduct for Professional Programmers (Robert C. Martin Series)


読んだ感想(三行)

プロのエンジニアになるっていうのは,こういうことかっ…!


圧倒的に知識… 知識が足りないっ…!


様々なツールの紹介やプロとしての勉強方法についても非常に参考になりました

もう少し詳しく


読んだほうがいいかどうかといえば,確実に読んだほうがいいと思いました(少なくとも学生の身分の私からしたら)


ちなみにこの本,まるでコードを書くための本かと思いきや,コード断片はほぼ出てきません(そもそも出てきたかな?)


じゃあ,何が書いてあるかというと,プロフェッショナルなエンジニアとして働き,成長し,成功していくためにはどうしたらいいか,ということ.いや,エンジニアでなくても,共通して言えることはたくさんあるかもしれません(私はSEになる予定なので,わかりませんが… 誰かプログラム組んでいない人以外に読んでもらいたい,理解するのすごく大変な気がするけど…)


著者の方はパンチカード(この時点でびっくりなのですが)を使ってプログラミングしていた時代から,現代までの開発についての経験を豊富に持っており,それ故に多種多様な見方を知っている方だと思いました.


洋書特有の私の経験はうんぬん,というパートが少し多いのですが,それも読んでいて面白かったです.ポインタがバグっていてとか,並列処理のバグでどうこうとか,あああああ経験あるなあああああとか思ってしまいました(というか,現代のハイスペックマシンがガンガン稼働している時代で本当に良かった,パンチカードでどうこうとか想像もしたくないですね…とても興味深いですけど.)




本書の中で心に残っているフレーズを幾つかピックアップしてみます.ちなみに私がメモを取ったものを元に書いている(私の解釈に基づく)ため,原文とはニュアンスが異なっているかもしれません.すみません.(そもそも私が原文載せてしまったら本を読む意義が99割減ですからね?)

  • Q.プロとは? A.責任を取れる仕事をする.設計,実装,テスト,運用はもちろん,チームでの仕事も引き継がれるようにする.
  • 自分のキャリアの責任は自分自身にある.週168時間は有意義に使うこと.特に仕事40時間に加え,自主的な勉強の時間を週20時間は必ず取ること.(日本では難しいかもしれませんが,超一流になるには必要かも><).睡眠56時間をとっても,まだ時間はあるはず.その時間を趣味や,他の人のために当てよう.
  • 疲労時や注意散漫なときにはコードを書かない(午前三時のコード問題)
  • 自分のペースを保つ,仕事を切り上げるタイミングを管理する(帰るタイミング,車で帰る,シャワーを浴びる)
  • テスト駆動開発(TDD)を活用しよう.
  • 様々なツールについて知ろう


といったところでしょうか.
ちなみに私のノートの1/10くらいしか書いてないんですけどねこれ.(重要な事はこれ以外にもたくさんある)



私は学生なので,プロジェクト単位での仕事経験がほぼないので,知らないことだらけで目から鱗がボロボロ落ちていました.とても面白い.


という知識上の仕入れもありましたが,どちらかと言えば,精神的なモチベーションが大きく上がったような気がします.
多くの経験,知識を持っている人の話と言うのは興味深く,得るものが多いように感じます(ただ生きているだけではないので).


それと最後に非常にぐさっと来たこと.



Computer Scienceの学生はクソ,自分でコードを書け,書かない奴はSEになるな




というわけで,理論だけではなく,コードをいっぱい書きましょう.もちろん授業時間外でね!



2016年はもう少し技術書を読みたいなあと思う一方で,そもそも他の大学生よりはある程度本を読んでいるので,もうどういう本を読めばいいのかわからなくなってきました;;


中級者向け以上のプログラミングの本とか,フレームワークに関する本とかもう少し読んでみようかな.


あとは数学?とか….(アルゴリズムの最適化のために使えるかもしれないし)


それと興味あるのは関数型言語プログラミングですね,これは絶対に読まなきゃ.


読んでいただきありがとうございました.







ちなみに明日はC++初心者向け記事を書く予定なのですが,C++初心者向けの記事がどう考えても私よりも初心者じゃないので,辛さを感じている上に,何を書こうか全くネタを考えていない状況です… 辛い…w