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