(学習記録) 3月の振り返り／4月の計画

# はじめに
今年1月に15年ぶりエンジニア復帰を決めた40代中年の**定期的な現在地・目標確認と軌道修正**の為の自分用メモ

**平成最後の年**になり、今年も既に**1/4が過ぎ去り**ました
~~新元号はイケてないけど~~色んな意味でここを区切りとし、新たなスタートを切ろうと思います([**嘘じゃない**](https://www.itmedia.co.jp/news/articles/1904/01/news075.html))

## Qiita記事投稿→Qrunchログ記録にシフト
学習を進める中で(対外的なアピール目的でなくとも)やはり**学習記録・作業内容のマメなアウトプットは習慣化しておいたほうがいい**という結論に至りました。:pencil:

そこで、

- Qiitaより気楽に自分用メモを投稿できる
- 投稿をGoogle検索対象から外せる
   - ＝検索結果上位に出てくるQiitaの記事群を質の高い技術記事として維持でき得る

ということで[**Qrunch**](https://itachiP.qrunch.io)というサービスのログ記録機能を利用し始めました。
※基本的に「記事」はQiita同様たまに投稿、「ログ」の方で学習記録・自分用メモを毎日記録
[Qrunchログ - 学習記録](https://itachip.qrunch.io/logs/BOBdiA9knuNO3sEU)

これを**実務未経験の学生が合間時間使って作った**ってスゴいですね
今や[小学生がUNITYとかで自作した３Ｄゲームを大勢の前で登壇し発表してる](https://www.youtube.com/watch?v=WeapQe1IvzQ)時代

人材不足の売り手市場だから、と油断せず**産まれた時には既にスマホがあったネイティブ世代**:baby:や優秀な外国人エンジニア流入:man_with_turban:、AIによる自動化の波に埋没しないよう**ゲームウォッチやLS○ゲームが流行りだすまで[ホウネンエビ](https://ja.wikipedia.org/wiki/%E3%83%9B%E3%82%A6%E3%83%8D%E3%83%B3%E3%82%A8%E3%83%93)やザリガニ追って遊んでた**世代も危機感をもって（それでいて**楽しく**）活動していきたいと思います。

## (前月時点の「3月の学習計画」引用)
- Progate Rails編
- 並行してJavaScript学習も再開
  - Railsによるポーフォリ1作目完了後→React（或いはVue, TypeScript, Node, jQuery）
- 3/10～ [チェリー本(電子書籍版)](https://www.amazon.co.jp/o/ASIN/4774193976/)
  - （amazonでなく[技術評論社の電子書籍販売サイト](https://gihyo.jp/dp)で購入済み）
  - 並行してポートフォリオ2作目をRailsで作成開始
  - （同日3/10 TOEIC L&R TEST 初受験）※プログラミング学習優先なので現在地確認目的
- 3/20～ Railsチュートリアルを**1周だけ**やる


# 3月の学習振り返り
- Progate Rails編 全部 + ローカル完コピ
- Rails Tutorial 1~6章
- [PHP_ToDoList](https://itachip-php-todolist.herokuapp.com/)をAWS(ec-2)からHerokuに移転
   - HerokuデフォルトのPostgresでなくMySQLを動かす為アドオン追加
- Rails Tutorial学習環境を
   - (公式の勧める)AWS Cloud9上のIDE+bitBucket+Heroku から
   - ローカル(自宅＆事業所)+GitHub+Herokuに移行
- 学習予定上の計画外活動
   - 就活前倒し
   - ひたすら環境構築（とそのエラー対応）
   - 様々なツールの試用
  
### 変更点
- エディタ・IDE
   1. 【Java復習→PHP復習段階】 Eclipse → Atom
   2. 【PHP_ToDoList作成段階】 SublimeText3
   3. :point_right:【Rails開発環境】 (Windows上)VSCode ＆(WSL上) Vim たまにnano

- JavaScriptはまだ暫く触れず、Railsのみでサイト構築
   - その後React（或いはVue等）で主に見た目周り、操作性をカイゼン予定
- 伊藤淳一氏の著書[「プロを目指す人のためのRuby入門」（通称：チェリー本:cherries:)]   (https://www.amazon.co.jp/o/ASIN/4774193976/)は学習段階の教科書としてではなく、現場に入って以降のリファレンスとする
- 代わりに3/19東京日帰り時に立ち寄った[**Barloon**](https://note.mu/besutome/n/n15850fe5a57c#jdBnr)で知り合った現役エンジニアの方に勧めていただいた[現場で使える Ruby on Rails 5速習実践ガイド](https://www.amazon.co.jp/%E7%8F%BE%E5%A0%B4%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B-Ruby-Rails-5%E9%80%9F%E7%BF%92%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89-%E5%A4%A7%E5%A0%B4%E5%AF%A7%E5%AD%90/dp/4839962227)を購入した
- テストについてより深く（`minitest`ではなく`RSpec`やテスト駆動開発手法について）学習する場合は["Everyday Rails"（電子版のみ）](https://www.amazon.co.jp/Everyday-Rails-Testing-RSpec-test-driven-ebook/dp/B077S8QCG2)（[伊藤淳一氏による日本語訳版](https://leanpub.com/everydayrailsrspec-jp/read)）を購読予定 :space_invader:


# 4月の計画
- 引き続きRailsチュートリアル続行（**1周だけ**で済ませる）
- (4/8~) Railsによるポーフォリ1作目作成開始
  - 写経ではなく、まずモックアップ（ワイヤーフレーム）作成から始めオリジナルサイト構築、或いはいい感じのサイト模写と機能追加
  - Railsによる基本機能作成後→React（或いはVue, TypeScript）学習・組み込み
- Gitのより実践的な使い方（チーム開発の実際を想定）`stash`、 `revert`、各オプション等
  - ※或いはsourcetreeやIDE付属ツールに慣れ、Gitコマンドに対する学習コストは削る
- Rails Tutorial終了後どっかのタイミングで`Docker`環境対応
   - 実際の導入は学習進度・コスト次第だがCI/CD、k8s、主要クラウド連携自動化についても調査

# 経過 ― Hello, RubyWorld!

1～3月初旬まで`Java`→`PHP`→`Ruby`と言語ジプシーしたが
（正確にはエンジニア復帰を決める前の2018年12月、**Udemyブラックフライデー**セール中に購入した機械学習講座で初めて`python`に触れている）
**当面Ruby(Rails)のレールに乗る**ことに決定

その後Progate Rails編進める途中で**Progateの進度に合わせローカルで同じものを作る**というやり方に変え、DockerやCI/CDツール等への興味から**中途半端な**仮想環境対応、その後Rails Tutorial学習に入ってからもec-2インスタンスのトラブル対応等
開発言語の学習・ポートフォリオ作成よりも環境構築・Bashコマンド操作がメインになっていた

#### 環境構築の変遷
1. Windowsならではと思われる苦戦が多い
   → いっそMacbook購入？ → 資金面で却下:money_with_wings:
2. Windows上でVM＋Linux（VirtualBox + Vagrant + CentOS)
3. Docker学習前倒しすれば環境構築周りもまるっと解決、他にも色々といいことづくめじゃね？
4. ある程度学習進めたが自宅がWindows10 HomeでDocker for Windows入らない
5. 既に環境構築で結構な学習コスト割いて言語学習が止まっていたのでDocker対応は先送り
6. Cloud9を主たる開発環境として環境構築から解放されるのもなんか違う気がする
7. :point_right: Windows Subsystem for Linux（WSL) + Ubuntuに落ち着く

# 反省点
・全体的に**在り方としてもやり方としても**軸がブレにぶれまくり、学習計画が大幅に遅延
・3月前半はpaiza経由で届いたプラチナスカウトメール着信をきっかけに
「とにかく成長が見込めそうな開発現場に潜り込めさえすれば後はなんとかなる」
という姿勢で企業様にアプローチ
その際弱みとなる過去の経歴の印象塗り替えに腐心していた
・3月後半はほとんど環境構築（開発環境＋本番環境）に終始
・**その間ポートフォリオ作成、Rails学習はほぼ止まっていた**

# 傾向と対策
- 今は選択肢を増やすのでなく、**むしろ多過ぎる選択肢を絞り集中**すべき
- それを意思の力だけで改善するのはどうやら難しい、その為の環境作りが必要
- **SNSや技術ブログ等に割く時間を制限**、paiza経由の企業からのスカウトメールも含め毎日届くメールの多くを**配信停止・退会・解約**
- AD/HD（重度）だとか診断されてる自分には**常日頃から**「決」めて他を「断」つ訓練が人三倍必要
   - むしろ変にマルチタスク対応しようとし始めてから過集中特性を失っていた
   - →元々あった強みでなく弱みのカバーにフォーカスしていた

# まとめ
- 情報のインプットが多すぎて思考と行動の軸がブレていた。
- しかしそこからしっかり学んだ自分は先月より成長している。（筈）
- 他の誰かと自分を比べてどっちが上だ下だ、勝ってる負けてるは自分の課題ではない　それは他の誰かに任せておけ
- 先月の自分より今の自分が成長しているかどうかだけに集中

----
以上
まただいぶ長文になってしまった…

次回以降学習の振り返りアウトプットに割く時間と文字数に対する制限も自動化できる仕組みを作ろう。