社会人4年目のエンジニアの自分にとって印象深い技術書10選
これまで読んだ技術書の中で印象深いものについてまとめてみる。
この記事を書こうとしたきっかけは、自分のこれまでの学習のまとめのためと、他のエンジニアの方の学習に少しでも参考になればと思ったため。
それでは1年目から振り返っていく。
1年目
プログラミング言語Java

- 作者: ケンアーノルド,デビッドホームズ,ジェームズゴスリン,Ken Arnold,David Holmes,James Gosling,柴田芳樹
- 出版社/メーカー: 東京電機大学出版局
- 発売日: 2014/05/10
- メディア: 単行本
- この商品を含むブログ (4件) を見る
Java研修の課題で読み、演習問題も全て解いた本。
この本の学習にはかなりの時間をかけたが、1つのプログラミング言語をしっかりと学ぶという意味で良い経験となった。
ここで学んだ知識が、他の言語を学ぶ上でのベースとなっているように感じる。
2年目
Effective Java

EFFECTIVE JAVA 第2版 (The Java Series)
- 作者: Joshua Bloch,柴田芳樹
- 出版社/メーカー: 丸善出版
- 発売日: 2014/03/11
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (9件) を見る
これもJava研修の課題で読んだ本。
Javaのベストプラクティスだけでなく、API設計についても多くのことを学ぶことができた。
Java言語で学ぶデザインパターン入門

- 作者: 結城浩
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2004/06/19
- メディア: 大型本
- 購入: 51人 クリック: 762回
- この商品を含むブログ (400件) を見る
オブジェクト指向や設計について学ぶために読んだ本。
今でもクラス設計をする際に読み返すことが多い。
Code Complete

Code Complete 第2版 上 完全なプログラミングを目指して
- 作者: スティーブマコネル
- 出版社/メーカー: 日経BP社
- 発売日: 2014/04/02
- メディア: Kindle版
- この商品を含むブログ (10件) を見る

Code Complete 第2版 下 完全なプログラミングを目指して
- 作者: スティーブマコネル
- 出版社/メーカー: 日経BP社
- 発売日: 2014/04/02
- メディア: Kindle版
- この商品を含むブログ (8件) を見る
各所でバイブルと呼ばれていたので興味を持った本。
良いコードの書き方だけでなく、ソフトウェア開発全体について多くの知見を得ることができた。
アプレンティスシップ・パターン

アプレンティスシップ・パターン ―徒弟制度に学ぶ熟練技術者の技と心得 (THEORY/IN/PRACTICE)
- 作者: Dave H. Hoover,Adewale Oshineye,柴田芳樹
- 出版社/メーカー: オライリージャパン
- 発売日: 2010/07/08
- メディア: 単行本(ソフトカバー)
- 購入: 12人 クリック: 221回
- この商品を含むブログ (53件) を見る
Java研修の講師の方の関連で読んだ本。
ソフトウェアエンジニアとしてどのように成長していくかについて大きく刺激を受けた。
3年目
Ruby On Railsチュートリアル
Railsの生産性の高さや、Web業界での使用率の高さに惹かれて勉強してみようと思った本。
RailsでのWebアプリの作り方に加えて、Webアプリ開発で必要な多くの技術についても学ぶことができた。
珠玉のプログラミング

珠玉のプログラミング 本質を見抜いたアルゴリズムとデータ構造
- 作者: ジョン・ベントリー,小林健一郎
- 出版社/メーカー: 丸善出版
- 発売日: 2014/02/28
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
大学時代の友人と輪講を行った本。
アルゴリズムとデータ構造について学べたことに加え、広く知られたアルゴリズムだけにとらわれない、柔軟な手法についても学ぶことができた。
Linuxカーネル2.6解読室

- 作者: 高橋浩和,小田逸郎,山幡為佐久
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2006/11/18
- メディア: 単行本
- 購入: 14人 クリック: 197回
- この商品を含むブログ (119件) を見る
Linuxの仕組みを知ることで、日々の開発やトラブルシューティングに役立てることができると思って読んだ本。
OSの仕組みについて細かく書かれており、かなり理解が深まった。
Team Geek

Team Geek ―Googleのギークたちはいかにしてチームを作るのか
- 作者: Brian W. Fitzpatrick,Ben Collins-Sussman,及川卓也,角征典
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/07/20
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (20件) を見る
HRT(謙虚、尊敬、信頼)の大切さを学んだ。
当時の自分は少し傲慢なところがあったが、改心するきっかけとなった。
4年目
Scala関数型デザイン&プログラミング

Scala関数型デザイン&プログラミング ―Scalazコントリビューターによる関数型徹底ガイド (impress top gear)
- 作者: Paul Chiusano,Rúnar Bjarnason,株式会社クイープ
- 出版社/メーカー: インプレス
- 発売日: 2015/03/20
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (7件) を見る
Scalaへの興味や関数型プログラミングの流行に乗って読んだ本。
難しい部分もあり全ては理解できなかったが、関数型プログラミングの主要な概念について学ぶことができた。
また、他のプログラミング言語を書くときにこの考え方を取り入れられるようになった。
まとめ
この3年半で50冊以上の技術書を読んできたが、本当に多くのことを学ぶ事ができ、仕事での開発や趣味の開発に役立てる事ができた。
今後も継続して学習を続けていくが、これからはアウトプットを出すことにももっと意識を向けていきたい。
YAPC::Asia 2015に参加しました
有給を取って、1日目と2日目に参加してきました。
YAPCへの参加は去年に続いて2回目です。
聞いたセッション
8/21 (Day 1)
8/22 (Day 2)
- Mackerel開発におけるScalaとGo、そしてPerl
- サーバーサイドエンジニア(特にPerl)のためのiOSアプリ開発入門
- Adventures in Refactoring
- YAPCあるある
- Lightning Talks
- クロージング
感想
どのセッションも良かったのですが、MatzのTBDとLTが特に印象に残りました。
TBDでは、Matzの考えるRubyの悪いところや、Rubyの今後、なぜStreemを作ろうと思ったかなどを話していて、非常に興味深かったです。
LTはどれもとにかく面白くて最高でしたw
また、今年は個人スポンサーで参加したので、Tシャツ、パーカー、タンブラーなどをもらえて嬉しかったです。 活用していきます!
最後に、関係者の皆様ありがとうございました。
非常に有意義な2日間を過ごすことができました。
神奈川Ruby会議01に参加しました
会社の先輩の誘いがあったので参加してみたのですが、非常に楽しい勉強会で参加して良かったです。 以下、特に印象に残ったセッションの感想です。
ペアプログラミング
まともにペアプロするのは初めてだったのですが、時間内に課題もクリアできたし、めちゃくちゃ楽しめました。
初対面の方と色々話しながらコーディングすることで、仲良くなることができたり、自分の知らない書き方などを知ることができたりと良い経験になりました。
こうゆう勉強会の初めにペアプロするのはかなりありだと思います。
Rubyと俺達の生存戦略
様々なバックグラウンドを持つRubyistの方々が少しエモめに話されていました。特に、Rubyのような文脈でSI・メーカー勤務の方が思いを話しているのは新鮮で、興味深く聞いていました。
ロールプレイングゲーム2 真打(仮)
ロールプレイングゲームは改めて読んだのですが、かなり響きました。「あなたのチームの理想のプログラマ」を演じる。難しいですが、もう少し頑張ってみます。
「プロの無職」の話もそうゆう役割の人って大事だなと思いました。
それと、自動朗読を使って発表するのを見たのは初めてで笑いましたw
最後に、運営の皆様ありがとうございました!
シンプルなアンケートアプリを作りました
諸用で使うために、sinatraを使ってアンケートを収集するWebアプリを作りました。
UIは下のような感じで、アンケートの設問は設定ファイルから動的に作成するようになっています。
アンケート結果はファイルに書き出しています。
ソースコードはgithubに置いてあります。
mura-s/questionnaire