はじめに
こんにちは、私は未経験からソフトウェアエンジニアを目指して勉強しているものです。
本日は独学で勉強を始めて2.5か月たったので振り返りも含めて何をしてきたかを記事にしたいと思います。
わたしと同様の境遇の方の励みや参考になれば幸いです。
何をやってきたか。
まずは勉強した言語や技術、またその他自分の知識向上につながる行動について何をしたかを箇条書きで記載します
-
SQL
とデータベース -
Git
とGitHub
の基礎 -
Linux
の基礎 -
Ruby
の基礎 -
Notion
を使用して勉強記録を付け始めた -
Qiita
のブログ投稿を始めた -
QiitaCLI
を利用してGitHub
にpush
やpullrequest
,コメント
することを始めた - Boise State University で英語を習い始めた(2024の10月~12月)
- YoutubeとInstagramのアプリを消して無意識的に無駄な時間を割かないようにしている
こう見るとインプット意外にもアウトプットを意識した行動ができたなと思います。
いや、こんなの2か月の勉強量にしては少なすぎ!俺はもっとやったぜ!ってかたはどれくらいやったかコメントいただけると
勉強の参考にしたいと思います。
かなり律するようには意識していますが、まだまだ甘いところがあるので厳しいフィードバックもありがたいです
ではさっそく簡単ではありますが、勉強方法や詳細について書いていきます
SQL
とデータベース
私はSQL
の基本をProgate
を使用して勉強し、SQL
とそれのもととなっているデータベースを学ぶために「おうちで学べるデータベースのきほん 第二版」という書籍を使用して勉強しました。ニックさんという方が書かれた本で、初心者でもとても分かりやすくデータベースの概要から学ぶことができるのでおすすめです。
実はアメリカにいまして、書籍を購入することが日本にいる時よりも大変なのですべてKindleを使用して勉強しています。
Javascript
までは動画で勉強していたのに、ここからは書籍中心の勉強になります。
なぜかというと、私が勉強する上で何事も重要視しているのは「全体概要をつかむこと」です。
動画でもSQL
の解説動画(すべて英語)はあったのですが、データベースの全体概要を理解したいのと、英語だと難しい概念のところまで理解する能力はまだ私にはありませんので、本がベストであると考えました。
以前に「図解からまるわかりWeb技術の仕組み」の書籍でWeb3層やデータベースのことについて、サラッと勉強して前提知識があったのですんなり理解できていたところもあると思います。
簡単で構わないので、データベース単体で学ぶよりは、Webアプリを作成して利用してもらう一連の流れのうちどの地点でデータベースが使われているかを意識しながら勉強するだけで吸収率が違うと思うのでおススメです
※本来はWebアプリに関係するプロトコルやTCP/IP,DNS等も知ったうえで理解した方がデータベースの位置づけが明確になり、これから学ぶフレームワークの役割も理解しながら学ぶことができると思います。
Git
とGitHub
の基礎
Ruby
をのぞいたら、2か月の中でこれが一番重要なのではないかと思っています。
というのも、これは書籍ベースと現役エンジニアから聞いた話ベースですが、日々の作業で当たり前のようにGit
とGitHub
を使うようです。
わたしもどちらとも触ったことがなくて、そもそもGit
とGitHub
の違いについてもあまりよくわかっていなかったです。
これは調べれば出てきますが、正直ぱっと来なかったので実際に学んだ方が早いと思います。
Git
を学ぶために、ProgateでGitのなんとなくの使い方を勉強しました。
コードに慣れておくという意味でProgateはとても素晴らしいのですが、どういう場面になぜこれを使うのかほかの似ているコードとの使い分けは?といったことが書いてないのでこれだけで一人前とはいかないと思います。
次に「いちばんやさしいGit&GitHubの教本」という書籍で勉強しました。
もしKidleを使用して勉強するなら、本書は固定レイアウト方式というタイプを採用しているためとても勉強しずらいですw
固定レイアウト式はマーカー、コメントができない、書いてある文章のコピーができません。
それを踏まえてもこの書籍はGit
とGitHub
の入門書としてとてもいい書籍です。
Progateでなんとなくやるadd
やcommit
,push
やpull
など言葉の説明でなく図を使って自分の立ち位置を明確にしてくれるので、コードの意図を図と一緒に覚えることができます。
実際にGitHub
アカウントを使って作業するので、実践に近づいたなって感じがします。
しかし、あくまでも入門書。Git
とGitHub
についてはこれからもう少し勉強しようと思います。
もしおすすめ書籍があれば教えてください
Linux
の基礎
もうだいぶ慣れましたが、これの勉強はだいぶ苦労しました。
というのも覚えることが多すぎてすべては覚えきれないなって感じです。
Linux
ができるようになると、CLI
操作への抵抗がほぼなくなります。
あと、Git
使うなら最低限知っておいた方がコマンドがいくつかあるのと、後々AWS
やDocker
あたりで使うようです
勉強で使った書籍は「ゼロから分かる Linuxコマンド200本ノック」です。
著者はUdemyでも似たような動画を出しており、説明はとても分かりやすいですので初心者に優しい教材です
Linux
でシェルスクリプトというものをやるのですが、Qitta CLI
で作成したファイルの名前を日付順に変える際に使用したので
自動化するには知らないとならぬ技術だと思います
Ruby
の基礎
Ruby
はこれからRuby on rails
を勉強する予定なので、基礎言語として勉強しています
最初のとっかかりとしてProgate、その後書籍で「ゼロから分かる Ruby超入門」を使用して勉強しました。
イメージ図があって見やすい感じですが、肝心の詳しい説明が少なかったため自分で調べることがとても多かったです(そのおかげでアウトプットがたくさんできた)
私は今までプログラミング言語をFortran
,Javascript
,Ruby
とやりましたが、書いた順番で複雑でした。
特にFortran
は大学の時(civil Engineerの学位をもってます)に構造計算をする際に使いました。
歴史的にもRuby
のほうが新しいので、私がやった言語の中ではとっかかりやすい言語でした。
これからRuby
およびrails
マスターになれるよう勉強を継続していきます
Notion
を使用して勉強記録を付け始めた
これはほんとにおすすめです。
といっても勉強記録を付け始めたのは9/26とかなのでまだ1か月たってませんがw
Notion
で表を作って以下の項目を作るといい感じの記録表ができます
- 日付
- 曜日
- 勉強時間(時間)
- 累計勉強時間
- スクリーンタイム
- 勉強計画(前日に書く)
- 目標勉強時間
- 実施内容
- 何か気づきがあれば
といった上記の項目を入れています。実施内容のところとか勉強以外のことも書いて日々の記録的な感じで使ってます。
そうすると、この勉強記録の心理的な使用ハードルが下がるのでおすすめです。
勉強記録とかしんどいと思っても、なんだかんだでtodoリスト作ってるのではないですか?
上記の勉強リストの中にtodoを入れ込むだけで勉強記録もtodoも一緒に記録するようになるので必然的に勉強の記録をし始めます
スクリーンタイムについては、最近スマホを最低限しか見なくなったので(Youtube,instgram,Facebook,Xのアプリを削除)項目からなくすか悩み中です
Qiita
のブログ投稿を始めた
これも勉強記録と同じくらいに始めました。
最初は独学初心者がわからないことを共有しても、そんな効果ないのではと思っていたのですが独学初心者だからこと教わるというより自分で考えて勉強しているので気づくことも結構あるのでは?些細なことでもほかの未経験からエンジニア目指している人の力になれるのでは?独学だとインプット中心になるが言い合うトップとのチャンスではと思うようになりブログを始めました。
もともとnoteというブログサービスでアメリカ生活について上げていたので文章を書くこと自体好きでした。
実はお恥ずかしながら最近知ったのですがQiitaにもコメント機能があり、その分野に詳しい方がフィードバックのコメントを頂けていることに気づきました…
独学のわたしにとってはこういった気づきを頂ける貴重な方々がいると思えるとより一層勉強とアウトプットを頑張ろうと思いました。
これを見ている現役エンジニアの方、これからの投稿にコメントいただけると新たな学びにつながりますし、それを見た経験の浅い私のような人を助けることにもつながるのでコメントいただけると嬉しいです。
QiitaCLI
を利用してGitHub
にpush
やpullrequest
,コメント
することを始めた
Git
の勉強を終わって気づいたことは「Git
使う機会ないと操作忘れてしまうのでは?」と思うようになりました。
またQiita
で記事を毎回投稿する際に、「GitHub
で記事を管理する」みたいなボタンがあったので気になってはいました。
Git
を使いたい未経験のあなたへ、Qiita
を始めてQiitaCLI
を使おう。
Git
と簡単なUNIX
のコマンドさえわかればそこまで難しくないと思います。
Boise State University で英語を習い始めた(2024の10月~12月)
これはエンジニアの勉強と直接的に関係なのですが、語学力をつけるためにBoise State University
という大学に行き始めました
期間は2か月間と比較的短めですが、さっそく成長がありました。
住んでいるアパートメントの管理人と問題なくコミュニケーションをとれて、相手の言ってることもほぼ100%わかりました。
やはり、英語力をあげるためにはアメリカに来てしまうのが早いなと身をもって体感した瞬間でした。
10/6から毎日投稿をしているので、それに影響は多少出るかもしれませんが甘いこと言わずに自分を追い込んで頑張りたいと思います
YoutubeとInstagramのアプリを消して無意識的に無駄な時間を割かないようにしている
スクリーンタイムでも触れましたが、Line以外のSNSをスマホから削除しました。
楽しいことはまったくなし?というわけではなく、Youtubeは家のテレビのみ、そのほかのSNSはPCで見るようにしています
スマホだと時間が解けていくようになくなるのですが、画面が大きいと没頭しずらくなり早期に抜け出すことができます。
もし、自分の時間をどうしても作りたいという方はこの方法おすすめです。
まとめ
いかがだったでしょうか。独学なので誰かと比べることはできませんがこんな感じで勉強を進めています。
同様に未経験から勉強を始めている方がいればコメントいただけると励みになります。
こんな感じで楽しみながら勉強を進めています。ブログ投稿も引き続きしていくのでよろしくお願いします。