新卒、駆け出しエンジニアに贈る春の本まつり in 2024
概要
どうも、ukmshiです。新年度開けましたね。
2023年卒業の方々、ご卒業おめでとうございます。
今回は、新卒エンジニア、駆け出しエンジニア、はたまたエンジニアを目指す方々に向けて、これから何を学んでいけばいいのか、羅針盤になり得るような本やサイト、ツールなどを紹介していこうと思います。
技術のみならず、ビジネスとしても活躍していけるような本も紹介していくので、ぜひ、お時間ある方々はお付き合いください。
最後には、私自身が普段の業務で利用している開発ツールなども紹介しますので、読者の開発ライフが少しでも楽しいものになればと思います。
Web関連
Web関連に関しては、実務などで叩き上げで学んできた人間なので、あまり参考にならないと思っていますが、自分が読んできた中でこれは良かったなと思える本を紹介していこうと思います。
難易度について
Web関連で紹介する本に難易度をつけておりますので、参考にしていただければ幸いです。
- ★☆☆: 初学者向け。
Progateなどを通してプログラミングの基礎構文を学んだレベルで、プログラミングで何が出来るの?という方向けの羅針盤になるような書籍を紹介していこうと思います。モチベを上げるためにもハンズオンで、自分の手元でプロダクトを立ち上げられるようなものを紹介します。 - ★★☆:中級者向け。
自分でも出来るんだ!と自信がついた上で、実際の現場ではどんなことを求められてるのかが分からないという方向けです。読破して頭に入っていると、求職が出来るかなってレベルを想定しています。
※ 私が面接するなら、これくらいの専門度は欲しいなって感じで考えていいます。 - ★★★:上級者向け。
一通り、プログラミングを学んで実務でも要求に対してアウトプット出来るようになってきた!というレベルから一皮むけられるような書籍を紹介します。
これ以上であれば、むしろ自分で調べてインプットやアウトプットが出来る or 求められるレベルになると思います。
Pythonではじめる Webサービス&スマホアプリの書きかた・作りかた
難易度: ★☆☆
プログラミングの基礎を勉強した上で「で?何ができる?」から脱出手助けになる本。
実際に、簡単なインスタグラムなどを構築して、自分でもこんなサイト作れるんだ!と自身がつけられるようになる本です。この本を終えたら、好みの言語の有名なフレームワークの勉強をし始めるといいと思います。
- PHP:Laravel
- Python:DJango
- Ruby:Ruby on Rails
- C#:ASP.NET
などなど各々の好きな言語のフレームワークのチュートリアルや、書籍を買って学習してみてください。
スッキリわかるSQL入門
難易度: ★☆☆
何をするにおいても、データベースは重要であり、データベースと対話するために必要なSQLの理解は必須となってきます。SQLを理解するのは退屈ですが、この本は比較的理解しやすくおすすめです。
これは個人的意見ですが、正直、実務では各フレームワークごとに入っているORMを使用してDBとの会話をするため、実務で触接SQLを組む機会もそこまで多くはありません。多くても3割位かな?…
それ故、SQLのSelectはデータを取ってくるものなんだ。Joinすると他のテーブルも一緒に取れて、Select回数も減るんだとかイメージを掴んでもらえればいいと思います。簡単なQueryを組めて、ORMが組んでくるSQLを読めるレベルであれば十分だと思っています。
正直、後述するDBクライアントを使用すればSelectなどもほとんど書きませんしね。
モダンJavaScriptの基本から始める React実践の教科書
難易度:★★☆
jQueryは扱えるけど、これからReactも挑戦していきたい!って人におすすめです。特に理解が難しいHooks周りについて優しく書かれており、自分もたまに読み直したりする1冊です。(専門がFEじゃないので、すぐ忘れる…
達人に学ぶDB設計徹底指南書: 初級者で終わりたくないあなたへ
難易度:★★☆
SQLについて一通り学んだよって人向けのSQL脱初心者本です。スッキリわかるSQL入門を読破したあとに読むのがいいかなと思っています。データの正規化などの基本的なことから、インデックスの効力、リカバリやリストアなど多岐に渡ってわかりやすく書いており、滅茶苦茶理解しやすいのでおすすめです。
オブジェクト指向でなぜつくるのか
難易度:★★★
おそらく、要件に従って実装できてくるレベルに達すると、オブジェクト指向という言葉を耳にし始めるでしょう。また、いろんな書籍でもオブジェクト指向という言葉を目にするようになると思います。
この本は、そこでおすすめするのがこの本です。オブジェクト指向とはなんなのか?オブジェクト指向で作ると何が嬉しいのかなど懇切丁寧に解説してくれている1冊です。
良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方
難易度:★★★
オブジェクト指向をなんとなく理解て、実際に自分なりにコードを書いてみたけど、イマイチ、密結合になって分かりづらかったり、粗結合になりすぎたりなどの課題を感じている人に読んで欲しい一冊です。手元に常においておきたい1冊ですね。
実践的データモデリング入門
難易度:★★★
自分でWebサービスを立ち上げたり、簡単なDB設計を任されるレベルに達すると必要なのがデータモデリングの知識です。実際にステークホルダーの要件に沿って、エンティティを洗い出し、カテゴライズしてなど様々なやることがあります。
この本は、基礎編できちんと理論的裏付けを行った上で、実践編で架空の書店についてモデリングを行っている部分であり、ボトムアップで理解しやすい書籍となっています。
クラウド
Web関連に関しては、一通り紹介したので、実際にサービスを立ち上げて、運用するのに必要なクラウド関連を学ぶのにおすすめな書籍などを紹介していこうと思います。ちなみに私自信はAWSの知見しかありませんので、AWSを中心とした本がメインになります。
※ インフラの本を紹介しようと思ったのですが、インフラという言葉自体が広義で難しいので、クラウド自体に限定させていただきました。
難易度について
インフラ関連で紹介する本に難易度をつけておりますので、参考にしていただければ幸いです。
- ★☆☆: 初学者向け。
クラウドってなに?AWSってなに?美味しいの?ってレベルを想定しています。クラウドに関する基本的な知識や単語を学べる書籍を紹介します。 - ★★☆:中級者向け。
クラウドのことはなんとなくわかったけど、実際に触ったことがないってレベルの方を想定しています。実際にハンズオンで立ち上げたりして、クラウドとはどんなものなのかを体験できるレベルです。 - ★★★:上級者向け。
一通り、理解してクラウドを利用し自分でサーバー立ち上げて、WordPressを公開できるようになったレベルを想定しています。その上で、実際のWebサービスを構築・運用まで一通り学びたい人向けです。
AWS認定資格 クラウドプラクティショナーの教科書: 合格へ導く虎の巻 CloudTech制作委員会シリーズ
難易度: ★☆☆
いきなり、AWSの資格本で申し訳ありませんが、クラウドプラクティショナーの勉強した方がインフラやクラウドについて理解しやすいかなって思ったので取り上げました。私自身もこの書籍で学習しながら、AWSの基礎を学習しつつ、実際の構築まで落とし込んで行ったのでおすすめです。
Terraformで構築するAWS
難易度:★★☆
いきなりIaC(Infrastructure as Code)を使ったハンズオンで申し訳ありませんが、クラウドプラクティショナーを学んだ・取った方には丁度いい難易度だと勝手に思っています。
実際にネットワークやWebアプリを構築しつつ、AWSの基本的な部分を押さえながら学習が出来るハンズオンとなっており、私自身もこのサイトでTerraformとAWSを両方学びました。
正直、いきなりAWSとTerraform一緒に頭に入れるのが難しいのは自分の経験や、まわりの経験なども踏まえて理解しています。しかし、コンソールでポチポチしてても、環境を壊したり、復元するのが手間でめんどくさいですし、面白みもなく退屈です。それであればIaCも一緒に理解して破壊と構築を学んだほうがいいと思ったのでこちらを紹介しました。
AWSコンテナ設計・構築[本格]入門
難易度:★★★
全体的にVPCやALB、EC2、ECSなどAWSの基本的機能を理解した上で、いざ実際に現場ではどんなふうに使われているのかを網羅するための書籍になります。ぶっちゃけ、この本で学習して実際に構築しているレベルであれば仕事では困りませんし、私自身が面接するのであれば、このレベルで十分実務で使えると判断出来るレベルです。
本書はコンソールでの操作がメインに解説されていますが、TerraformなどのIaCに自分なりに落とし込みながら学習を進めると、Terraform自体への理解も深まると思います。
ビジネス
これはただ単に紹介したいだけの書籍なので、お付き合いいただければ幸いです。
人を動かす
難易度: ★☆☆
本書はD・カーネギーの名書であり、人付き合いについて説かれている書籍になります。一読すると、日常的コミニケーションや商談の質が格段と上がっているはずです。
すらすら読める新訳 フランクリン自伝
難易度: ★☆☆
ベンジャミン・フランクリンといえば、日本では「雷の正体は電気である」ことを証明したことで有名で科学者と思われがちですが、実業家であり、科学者としての顔はフランクリンの一面にしか過ぎません。
本書はフランクリンの自伝であり、フランクリンの生い立ちからはじまり、仕事への姿勢、政治家としての顔や、勤勉な姿勢などフランクリンの活力に背中が推され、とても面白い本です。
その他
他に学んでおくべきことや、実際に業務で使っているルーツなどを紹介していこうと思います。
学んでおくべきこと
Git
学習コストが高いことが課題として上げられますが、実務では必須のバージョン管理システムです。後ほど、便利なルーツなども紹介しようと思います。
※ 私自身、Git自体のコマンドを覚えていませんし、Gitで登場する言葉の概念を掴んでいるだけなので、深く学習しなくてもいいとは思っています。というのも、後ほど紹介するGitクライアントなどを使って操作をしており、実務ではそれで十分事足りているというのが本音です。
Docker
Dockerは今やどこの現場でも当たり前のように使われているので、学んでおいて損のない技術です。Dockerにすべて集約することで、他のマシンでも同じ環境を再現することも出来ますし、本番やステージングと同じ環境を再現できるのでおすすめです。
※ 私自身は公式ドキュメントなどを通して、独学しているのでおすすめの書籍などはありません。
ツール
DBeaver
あんまりみんな使っていないけどめっちゃ便利なDBクライアント。DBを利用するにあたって、毎回SQLを書くのは面倒ですし、実際そこまでSQLを覚えていません。そこで登場するのがDBeaverです。DBeaverを利用することで、DB内のテーブルや実際の値などをすべて閲覧することが出来ます。
また、実際のSQLを直接実行することも出来るのでおすすめです。
GitKraken
GitをGUIで閲覧できるGitクライアントです。
他にもGitクライアントは数多存在しますが、GitKrakenを推すのは外でもないUXと機能性の高さです。
- 様々なGitサービスに対応している
- しかもGitサービスとの連携が楽
- リポジトリで作業している人の進捗がわかる
- プルリクエストがクライアントで作成できる
- Pullはダブルクリックするだけ
- RebaseやSquashなども2クリックで可能
- Publicリポジトリであれば、無料で利用が出来る
などなどGitKraken愛を語り尽くせませんが、マジで多機能ですが、すっきりした取っつきやすいUIでめっちゃおすすめです。
最後に
最後まで読んで頂きありがとうございました。
最近全然記事を書いてませんでしたね。次回は本稿でも軽く紹介したGitKrakenを熱弁するだけの記事を書こうかと思っています。
ツイッターもやってます。ぜひ、フォローして絡んでいただけると幸いです。
Discussion