はじめに
こんにちは、基幹システムグループの瀧山です。
この記事では、初心者エンジニアにおすすめの本を紹介します。
今回紹介する本で得られる知識は、特定のプログラミング言語によらない知識であるため、どのような会社であっても使う機会が多いです。
対象読者
少なくとも1つのプログラミング言語について、基本的なプログラミングができる方(if文やfor文が使える)
プログラミング自体やったことがない場合は、まずは何かしらのプログラミング言語に関するやさしい入門書を1冊読みましょう。
Javaの場合は「スッキリわかるJava入門」がおすすめです。
プロになるためのWeb技術入門 ――なぜ、あなたはWebシステムを開発できないのか
1冊目は「プロになるためのWeb技術入門 ――なぜ、あなたはWebシステムを開発できないのか」です。
現在のシステム開発は、Webアプリケーションと呼ばれるものが主流になっています。
Webアプリの開発には、サーバー、データベース、HTTP、GET/POST、Cookie、セッション、セキュリティ等々、様々な知識が必要になります。
Webフレームワークを使用した開発では、このあたりの知識がなくても開発できてしまったりもしますが、裏側の仕組みがわかっていないと壁に突き当たることも多く、仕組みを理解することは大切です。
この本は2010年出版と古い本ですが、Web技術の根幹は当時から変わっておらず、一通り学ぶことができます。
また、Web黎明期からどのような技術の歴史があったかを知ることができ、読み物としても面白いです。
古い本ながら、WebフレームワークやO/Rマッパーといった内容にも触れられています。
Web技術の全体像を把握するという意味で、とてもおすすめの本です。
SQL ゼロからはじめるデータベース操作
2冊目は、「SQL ゼロからはじめるデータベース操作」です。
システムにはデータベース(DB)というものがあり、そこに様々なデータを蓄積していきます。
その中でもリレーショナルデータベース(RDB)というDBが広く用いられており、SQLはRDBを操作するために必要な言語です。
どのようなプログラミング言語でシステムを開発するとしても、SQLはかなりの確率で使うことになります。
この本はSQLの構文が一通り網羅されており、サブクエリやウィンドウ関数などの少し難しい構文も記載されています。
DBの製品による違いや豆知識が書かれているのも参考になります。
まずは一通り目を通して、実際にSQLを書くときには、辞書的に使うのがおすすめです。
新しいLinuxの教科書
3冊目は、「新しいLinuxの教科書」です。
企業のシステムは、サーバーというコンピューターの中で動いています。
サーバーのOSは、LinuxというOSが広く用いられています。
Linuxは、WindowsやMacのようなアイコンやウィンドウが表示された画面(GUI)ではなく、CLIと呼ばれる、映画などでハッカーが使っているような「黒い画面」でコマンドという文字列を打ち込んで操作する必要があります。
(注:LinuxでもGUIを使用することはできますが、サーバー操作にはCLIを使用することが多いです。)
この本ではLinuxのコマンド操作が詳しく解説されています。
最初はコマンド操作には慣れないと思いますが、少しずつ覚えていきましょう。
Linuxでよく使われる「Vim」「正規表現」や、コマンド操作の自動化ができる「シェルスクリプト」の作成方法も載っていて、この1冊でLinuxの操作方法はかなり押さえることができ、まさに「Linuxの教科書」といった内容になっています。
おわりに
今回は、プログラミング以外のIT技術書を3冊ご紹介しました。
今回ご紹介したように、エンジニアになるにはプログラミング以外の知識も必要になってきます。
覚えることが多くて大変に感じるかもしれませんが、プログラミングも含めて幅広く知識を習得していきましょう。