はじめに
はじめまして。kikoです。社会人1年目のエンジニアです。
2020年は己の知的好奇心に従うがまま、色んなことに手を出しすぎました。
その中で個人的に良かったもの(書籍やオンライン教材)をシェアして、少しでも皆様のお役に立てればと思います。
コンピュータ・サイエンス基礎
情報処理教科書 出るとこだけ! 基本情報技術者 テキスト&問題集 2021年版 矢沢 久雄
https://www.amazon.co.jp/dp/4798168610/ref=cm_sw_r_tw_dp_x_v5j6Fb5ZV1BNW
情報処理教科書 応用情報技術者 テキスト&問題集 2021年版 日高 哲郎
https://www.amazon.co.jp/dp/B08JZ15VVS/ref=cm_sw_r_tw_dp_x_t2j6Fb7Z6N8NE
情報処理技術者試験 過去問題
https://www.jitec.ipa.go.jp/1_04hanni_sukiru/_index_mondai.html
コンピュータ・サイエンスの基本を学ぶならば、IPAの資格を取るのが良いかなと思います。
自分は基本情報と応用情報の参考書をやりました。書籍を読むだけだと眠くなるので、1周読んだら過去問を解きました。(無事応用情報に合格しました。勉強法は別途どこかでまとめるかもです。)
分厚い本を読むのは気が滅入りますが、勢いで試験の申込みをして勉強に強制力を持たせるのもありかなと思います。
ネットワーク
スラスラわかるネットワーク&TCP/IPのきほん 第2版 リブロワークス
https://www.amazon.co.jp/dp/4797396075/ref=cm_sw_r_tw_dp_x_P6j6FbMGDH1W3
マスタリングTCP/IP―入門編―(第6版) 井上 直也
https://www.amazon.co.jp/dp/4274224473/ref=cm_sw_r_tw_dp_x_w8j6FbX960CT7
仕事でしょっちゅう通信プロトコルのお話が出てくるのですが、基本・応用情報で学んだネットワークの知識では不足しがちです。かといって分厚いネットワークの本をいきなり読むのは辛いので、この2冊は導入としてピッタリでした。これらでネットワークを完璧に理解できるとは思いませんが、ネットワークの実体の掴めなさからは多少解放されると思います。
Linux
Linux標準教科書
https://linuc.org/textbooks/linux/
こちら無料の教材です。Linuxの基本的なことすべて載っています。割と細かいことも書いてあるので、個人的には全てを1つ1つやる必要はないかなと思います。Linuxってこんなもので、こんなことができるのか〜ということが分かりました。コマンドを全て暗記することは無理なので、1周目を通して都度Google先生に頼るスタイルが良いかなと思います。
HTML/CSS
Progate(HTML & CSS)
https://prog-8.com/languages/html
1冊ですべて身につくHTML & CSSとWebデザイン入門講座
https://www.amazon.co.jp/dp/4797398892/ref=cm_sw_r_tw_dp_x_gjk6FbJS8RXEV
どちらも超入門にもってこいの教材でした。とりあえずWebサイト作ってみたい!というノリでもクリアできると思います。後者の教材は、HTML,CSSだけでなくWebデザインについても多少学べました。レイアウトとか、色とか、フォントとかです。
Javascript
Progate(JavaScript)
https://prog-8.com/languages/es6
確かな力が身につくJavaScript「超」入門 第2版 狩野 祐東
https://www.amazon.co.jp/dp/4815601577/ref=cm_sw_r_tw_dp_x_vvk6FbCAHB5H8
こちらも超入門にもってこいの教材でした。そもそもプログラミングって何だ?って話もあります。プログラミングをほとんどやったことがない方、JavaScriptって何ができるの?って方にはおすすめだと思います。設計的な要素はないので、とりあえずJavascriptでプログラムを書いてみたい方におすすめだと思います。
【JavaScript&CSS】ガチで学びたい人のためのWEB開発徹底実践(フロントエンド編)
https://www.udemy.com/share/102AXTCUASc1pURHw=/
Webデザイン・フロントエンドに興味を持たれた方は、上記の教材でHTML,CSS,JavaScriptの基本をやった後、これをやるとより理解が深まる気がします。実際のWebサイト制作の流れを知ることができますし、現場で行われているプログラムの書き方、まとめ方、ファイル構成などなど、とにかく実践的な内容が多かったです。これをやった後、実際に自身でWebサイトを作ってみました。
Ruby/Rails
Progate(Ruby)
https://prog-8.com/languages/ruby
Progate(Ruby on Rails)
https://prog-8.com/languages/rails5
Railsチュートリアル
https://railstutorial.jp/
Webサイトを作った後は、Webアプリを作りたくなりました。まずはProgateでRubyとRailsの基本をやりました。そしてRailsチュートリアルをやりました。見事に挫折しました。自分は5回ほど挫折しました。
ただ、チュートリアルとしての完成度はめちゃくちゃ高いので、おすすめです。
Git/GitHub
Git︰はじめてのGitとGitHub
https://www.udemy.com/share/101BggCUASc1pURHw=/
こちらなぜか無料です。エンジニアであればGitは必ず使うと思います。Gitとは何か?という話から、よく使われるコマンドを知りたい方におすすめです。Gitの細かいコマンドは必要なときに都度調べれば良いと思います。とりあえずこの講座程度の知識があれば、Gitの導入には問題ないかと思います。
AWS
AWS:ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得
https://www.udemy.com/share/101YbyCUASc1pURHw=/
AWSを使ったことない自分でもとても理解しやすかったです。ハンズオン形式で、実際に自分でネットワークを構築し、サーバを配置してアプリケーションをデプロイします。監視や分散処理なんかもやります。AWSの使い方だけでなく、ネットワークやサーバなどインフラ周りの知識も身につきます。AWSの料金が少し(自分は数百円でした)と、独自ドメイン代(1円)がかかります。
Docker
ゼロからはじめる Dockerによるアプリケーション実行環境構築
https://www.udemy.com/share/1026SGCUASc1pURHw=/
そもそもコンテナ技術ってなんだ?Dockerってなんだ?という状態だったので、そこから解説されていてとても助かりました。
Docker自体の使い方だけではなくDjangoやRailsの実行環境構築方法も解説しています。上記で紹介しているものが理解できていれば特に問題なく進められると思います。
番外編
情熱プログラマー ソフトウェア開発者の幸せな生き方 Chad Fowler
https://www.amazon.co.jp/dp/4274067939/ref=cm_sw_r_tw_dp_x_0Jk6FbM3HMFM2
具体と抽象 ―世界が変わって見える知性のしくみ 細谷 功
https://www.amazon.co.jp/dp/4907623100/ref=cm_sw_r_tw_dp_x_EKk6FbQXMZFN2
マーケット感覚を身につけよう---「これから何が売れるのか?」わかる人になる5つの方法 ちきりん
https://www.amazon.co.jp/dp/4478064784/ref=cm_sw_r_tw_dp_x_E4l6FbD86F00Y
ノンデザイナーズ・デザインブック [第4版] Robin Williams
https://www.amazon.co.jp/dp/4839955557/ref=cm_sw_r_tw_dp_x_iLk6FbF6YEWPP
有名な書籍ですのでご存知の方多いかもしれません。
2020年色んな本を読みましたが、特に自分に影響を与えたものは上記4つです。
ここでは詳細を述べませんが、ご興味のある方は年末年始のお供にいかがでしょうか。
最後に
Qiita初投稿でお見苦しい点が多々あったかと思います。最後までお読みいただきありがとうございました。
2020年、実はご紹介した2倍くらい色々と手を出しています。ただ、無駄が多すぎて身にならない時間を過ごしまくっています。
それから、初心者にありがちな教材を何周もして一向に成果物を作らない深刻な病を患っている時期もありました。
実際にモノを作ることが技術を身につける1番の近道だと、最近やっと気づきました。
2021年はもっとリーンにスキルアップしたいと思います。
それでは皆様、良いお年を!