文系新卒プログラマの君がスーツの代わりに買うべき20冊
こんにちは@hazumuです。
このブログでプログラミング関係の記事を書いたり、アプリを作ったりしているのですが実は文学部を卒業してたりします。
ちなみに今は社会人6年目の終わりで、これまではJavaScriptでインタラクティブな社内ツールを作ったり、ソシャゲのUIを作ったり、ゲーム作ったりしてきて、現在は会社でSwiftを使いiOSアプリを書いたり、Ruby(Rails)とJavaScriptを書きつつなれないインフラ構築をしながらWebサービスの開発を行ったりしています。
日本では、大学で学んだことと就職した先の仕事が結びつかないことがよくあるので、この春から晴れてプログラマになる文系の学生さんって結構多いのではないでしょうか?
僕は学生の頃にアルバイト先のベンチャー企業で、わからないなりにHTML、CSS、PHPを書かせてもらっていました。しかし、当時はプログラミングや情報工学の知識はスッカスカでよくわからないが何故か動いている、もしくはよくわからないから動かない状態でした。
そのため社会人になってから、どうにか知識を入れようと焦って色々な書籍を買い読み漁ってきました。
今回はその中で「これは読んでよかった」と思える本をブログにまとめてみました。
ずっと文系だったけどこの春からプログラマになる方々の参考になれば幸いです!
もくじ
- 何はともあれコンピュータの基礎から
- プログラミングに入門してみよう
- 面白くなってきたら
- 得意な一言語を磨こう
- データベースについて知ろう
- ネットワークについて知ろう
- 資格試験にチャレンジ
- 数学!数学!数学!
- ユーザーインターフェースの世界へ
- コードが書けるようになったら
- まとめ
何はともあれコンピュータの基礎から
コンピュータはなぜ動くのか?知っておきたいハードウエア&ソフトウエアの基礎知識?
- 作者: 矢沢久雄,日経ソフトウエア
- 出版社/メーカー: 日経BP社
- 発売日: 2003/06/02
- メディア: 単行本
- 購入: 43人 クリック: 514回
- この商品を含むブログ (61件) を見る
今更だけど辺に諸言語の本から入らずにこの本から入ったらよかったと思います。
まずはコンピューターの歴史と仕組みと用語を知ってスタート地点に立ちたかった。
あなたはコンピュータを理解していますか? 10年後、20年後まで必ず役立つ根っこの部分がきっちりわかる! (サイエンス・アイ新書)
- 作者: 梅津信幸
- 出版社/メーカー: ソフトバンク クリエイティブ
- 発売日: 2007/03/16
- メディア: 新書
- 購入: 25人 クリック: 315回
- この商品を含むブログ (50件) を見る
上の本より分厚さはありませんが「情報ってなんぞ?」ってところから学ぶことができる。古典だけど、だからこそ安くなってるので一読した方がいい。
プログラミングに入門してみよう
- 作者: 谷尻かおり,谷尻豊寿
- 出版社/メーカー: 技術評論社
- 発売日: 2008/12/12
- メディア: 単行本(ソフトカバー)
- 購入: 12人 クリック: 376回
- この商品を含むブログ (8件) を見る
後半ではプログラミングに必要な数学にも触れられており、初学には持って来いでした。
プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識
- 作者: 矢沢久雄
- 出版社/メーカー: 日経ソフトウエア
- 発売日: 2007/04
- メディア: 単行本(ソフトカバー)
- 購入: 45人 クリック: 646回
- この商品を含むブログ (72件) を見る
- 作者: 平山尚
- 出版社/メーカー: 秀和システム
- 発売日: 2008/11/14
- メディア: 単行本
- 購入: 112人 クリック: 3,473回
- この商品を含むブログ (193件) を見る
cocos2d-xではじめるスマートフォンゲーム開発 [cocos2d-x Ver.3対応] for iOS/Android
- 作者: 三木康暉
- 出版社/メーカー: 技術評論社
- 発売日: 2014/12/27
- メディア: 大型本
- この商品を含むブログ (1件) を見る
PHPやRubyなどのLL+Webフレームワークから始めると不明な部分が多いまま成果物が出来上がりがちです。
前述の本と合わせて簡単なゲームを作ってみるとアルゴリズムやオブジェクト指向のいい勉強になります。あと、作るのが面白いですしね。
面白くなってきたら
すこしプログラミングが板についてきて面白くなってきたら。
オブジェクト指向のこころ (SOFTWARE PATTERNS SERIES)
- 作者: アラン・シャロウェイ,ジェームズ・R・トロット,村上雅章
- 出版社/メーカー: 丸善出版
- 発売日: 2014/03/11
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る
クラスの継承よりも[集約]
プログラミングの基礎 (Computer Science Library)
- 作者: 浅井健一
- 出版社/メーカー: サイエンス社
- 発売日: 2007/03
- メディア: 単行本
- 購入: 17人 クリック: 409回
- この商品を含むブログ (126件) を見る
こんな書き方できるんだって思わせてくれるOCamlの本。読んだ後にコーディングスタイルが変わって同僚にいい意味か悪い意味かは言わないけど変化を察されること間違いなし。
得意な一言語を磨こう
一言語得意な言語があると、リファレンスを読まずとも業務効率化のための簡単ツールが作れたりしてお得です。
- 作者: David Flanagan,村上列
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/08/10
- メディア: 大型本
- 購入: 12人 クリック: 252回
- この商品を含むブログ (18件) を見る
新卒1年目の春からJavaScriptを書くことがほぼ決まっていたので、大学最後の春休みに勉強しておこうと思い買った本。
オライリー本はある程度プログラミングの前提知識がいるので、前述の本を数冊読んでおくと理解が深まります。
僕の場合だとJavaScriptだっただけで、人によっては違う一言語を言語仕様レベルから深掘りしていくのが良い気がします。
データベースについて知ろう
職域上、業務でデータベースを触ることはほんとどないけどプライベートで開発する際や会社以外で開発を手伝う際に読んでてよかったとなってる本。
改訂新版 反復学習ソフト付き SQL書き方ドリル (WEB+DB PRESS plusシリーズ)
- 作者: 羽生章洋,和田省二
- 出版社/メーカー: 技術評論社
- 発売日: 2007/05/18
- メディア: 大型本
- 購入: 24人 クリック: 355回
- この商品を含むブログ (56件) を見る
問題と回答のドリル形式でSQLを学べます。
SQLには結構自信があったのですが結合や集計関数でものすごいつまづきました。。
- 作者: Baron Schwartz,Peter Zaitsev,Vadim Tkachenko,菊池研自,株式会社クイープ
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/11/25
- メディア: 大型本
- この商品を含むブログ (7件) を見る
自分たちで運営しているサービスのSQLが重すぎて頭を悩ませていた時に血なまこになって読んだ本。
ネットワーク
ネットワークも業務でそんなに触ることはないけど理論がわかってると面白い。
例えばフロントエンドを書くとしてもTCPより上のレイヤはわかっておくと何かと捗ります。
ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識
- 作者: 戸根勤,日経NETWORK
- 出版社/メーカー: 日経BP社
- 発売日: 2007/04/12
- メディア: 単行本(ソフトカバー)
- 購入: 31人 クリック: 372回
- この商品を含むブログ (99件) を見る
ブラウザからWebページにアクセスしてブラウザに表示されるまでの長旅をOSI参照モデルのレイヤに分けて解説してくれます。
普段気にせず使ってるだけに詳しく知ることができて本当に面白い。
- 作者: 竹下隆史,村山公保,荒井透,苅田幸雄
- 出版社/メーカー: オーム社
- 発売日: 2012/02/25
- メディア: 単行本(ソフトカバー)
- 購入: 4人 クリック: 34回
- この商品を含むブログ (35件) を見る
より専門的にTCP/IPについて学びたくなったらこの一冊。
Webの開発者は絶対読んでおいて損はないと思います。
資格試験にチャレンジ
朝のカフェとか通勤電車で勉強して基本情報と応用情報は取ったりしました。
平成28年度 イメージ&クレバー方式でよくわかる栢木先生の基本情報技術者教室 (情報処理技術者試験)
- 作者: 栢木厚
- 出版社/メーカー: 技術評論社
- 発売日: 2015/12/12
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
- 作者: 大滝みや子,岡嶋裕史
- 出版社/メーカー: 技術評論社
- 発売日: 2015/12/12
- メディア: Kindle版
- この商品を含むブログを見る
資格を持っていることで得をしたことは正直言って全くありませんが、情報処理の資格を勉強をすることで得られることは多くありました。
とりわけ専門的に学んできた人との知識差をほんの少しでも埋められたことは大きかったと思います。
数学!数学!数学!
深淵に踏み込もうとするたびに数学の壁に跳ね返されています。
これからもっと勉強しなければと。。。
- 作者: 高橋信,井上いろは,トレンドプロ
- 出版社/メーカー: オーム社
- 発売日: 2008/11
- メディア: 単行本
- 購入: 3人 クリック: 21回
- この商品を含むブログ (10件) を見る
- 作者: 小島寛之
- 出版社/メーカー: 講談社
- 発売日: 2002/05/10
- メディア: 単行本(ソフトカバー)
- 購入: 19人 クリック: 169回
- この商品を含むブログ (18件) を見る
アフィン変換を触り始めて、行列と対峙する必要がでてきた際に後輩に泣きついて毎週会社帰りにこの本を読みながら教えてもらっていました。
数Ⅲ・Cをやっていないとこの辺でほんと泣く。
ユーザーインターフェースの世界へ
JavaScriptやアプリを書くと切っても切り離せないUIの知識。
誰のためのデザイン? 増補・改訂版 ―認知科学者のデザイン原論
- 作者: D. A.ノーマン,岡本明,安村通晃,伊賀聡一郎,野島久雄
- 出版社/メーカー: 新曜社
- 発売日: 2015/04/23
- メディア: 単行本
- この商品を含むブログ (5件) を見る
UIを組んでいるときに、「これって本当に使いやすいんだっけ?」って悩んだ時にこの本に書いてある七つの原則をフレームワーク的に使っていることが多いです。
コードが書けるようになったら
社会人になると、自分の成果を定量的にアピールしなければならないことって多くあります。
- 作者: Josh Carter,長尾高弘
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/08/22
- メディア: 単行本(ソフトカバー)
- 購入: 5人 クリック: 79回
- この商品を含むブログ (27件) を見る
大企業に入社が決まった人が2年目、3年目ぐらいで読むのがオススメ。
出世しようと思っていてもいなくとも給料と関わってくるのでTip 18 人事考課を勝ち抜く項だけでも読んでおいたほうが良いです。
まとめ
ここまで眺めてもらったら察しのつく通り、自分はどちらかと言うと「どうやったらプログラミングができますかね?」という質問に対して「作りたいものを作ればいいよ」って答えるタイプではなく「まずは基礎固めしたらいいよ」って答えるタイプです。
(完全に先輩の受け売りですけどね)
「作りたいもの」を作って伸びるタイプの人は一定数いるのですが、その手の人は大抵、自然に成長していくか、そもそも基礎体力がある人です。
なので、「作りたいもの」はないけれどプログラミングを始めた人が「作りたいもの」に出くわしたそのタイミングですぐに開発ができるように基礎を積んで表現力を上げておくことが大切かなって考えています。
また、ネット上で良く文系理系論争を見ますが、文系に進んだ人って語学・歴史・思想が好きだったりする人じゃないですか。少なくとも僕はその類です。そう考えると、プログラマって(プログラミング)言語に触れて、長い(コンピュータや言語の)歴史を辿って、洗練された(設計)思想に触れてと文系的な知的好奇心をすべて満たしてくれる仕事だったりします。
最後に、一冊だけプログラミング関係じゃない本を紹介しておきます。
ジョゼフ・フーシェ―ある政治的人間の肖像 (岩波文庫 赤 437-4)
- 作者: シュテファン・ツワイク,高橋禎二,秋山英夫
- 出版社/メーカー: 岩波書店
- 発売日: 1979/03/16
- メディア: 文庫
- 購入: 6人 クリック: 41回
- この商品を含むブログ (29件) を見る
これは大学卒業前に先生に紹介された本です。
このジョセフ・フーシェという人は、フランス革命 - 帝政 - 王政復古という激動の時代のなかで常に政治の中枢にいながら、時勢を読みつつ、時には自分の思想や信念まで変えて上手く切り抜けてきた政治家です。しかも、情熱と時代をかき回すという趣味だけをモチベーションに。
話を今に戻すとフランス革命ほどではありませんが、この業界の趨勢も相当のものです。そんな中で物事があまりうまく行かず少し疲れた時にこの本を読みかえして、風を読みつつ楽しく渡っていこうと思い返したりしています。
この記事を読んでくれた、新卒文系プログラマの人といつか何処かで一緒に働けるといいですね(๑˃̵ᴗ˂̵)وオラッオラッ