Books

5月からiOSエンジニアになったのですが、メモというか備忘録というか、自分がエンジニアとしてどのようなことに取り組んでいたのか記録を残そうと思いました。

今までは個人的な趣味でアプリ開発をしていたのですが、仕事として、エンジニアとして開発をしていくためには知識がものすごく足りないと感じていました。で、やっぱりそうでした。足りない知識だらけです。

自分でいろいろと考えてみたり、実際に仕事をしていて発生した細かな問題への対策でもあるので実践的なものでもあるので誰かの役に立てばいいなと思います。

読んだ本

エンジニアになって取り組んだことは読書です。特にプラットフォームに依存しない部分の知識の補完をしたいな〜と思いながら本を読んでいます。。

コードスキル

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
Dustin Boswell Trevor Foucher
オライリージャパン
売り上げランキング: 1,160

実際、職場のエンジニアの方も絶賛されていてチームのメンバー全員が読むことになりました。たびたび手に取って読もうと思います。これからプログラムを始める方にもぜひとも読んでほしい一冊です

Objective-Cプログラマとして転職したとたんにSwiftが発表されて「言語にとらわれてる場合じゃない」と思いプログラミング言語に共通の知識を身につけたくて購入。ちょくちょく読み進めているところです。

表紙に書かれている「なぜ言語設計者は、この文法を作ったのか」の”なぜ”の部分が書かれています。読み物としていいです。

チーム開発スキル

チーム開発実践入門 ~共同作業を円滑に行うツール・メソッド (WEB+DB PRESS plus)
池田 尚史 藤倉 和明 井上 史彰
技術評論社
売り上げランキング: 2,052

個人でやっていたのでチームで開発を進めるということがどういうことなのかさっぱり分かりませんでした。個人でやっていたので一人で書くことが当たり前でしたし。仕事ではなかったのでタスクの管理や、効率の良い開発環境の仕組みなどについては特に意識したことがありませんでした。

Git、チケット管理、CI。「聞いたことはあるけどやったことはありません」ということばかりでした。幸い、いまの職場はこの本に書かれているようなフローでの開発なので読んでおいてよかったと思います。

こういうワークフローとか会社独自の決まり事もバカにできませんよね。そういう部分の負担をいかに減らして自分が本来すべきことに時間をそそぐか、ということが大事なのではないかと思います。

チーム開発のフローにも慣れてきたので、もう一度ざっくりと読み直してみようかと思っています。

開発効率をUPする Git逆引き入門
松下 雅和 船ヶ山 慶 平木 聡 土橋 林太郎 三上 丈晴
シーアンドアール研究所
売り上げランキング: 38,907

Gitをさくっと仕事で使えるようにしたいと思い、本屋でいろいろ比べた結果これを選びました。ほかにもいろいろとあったのですが、個人的にはこれが一番自分に合っているなと思って選びました。

基本的な使い方は覚えたのですが、ちょっとした応用はまだつまずくので職場において逆引きしています。

趣味でやっていた頃は、このようなすさまじく便利なものがあるなどとは知らず、フォルダを丸ごとコピーしてバックアップをとっていました(!)。趣味でやっている人もぜひともGitの導入を。

WEB+DB PRESS Vol.78
WEB+DB PRESS Vol.78

posted with amazlet at 14.07.12
WEB+DB PRESS編集部 編 栗林 健太郎 安詮院 康広 山口 良平 尾上 忠輔 大川 高志 坂本 寛樹 青木 峰郎 増井 雄一郎 中島 聡 江島 健太郎 中島 拓 柴田 博志 伊藤 直也 登尾 徳誠 片桐 崇 後藤 秀宣 佐藤 鉄平 近藤 宇智朗 長野 雅広 奥野 幹也 渡邊 恵太 A-Listers 家永 英治 はまちや2 川添 貴生 原田 勝信 和島 史典 城倉 和孝 安達 俊雄 Akira 川嶋 賢一
技術評論社
売り上げランキング: 20,811

こちらはスクラムという開発手法について理解したくて読みました。スクラムについても他にもいろいろと本があります。

WEB関係

WEB+DB PRESS Vol.80
WEB+DB PRESS Vol.80

posted with amazlet at 14.07.12
鶴長 鎮一 宮下 剛輔 縣 俊貴 中村 知成 西尾 泰和 新井 俊一 南川 毅文 伊藤 直也 石垣 憲一 浅木 朗 渡邊 恵太 中島 聡 はまちや2 竹原 川添 貴生 河合 宜文
技術評論社
売り上げランキング: 35,276

“新人さん大歓迎!”の文字に惹かれて購入。Web技術入門やエンジニアの学び方なんて特集があり、ちょうど学びたいことが網羅されていました。

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)
山本 陽平
技術評論社
売り上げランキング: 3,987

Webに関する知識とかほとんどない状態なので急いで読みました。仕事でAPIをいじる必要があるので急ピッチで勉強しています。

前述したWEB+DB PRESS Vol.80のWeb技術入門もこの本がベースになっています。Atomについて結構なページ数を割いていますが、Atomのことをまわりのエンジニアに聞いても「ん?」って感じだったので飛ばしました。2010年の本なので当時流行りかけて廃れたんだろうなくらいに思っています(作者の山本さんが「AtomPub→流行らなかった」と言っています)

iOS関係

UIKit徹底解説 iOSユーザーインターフェイスの開発
インプレス (2014-06-18)
売り上げランキング: 5,996

現時点でUIKitについては、この本が最強だと思います。日本語でここまで詳しく書かれた本はないです。それこそ「現場で役立つ」とか帯に書いても何も恥ずかしくないレベル。この本をちゃんと読んでいればハマることも激減するのではないかと思います。

先取り!Swift
先取り!Swift

posted with amazlet at 14.07.12
技術評論社 (2014-06-19)
売り上げランキング: 217

WWDC2014での発表から2週間で発売された最速Swift本。Appleの公式ドキュメントと平行して読み進めていますが、どう考えても業務レベルで使うにはしばらくかかるのでざっくりとこちらを読んでおけば良いのではないかと思います。?な部分はだいたい押さえていると思います。

まとめ

iOSやObjective-Cに関してはあまり時間を割いていません。というのは、現時点でそこそこの知識があることに加えて、日本語で検索するよりもStack OverflowとかヘッダファイルとかAPI Referenceを参照するようになったということもあり本に頼ることが少なくなりました。特に意識しなくとも業務で自然と身に付いてくるものと考えています。

どちらかというとiOS以外、Web関係の知識や設計などが自分に足りない部分なので、そちらに重点を置くようにしています。

学ぶべきことは本当に腐る程あるのでしっかりと自分の弱点を意識して気をつけて取り組んでいこうと思います。