【プログラミングスクール】入学から卒業まで一体何をしてたの？？振り返りと感想の備忘録

#はじめに

先日プログラミングスクールDMMWEBCAMPを卒業したので、
その時学習したことを個人の感想とともに振り返りたいと思います。


#この記事を書く目的

* 面接でスクールのこと聞かれてもはっきり答えられるようにする。
* 自分の学習を振り返って、至らない点や反省点を踏まえて今日から活かす。

#概要
スクールの入学前から４ヶ月目まで振り返っていきます。
それぞれ、カリキュラムの内容、自己学習の内容、
良かった所（ハッピー）と反省点（ステップアップ）をあげていきます。

入学期間は2021年６月〜９月までの間で、1ヶ月単位で書いていきます。


##スクール入学前

###エンジニアを目指したきっかけ

まず、エンジニアを目指したきっかけから。
前職で業務改善や効率化を図る際に、アプリケーションの導入が積極的に行われていたり、
日々の生活でも、生活の手助けになるのものの背景にはテクノロジーの発展あるよなあ、、
と考えてIT業界に興味を持ちました。

そんな日々どんどん新しくなる時代の最先端で働いている方々の考え方や技術にもっと近づきたい！
そういう環境で自分を成長させたい！

そのように考えてまずは無料の学習教材があるらしいからやってみようと思って、学習を始めたました。


###Progateでの学習

2020年10月頃にProgateを始めました。
最初感じたことは「ゲームみたいで楽しい！」でした。
毎日では有りませんでしたが、なるべく最低30分は取り組めるように、
頑張って、気づいたらLv.152になってました。

言語も特に調べず、PHP、Python、HTML、Ruby、SQLなど手当たり次第に挑戦していました。

####ハッピーとステップアップ

◎ハッピー

* まず挑戦しよう！という形で始めることができたこと
* なるべく継続していこうと考えたこと

◎ステップアップ

* プログラミングを通して何をやりたいのか明確にすべきだった →　言語の選択と成果物の設定
* 学習方法についてもっと知るべきだった
    * 今思えば[雑食系エンジニアのKENTAさんが書いたロードマップ](https://note.com/poly_soft/n/n5b1d72539ed2)を参考に学習すべきだったかなあと思ってます。入学してからこの方を知ったので、情報収集が不足していたと思います。


##スクール在学中

会社を退職したのが2021年5月なので、その間にもスクールの事前学習（1週間くらい）を経て2021年6月にDMMWEBCAMPに入学しました。

###１ヶ月目

####感じたこと

１ヶ月目はHTML&CSSやGitの基本操作、Ruby on Railsについて学習し、
カンタンなアプリケーションを作成するところまでが1ヶ月目の課題でした。

**特に１ヶ月目がきつかったです、、**

その理由はProgateでやっていたことが全然身についてなかったから。
ただ、これなんだか見たことあるぞ、、というものも中にはあったので、
決して無駄ではなかったかなとは思ってます。

ただ、ステップアップであげたようにもっと効率的に学ぶ方法があったのではないかと思いました。

スクールでは質問し放題だったので、15分間考えても分からないと思ったらすぐ質問！は常に心がけてました。
（具体的には分からないっておもった瞬間にアレクサに15分図ってもらってなったら質問という仕組みを作ってました笑）



####ハッピーとステップアップ
◎ハッピー

* 事前学習をしておいたおかげで、スタートダッシュが切れたこと
* わからないことに対して遠慮せず積極的に質問できたこと

◎ステップアップ

* アプリを作成し終えてから、だらけてしまったこと
    * 下旬頃にアプリケーション作成の合格をもらえたのですが、その間復習に当てればよかった。
なので、そのために必要なのは、目標を明確にすることと環境、人など、仕組みで解決することでした。
2ヶ月目からは午前又は午後の学習はなるべく、図書館やカフェに行って学習をしていました。

###２ヶ月目

####感じたこと

２ヶ月目では前半が応用課題の学習、後半がチーム開発でした。

前半の学習は今後の学習に（ポートフォリオに）とても影響を与えました。
非同期処理や検索機能など、ここで学んでおいてよかったなと感じています。

また、後半のチーム開発では、チームリーダーを経験させて頂いたので、その点はとても恵まれたなと思います。
しかし、チーム開発でも、分担して作業を行うのは初めてだったので、GitHubではコンフリクトがすぐ起きるし、
なぜかpushできないpullできないが続いてなかなか作業が前に進まないときは、とても苦労しました。

今振り返るとあの時、Gitの使い方を試行錯誤してやっておいてよかったと思います。
実務でもGitやGitHubを使うみたいなので、今から慣れようと思ってました。

さらに自己学習では[Railsチュートリアル](https://railstutorial.jp/)をやっていました。
Railsの基礎固めをしたかったからです。
正直結構難しくて何度か挫折しかけたのですが、
なんとか最後までやり遂げることができました。（理解は半分くらいです、、）



####ハッピーとステップアップ

◎ハッピー

* 応用課題で様々な機能の実装方法について学んだこと
* チームリーダーを経験できたこと
* GitやGitHubの使い方を学ぶことができたこと
* 自己学習ができたこと

◎ステップアップ

* ポートフォリオの案を考えておかなかったこと
    * ２ヶ月目にどんなポートフォリオにすべきか何個か案を出すべきでした。その候補の中から３ヶ月目に吟味するという手順を踏めば、更にスムーズにポートフォリオ制作に移れたのではないかと思います。
* チーム開発のアプリケーションの+αの部分をこだわればよかった
    * 「ユーザーに取って見やすいようにするにはどうすればいいのか」という点にこだわればよかったなと感じました。レスポンシブ対応等のUI/UXへの配慮がもっとあれば120点満点のアプリが作れたと思います。ここでの反省は３ヶ月目に見やすい・使いやすいデザインにするというところに活かせたと思います。




###３ヶ月目

####感じたこと

3ヶ月目はポートフォリオ制作（以下、PF制作）でした。

PF作成も結構苦労の連続でした。
その理由は今まで培った基礎力　+　新たに挑戦する技術が合わさったことであたふたしたからです。
具体的には、今まで習ったMVCの基本を実装と同時並行で、通知機能やSNS認証機能などあれもこれも手を出していました。

あれもこれも手を出さず、1つ終わったら次の作業、1つ終わったら次というように完成させてから次の工程に移るという考え方が足りてなかったなと反省しております。（メンターさんにも[スイッチングコスト](https://news.mynavi.jp/article/20210531-1890659/)がかからないからそのほうがいいよと言われました。）

ただ、良かったところはデプロイを先に着手できたところです。
なぜ先に着手したのかというと、かなり苦労すると言われていたからです。
実際に月の前半で着手したのですが初めてということもあって、質問の頻度も時間も多くなりましたが、
なんとかGitHub Actionsを使った自動デプロイまでできました。

ここは先に取り組めたおかげで後半PF制作に集中できたのでよかったなあと感じました。

####ハッピーとステップアップ

◎ハッピー

* 自動デプロイまで先にできたこと
* PFの制作でも新たな技術に挑戦して実装できたこと
* 2ヶ月目の反省を活かしてUI/UXを意識して開発できたこと

◎ステップアップ

* 設計やER図をもっと吟味すべきだったこと
    * 期限に間に合わないとまずい！という焦りが原因だったと思います。あとから修正や追加をする機能もあったので、要件定義や設計は考え抜いた上で実装すべきだと学ぶことができました。
* もっと他の方にポートフォリオを見てご意見をいただけばよかったこと
    * これはかなりの反省点だと感じています。3ヶ月目の最終週にTwitterでDMMの受講生のコミュニティに参加させて頂き、PFに対しての意見を頂いたのですが、PFの修正点が多数見つかり、修正を加えました。やっぱり客観的な意見は大事だなと感じています。今後このように他の人の意見が欲しいときは、臆さず客観的な意見をもらいにいきます。

#####補足として

下記URLが自分のPFのURLです。
「仕事術共有SNS」として作成しました。
よかったら御覧ください。詳細はREADMEにて！

https://teachmarket.work/

https://github.com/nao0725/Teach-Market


###４ヶ月目

####感じたこと
４ヶ月目はクラウド教養についてAWSを通して学びました。
実際にここで、PF制作時に触れたAWSがどのようなものなのかという点を
学べることができてよかったと思っています。

さらにこの月は自走力が試されたと思います。
１ヶ月目の反省点で学んだことを活かして環境を変えて勉強したり、コミュニティのもくもく会に参加させて頂いたり、
様々な仕組みを通して学習継続ができてよかったなと感じています。

また、その中でも特に有効的に働いた仕組みは**「人と約束をする」**です。
これはマコなり社長から学んだことなのですが、
人と約束をして、遅刻しないもしくは朝活できる仕組みを作るということを行いました。

具体的にはチーム開発で一緒だった仲間に声をかけて、
週６日金曜日以外毎朝8時半からカリキュラムの読みあわせやJavaの学習を実施しました。

ここはかなりいい仕組みが作れたなと自分でも感じており、現在(2021/10/02)も続けています。


####ハッピーとステップアップ

◎ハッピー

* 継続して学習できたこと（草を途切れることなくは生やせたこと）
* 人と約束することで学習を継続する仕組みを自分から作れたこと

◎ステップアップ

* あれもこれも手を付けてしまったこと
    * これは３ヶ月目の反省を活かせていませんでした。JavaScriptの勉強もしてAWSも勉強して、PFのRSpecも書いて、、とあれもこれも手を出したので中途半端になってしまいました。なので現在はJavaScriptにしぼり、10月中にテトリスを作成するという目標のもと、学習を継続しています。



#最後に

ここまでつらつらと書いてきましたが、
今までの学習に一番影響を与えたのは、**Qiitaの毎日投稿**です。
今日で100投稿になるのですが、毎朝７時に起きて継続して投稿できたことは自信になったなと感じています。

Qiitaを投稿し続けた理由は以下の通りです。

* 日々の学習のアウトプットをしたかったから
* 継続力を示すことのできる指標にしたかったから

今日まで続けてこれてよかったなと感じています。
しかし、まだ就職できたわけでも、エンジニアになったわけでもないので、
これからも就職できるまでは日々の学習と投稿は続けていこうと考えています。

長くなりましたがこれでこの記事を終わりにします。
次は就職できたときにこの手の記事を書こうと思います。

#参考にさせていただいた記事
* [Web系エンジニアにジョブチェンジするための学習順序と教材一覧](https://note.com/poly_soft/n/n5b1d72539ed2)