読んで欲しい方
- エンジニアになりたいけれど、何を勉強したらいいの?という人
- 意欲はあるのだけど、何をやればいいのか分からん人
- プログラミングの勉強はし始めたけど、これだけでいいのか不安な人
各言語の勉強にオススメの本は今回は割愛させていただきました。
どんな言語をするにしても、エンジニアになる上で共通して大切な内容を含んでいる本を3冊紹介させていただきます。
私は誰?
・大学時代は非情報系の理系
・新卒で営業職3年
・1年半前に未経験からエンジニア転職
やっと一人前のエンジニアになってきた(?)タイミングで
「エンジニアになりたての頃の自分にオススメするとしたら?」という観点でオススメの本を選んでみましたので、エンジニアを目指して勉強中の方の参考になれば幸いです。
『リーダブルコード』
個人開発と違い、実務ではチームで開発をすることがほとんどです。
「いいコードとは何か?」
「綺麗なコードとは何か?」
という基準がないと、ただ動くだけのガラクタコードを書いてしまいかねません。
チーム開発時には、お互いにコードレビューをする場合も多いです。
突っ込みどころが多すぎるコードを書いていると周りの信頼を得ることができません。
自分が他の人のレビューをするときの視点にもなるので、最低限読んでおきたい本です。
また、以下のような点からも、実務において綺麗なコードを書く価値は非常に高いです。
- コードを書く時間より読む時間の方が多い
- 自分が書いたコードでも2週間経てば忘れる
- 読みにくいコードは、機能改修時の作業時間を増やす
具体例を交えて非常に分かりやすく書かれているので、すぐに読了できるかと思います。定期的に流し読みするのがおすすめです。
可能であれば、
『リファクタリング(第2版): 既存のコードを安全に改善する』
も読んでおくことをおすすめします。
より良いコードを書くためのポイントが、非常に体系だって紹介されています。
『ネットワークはなぜつながるのか』
ブラウザにURLを入力してからページが表示されるまでを 探検ツアーのように説明されている本です。
基本的に、
「リリースしたサービスが正常に動くようにする」
ことが、エンジニアの仕事です。
「リリースしたサービスがそもそもどんな環境で、どのように動いているのか」
を知らずして、仕事が上手くいくことは稀でしょう。
こうした知識がないと、AWSなどのクラウドの技術を理解することが困難ですし、デバックの際に原因の特定も困難になります。
クライアントやチームメンバーと話していても、前提知識として当然のように話に出てくるので、いち早くキャッチアップすることをオススメします。
少し難しい箇所もあるので、分からないところはスッと飛ばしつつ、まずは通読するのがオススメです。(自分も2周読んで、やっと理解が追いついた箇所が多々ありました)
また、可能であれば
『Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)』
も読んでおくと良いと思います。
いきなりこちらを読むと、「??」となってしまうかもしれませんが、「ネットワークはなぜつながるのか」の後に読むと、理解が深まります。
『新しいLinuxの教科書』
エンジニアとして働いていると、Linuxコマンドを使ってディレクトリ移動、ファイルの読み書きなどを行う機会が多くあります。(GUIでも可能なものもありますが、コマンドでしか操作できないものにいずれぶつかります)
また、慣れてしまうとコマンドの方がかなり早いので、最初の段階からコマンドに慣れていくのが絶対にオススメです。
最初から完全にコマンドを覚える必要はありません。
「〇〇の操作ができるコマンドある」とだけ思い出せれば、ググってコマンドを実行できるので。
一通りのLinuxコマンドを学ぶのに、非常にオススメの本になります。
最後に
技術書は安くない値段するので、中々手を出しづらいところもあるかもしれませんが、
ネットの記事などは特に、玉石混合なので、勉強する際の情報源として技術書は外せないかなと思います。
(ちなみに弊社は社内に技術書が山のようにあり、自由に読むことができるので非常に助かっています。社長ありがとうございます)
弊社では共に成長していける社員を募集しています!
ご興味ある方はこちらより。